Planning Motivation Control

Scrum development methodology

Scrum(skrʌm "scramble") is a project management methodology. The main focus of using this methodology is on the quality control of the development process. Scrum is one of the most popular software development “methodologies”. In addition to managing software development projects, Scrum can also be used to support programs.

In the article "The New Product Development Game" (Harvard Business Review, January-February 1986), Hirotaka Takeuchi and Ikujiro Nonaka noted that projects that small teams of specialists work on tend to produce better results. They referred to the "rugby approach" Scrum(crush, scrum around the ball).

For the first time method Scrum was presented to the general public by the documented, well-formed and described jointly by Schwaber and Jeff Sutherland, who over the next years worked together to describe and present all their experience and best practices for project management into one whole, in the methodology known today how Scrum.

Usage Scrum assumes at the planning stage to divide the software development project into several fixed, short-term iterations, otherwise called sprints Sprint... Each sequential iteration, according to its priority, ends with the provision of a working software with new capabilities to the end user. At the same time, a strictly fixed short sprint duration gives the development process predictability and flexibility.

Scrum Project Management Process

Scrum project terminology

  • Sprint- development stage;
  • Sprint backlog- tasks for the development stage;
  • Project backlog- a list of requirements for functionality.

Sprint iteration

The basis Scrum is an Sprint- the development stage, during which a certain amount of work is performed on the product. Complete project development consists of short stages Sprint's... Functions to be implemented on each Sprint "e are strictly fixed and cannot be changed during the sprint; they are broken down into tasks with ratings and priorities.

Before everyone starts Sprint "a produced Sprint planning where the content is evaluated Project backlog and formed Sprint backlog containing the tasks (Story, Bugs, Tasks) to be completed in the current sprint. Each sprint should have a motivating goal that can be achieved by completing tasks from Sprint backlog.

Sprint is always limited in time (1-4 weeks) and has the same duration throughout the life of the product. At the end Sprint "a a new working, but not final, version of the product should be received.

List of project requirements Project backlog

Project backlog is a document that contains a list of all functional requirements for a project, i.e. a list of the functionality of the program to be implemented. The items on the list should be sorted in order of importance. As the project progresses, the list and priorities may change, depending on the needs of the customer, new ideas or changing conditions.

In the classic Scrum it is understood that the customer of the project can make any changes directly during the project, but not in the current Sprint... In most cases, the software development budget is fixed. This means that the Customer's ability to influence the progress of the execution is also limited. Nevertheless, if necessary, you can draw up an "Additional agreement" to the contract, taking into account the change in the financial component of the project, since the need to add or change any project functions for the Customer is very relevant. This contributes to the development of the project that the client needs, and not what is formally presented in the TK.

Therefore, as Backlog "a, as a rule, a list of tasks from the terms of reference, outlined and enshrined in the contract, is used, plus improvements fixed in additional agreements that arise in the course of work.

Sprint backlog requirements list

Sprint Wish Log Sprint backlog contains project functionality for a specific Sprint stage "a.

Roles in Scrum Project Management

By method Scrum in the production process there are certain roles, divided into 2 groups of "pigs" and "chickens". These names were used due to the following common joke:

The chicken offers the pig: "Let's open a restaurant!" The pig looks at the chicken in surprise and answers: "The idea is good, but what do you want to call it?" The chicken doesn’t think for a long time and answers: “Why not call it“ Fried Eggs and Bacon? ”.
"This will not work," the pig replies, "because then I will have to fully devote myself to the project, and you will be involved only partially."

According to Scrum The pigs create the product, while the chickens are not so interested in the finished product. They do not care whether the project is successful or not, it will have little effect on them. Therefore, the requirements, wishes and ideas of the "chickens" are taken into account, but they are not allowed to directly participate in the course Scrum project.

Classical Scrum uses 3 basic roles ( "Pigs") :

  • Product owner (PO) - the product owner represents the interests of the customer in the project.
    PO is not a member of the development team, but a liaison between the development team and the customer, i.e. this should be a representative of the customer. Since the role imposes high requirements on the experience and competence of the individual in the development and development of the project, and also requires constant personal participation in the project (which is not always possible for the customer), this role is usually performed by the project manager.
  • Scrum master (SM) "serving leader" - a member of the team who enforces the principles Scrum.
    Role SM does not imply any additional powers for the project. A task SM- help the team maximize its effectiveness by removing obstacles, helping, teaching and motivating the team, helping the PO.
  • Development team (DT) is a development team.
    The development team consists of specialists who work directly on the project. According to The Scrum Guide, DT should have the following qualities:
    • should be self-organizing. Nobody (including SM and PO) cannot indicate DT how to convert Project backlog into a working product;
    • must be multifunctional and have all the necessary skills to create a working product;
    • the whole team should be responsible for the project, not its individual members.
    Recommended team size DT, usually 6 ... 8 people. According to ideologues Scrum, a larger team requires too many communication resources, while a smaller team increases the risks (due to the possible lack of the required skills) and reduces the amount of work that can be completed in a certain period of time.

