Flexible development methodology “Scrum”

    I continue to work on a dissertation on project management. Today we will briefly look at Scrum, look at typical errors that lead to problems. This post does not claim to be complete, it is a review and is addressed to those who are not familiar with Scrum, or only partially familiar (for example, it works in a modified Scrum).

    Currently, Scrum is one of the most popular software development methodologies. According to the definition, Scrum is a development framework with which people can solve emerging problems, while productively and producing products of the highest importance (from the point of view of the client - author's note) [1].

    This suggests that in Scrum it is impossible to find answers to all questions and instructions for action in all situations (for example, the official description of Scrum only indicates the need to estimate the time required to complete the work, but does not specify the type of assessment. it can be planning poker and another way of evaluation). Thus, the name of the topic itself is not true :)

    When they talk about the Scrum methodology, most often they mean a flexible software development methodology based on Scrum rules and practices, so it may well turn out that your Scrum is cooler than my Scrum, and also be from it as far away as the VAZ 7 from the BMW 7 Series :) The

    authors of Scrum announced the following features:
    -Easy (Eng. Lightweight)
    -Intelligible, affordable
    -Difficult to learn
    (almost mutually exclusive paragraphs)


    Roles in Scrum

    There are 3 basic roles in the classic Scrum:
    - Product owner
    - Scrum master
    - The Development team The

    product owner (PO) is the link between the development team and the customer. The objective of PO is to maximize the value of the product being developed and the work of the team.

    One of the main tools of PO is Product Backlog. Product Backlog contains the necessary work tasks (such as Story, Bug, Task, etc.) to be performed, sorted in order of priority (urgency).

    Scrum master(SM) is the “servant-leader”. The task of Scrum Master is to help the team maximize its effectiveness by removing obstacles, helping, training and motivating the team, helping the PO.

    The Development team (DT) consists of specialists who directly work on the product. According to The Scrum Guide (a document that is an official description of Scrum from its authors), DT should have the following qualities and characteristics:
    -Be self-organizing. No one (including SM and PO) can tell the team how to convert the Product Backlog into a working product -
    Be multi-functional, have all the necessary skills to release a working product
    -The entire team is responsible for the work performed, and not the individual team members. The

    recommended team size is 7 (plus or minus 2) people. According to Scrum ideologists, larger teams require too much communication resources, while smaller teams increase risks (due to the possible lack of required skills) and reduce the amount of work that a team can do per unit of time. [1]

    Scrum process

    The basis of Scrum is Sprint, during which work on the product is performed. At the end of Sprint, a new working version of the product should be received. Sprint is always limited in time (1-4 weeks) and has the same duration throughout the life of the product.

    Before each Sprint starts, Sprint Planning is performed, on which the content of the Product Backlog is evaluated and the Sprint Backlog is formed, which contains the tasks (Story, Bugs, Tasks) that must be completed in the current sprint. Each sprint should have a goal that is a motivating factor and is achieved by completing tasks from the Sprint Backlog.

    Every day, Daily Scrum is held, on which each member of the team answers the questions “What did I do yesterday?”, “What do I plan to do today?”, “What obstacles did I encounter in my work?” The task of Daily Scrum is to determine the status and progress of work on Sprint, early detection of obstacles that have arisen, development of decisions on changing the strategy necessary to achieve Sprint's goals.

    At the end of Sprint, Sprint Review and Sprint Retrospective are produced, the task of which is to assess the effectiveness (productivity) of the team in the past Sprint, to predict the expected effectiveness (productivity) in the next sprint, identify existing problems, assess the likelihood of completion of all necessary work on the product and more .

    The schematic representation of the process is shown in the following figure:

    Important, often forgotten features

    You can often hear that Scrum is not working, or is working worse than expected. It should be noted that most often this happens for one of the following reasons:

    1. Scrum is applied incorrectly or incompletely.
    According to the authors of Scrum, empirical experience is the main source of reliable information. The need for full and accurate implementation of Scrum is indicated in The Scrum Guide and is due to the atypical organization of the process, the lack of a formal leader and leader.

    2. The importance of working to ensure team motivation is underestimated.
    One of Scrum's core principles is self-organizing, multi-functional teams. According to research by sociologists, the number of self-motivated employees capable of self-organization does not exceed 15% of the working population [2].
    Thus, only a small part of employees is able to work effectively in Scrum without significant changes in the roles of Scrum master and Product Owner, which contradicts the ideology of Scrum, and potentially leads to incorrect or incomplete use of Scrum.

    3. Scrum is used for a product whose requirements are contrary to the ideology of Scrum.
    Scrum belongs to the Agile family, so Scrum welcomes changes in requirements at any time (Product backlog can be changed at any time). This makes it difficult to use Scrum in fixed-cost / fixed-time projects. Scrum's ideology claims that it is impossible to foresee all the changes in advance, so it makes no sense to plan the entire project in advance, confining itself to just-in-time planning, i.e., to plan only the work that needs to be done in the current Sprint. [3] There are other restrictions.

    Advantages and disadvantages

    Scrum has quite attractive advantages. Scrum is customer oriented, responsive. Scrum gives the customer the ability to make changes to requirements at any given time (but does not guarantee that these changes will be implemented). The ability to change requirements is attractive to many software customers.

    Scrum is quite simple to learn, saves time by eliminating non-critical activities. Scrum allows you to get a potentially working product at the end of each Sprint.
    Scrum focuses on a self-organizing, multi-functional team that can solve the necessary tasks with minimal coordination. This is especially attractive for small companies and startups, as it eliminates the need for hiring or training specialized personnel for managers.

    Of course, Scrum has important flaws. Due to its simplicity and minimalism, Scrum sets a small number of fairly strict rules. However, this conflicts with the idea of ​​customer focus in principle, since the internal rules of the development team are not important to the client, especially if they limit the client. For example, if necessary, by the decision of the Sprint client, the backlog can be changed, despite the apparent contradiction with the Scrum rules.

    The problem is bigger than it seems. Because Scrum belongs to the Agile family; Scrum does not adopt, for example, the creation of a communication plan and risk response. [3] Thus, making it difficult or impossible to formally (legally or administratively) counteract violations of Scrum rules.

    Another weak feature of Scrum is its emphasis on a self-organizing, multi-functional team. With an apparent reduction in the cost of coordinating the team, this leads to an increase in the costs of selecting personnel, their motivation, and training. Under certain labor market conditions, the formation of a full-fledged, effective Scrum team may be impossible.

    List of references

    [1] The Scrum Guide. The definitive Guide to Scrum: The Rules of the Game. (Ken Schwaber, Jeff Sutherland)
    [2] Management Psychology, study guide. (A. A. Trus)
    [3] How a Traditional Project Manager Transforms to Scrum: PMBOK vs. Scrum. (Jeff Sutherland, Nafis Ahmad)

    Thank you in advance for these errors and inaccuracies!

    Also popular now: