Lecture
Scrum (from the English " scrum " scrum ) is a project management methodology that is actively used in the development of information systems for flexible software development. Scrum clearly emphasizes quality control of the development process. In addition to managing software development projects, Scrum can also be used in the work of software support teams ( software support teams ), or as a program management and development management approach: Scrum of Scrums .
Hirotaka Takeuchi [1] and Ikujiro Nonaka [2] described the approach in the article The New Product Development Game ( Harvard Business Review [3] , January-February 1986 ). They noted that the projects that small teams of specialists from different fields are working on, usually systematically produce the best results, and explained this as the “rugby approach”. In 1991, DeGrace and Stahl in the book “Unholy Problems, Righteous Solutions” [4] referred to this approach as Scrum ( crush; fight around the ball (in rugby) ), the sports term cited in Takeuti and Nonaka. Ken Schwaber [5] in the early 1990s used the approach that led Scrum to his company. For the first time, the Scrum method was presented to a general review by the documented, clearly formed and jointly described by Schwaber and Jeff Sutherland [6] at OOPSLA'96 [7] (English) in Austin. Schwaber and Sutherland worked together over the next years to process and describe all their experience and the best practical examples for the industry into one, into the methodology that is known today as Scrum. Schwaber joined forces with Mike Beadle [8] in 2001 to describe the method in detail in the book Agile Software Development with SCRUM [9] .
Scrum is a set of principles on which the development process is based, allowing in rigidly fixed and short-term iterations, called sprints, to provide the end user with working software with new features for which the highest priority is determined. Software capabilities for implementation in the next sprint are determined at the beginning of the sprint at the planning stage and cannot be changed throughout its length. At the same time, the strictly fixed short duration of the sprint gives the development process predictability and flexibility.
Sprint [10] - an iteration in the scram, during which the functional growth of software is created. Rigidly fixed in time. The duration of one sprint from 2 to 4 weeks. In some cases, for example, according to the Scrum standard of Nokia, the duration of the sprint should be no more than 6 weeks. Nevertheless, it is believed that the shorter the sprint is, the more flexible the development process is, releases are released more often, feedback from the consumer comes faster, less time is spent on working in the wrong direction. On the other hand, with longer sprints, the team has more time to solve the problems encountered in the process, and the project owner reduces costs for meetings, product demonstrations, etc. Different teams select the length of the sprint according to the specifics of their work, the composition of teams and requirements, often trial and error. To assess the amount of work in the sprint, you can use a preliminary assessment, as measured in history points. The preliminary assessment is fixed in the project backlog. During the sprint, no one has the right to change the list of work requirements included in the sprint backlog.
A project backlog is a list of requirements for functionality, ordered by their degree of importance to be implemented. Elements of this list are called “user wishes” ( user story ) or backlog items ( backlog items ). The project backlog is open for editing for all participants in the scrum process.
Backlog sprint - contains the functionality selected by the project owner from the backlog of the project . All functions are divided into tasks, each of which is evaluated by a scrum team . Every day, the team estimates the amount of work that needs to be done to complete the sprint [11] .
Chart showing the amount of work done and remaining. It is updated daily in order to show in a simple way the progress in the work on the sprint. The schedule should be publicly available.
There are different types of diagrams:
The required functionality that is added to the backlog is often called history. Often the story has the following structure: “As a user of I want to do to get ”. This structure is convenient in that it is understandable both to developers and customers.
A sprint can be stopped before its scheduled end in exceptional situations. Sprint can stop the team if it understands that it can not achieve the goal of the sprint in the allotted time. Sprint can stop the owner of the project , if there is no need for the implementation of the goal of the sprint. After the sprint stops, a meeting is held with the team where the reasons for the stop are discussed. After this, a new sprint begins.
An abstract metric for assessing the complexity of a story that does not take into account the cost in man-hours. Usually, one of the following scales is used: Fibonacci series (1,2,3,5,8,13,21,34,55); linear scale (1,2,3,4 ... n); degree of two (1,2,4,8 ... 2 n ); clothing sizes (XS, S, M, L, XL).
Added to sprint stories. The performance of each task is estimated in hours. Each task should not exceed 12 hours (often the team insists that the maximum duration of a task be equal to one working day).
Criteria that determine the degree of readiness of an element from the user's wish log .
The total number of points scored by the team for the previous sprint. This metric helps the team understand how many stories it can make in one sprint.
According to the Scrum method, there are certain roles in the production process, divided into 2 groups of “pigs” and “chickens”. These names have been used because of a joke [12]
Pig is on the road. The chicken looks at her and says: “Let's open the restaurant!” The pig looks at the chicken and replies: “A good idea, and how do you want to call it?” The chicken thinks and says: “Why not call it“ Bacon-Fried Eggs ”?” . “This will not work,” the pig replies, “because then I will have to devote myself completely to the project, and you will be only partially involved.”
Pigs create a product, while chickens are interested, but not so much - after all, they don’t care whether the project will be successful or not, this will have little effect on them. Requirements, wishes, ideas and influence of chickens are taken into account, but they are not allowed to directly engage in the course of the scrum project.
"Pigs" are fully included in the project and in the scrum process.
Sometimes, additional fields are also used in the backlog of a project , mainly to help the project owner determine his priorities.
Occurs at the beginning of a new Sprint iteration.
During the meeting, each team member answers 3 questions:
Held after the daily meeting scrum. Allows multiple scram teams to discuss work, focusing on common areas and mutual integration. The agenda is the same as in the daily meeting, plus the following questions:
Held at the end of the sprint.
Held at the end of the sprint.
продолжение следует...
Часть 1 Flexible methodologies in software development. Scrum
Comments
To leave a comment
Software and information systems development
Terms: Software and information systems development