Additional roles ( Ancillary roles) in the methodology Scrum ("Chickens") :

  • Stakeholders clients - persons who initiate the project and for whom the project will benefit. They are involved in Scrum only during the sprint review meeting Sprint Review;
  • Human Resources Managers;
  • expert consultants Consulting Experts.

Work by stages

The main task Product Owner "a connected with keeping the list of tasks for the project up-to-date Backlog and the correct prioritization according to the business objectives of the project. Moreover, in Backlog As a rule, it is not small tasks, such as changing the interface of the form, that fall, but larger business tasks, for example, "to implement a single authorization through social networks."

At the beginning of each stage, the team recruits itself from the list Project backlog as many tasks as she can actually perform in a stage Sprint "a... Divides into subtasks and specifies deadlines.


Sprint Planning Meeting

At the beginning of a new iteration Sprint "a appropriate planning must be carried out. For this from Backlog "a of the project, tasks are selected that are Sprint team DT should do. Based on the selected tasks, a Backlog Sprint "a.

Each sprint task needs to be evaluated in ideal man-hours. The solution of the problem should take from 8 to 16 hours, i.e. no more than two working days. If necessary, the task can be split into subtasks.

During planning, the order of implementation of the entire scope of work is discussed and determined. The duration of the meeting is strictly limited (no more than one working day) and depends on the duration of the iteration and the experience of the team.


Daily monitoring, Daily meetings

Daily meetings, otherwise called Stand-up Meeting held every day. Throughout Sprint "a the team meets regularly at the same time. Each team member DT should answer three questions:

  • What was done yesterday?
  • What will be done today?
  • What are the problems?

When conducting Daily-Meeting it is important not to stoop to discussing the technical details of the project, or formally clarifying the status of the project.

Sprint Stop, Abnormal Termination

Stopping a sprint earlier than planned can be done in exceptional situations. If the team realizes that it cannot reach the sprint goal in the allotted time, then it can stop Sprint... Also, the sprint can be stopped by the project owner if the need to implement the sprint goal disappears.

After the sprint is stopped, a meeting with the team is held DT where the reasons for the stop are discussed. After that, the command proceeds to the execution of the next Sprint "a.

Burndown chart

To visualize the state of the project, a task burnout diagram is used. Burndown chart, showing the amount of work done and remaining work in relation to the total time allocated for the development of the project. The diagram needs to be updated regularly (daily) to show real-time progress and costs in the work on the sprint and project. Burndown chart must be available to all members of the project.

There are two types of chart:

  • a sprint burnout chart, which represents the amount of completed and unfulfilled tasks in the current sprint;
  • a burnout diagram for a project, representing the volume of completed and unfulfilled tasks of the finished software product (usually based on several sprints).

Features of a Scrum project

1. In a Scrum project, changes to requirements can be made at any time.
Thus, you can change Product backlog along the way. This makes it difficult to use the principles Scrum in fixed-cost / fixed-time projects. Ideology Scrum argues that it is impossible to foresee all changes in advance, so it makes no sense to plan the entire project in advance, limiting ourselves to just-in-time planning, that is, planning only those works that should be performed in the next Sprint.

2. In a Scrum project, the main source of reliable information is the empirical experience of the participants.
The Scrum Guide talks about the need for complete and accurate implementation of the provisions Scrum in view of the absence of a formal leader and leader.

3. Team motivation plays an important role in the success of a Scrum project.
One of the basic principles Scrum project are the presence of a multifunctional and self-organizing DT development team. Sociological studies show that the number of self-motivated employees capable of self-organization is not large. Thus, only a small part of employees are able to work effectively in Scrum project without significant changes in roles, which leads to misuse of Scrum principles.

Pros and cons of a Scrum project

One of the main advantages, from the point of view of the Customer, is the quick launch of the Srcum project with the highest priority functions and the lowest possible budget. Thus, Scrum is customer-centric. Scrum provides the client with the ability to make changes to requirements at any point in time, but does not guarantee that these changes will be implemented. The ability to change requirements is attractive to many software customers. In addition, Scrum makes it easier to monitor the progress of work.

However, changes to the requirements Scrum project accompanied by a change in the project budget. A reasonable compromise is the conclusion of a contract for the development of the project with a phased breakdown, plus additional agreements for emerging changes in the course of the development of the project.

An important weakness Scrum is the creation of a multifunctional self-organizing team. Formation of an effective development team for a Scrum project is often associated with a lack of relevant specialists (knowledge + experience + salary) both in the company and in the labor market.

It should be noted that Scrum not suitable for fulfilling government orders, where everything must be agreed upon before starting software development, i.e. TOR was formed and requirements were determined, deadlines were set for stages and a budget was approved.