The agile method Scrum
Scrum is a method for agile software development.
What does the name "Scrum" mean?
Scrum describes a Rugby move, which at first appears as chaotic hustling, which is, however, thoroughly studied. The approach is based on few clear rules which allow to respond flexibly to altered requirements.
Why do we need Scrum?
Software projects are subject to many changes. These projects are often vaguely described in the beginning and progress is hard to measure. It is also not uncommon for basic components, such as programming language, hardware, industry standards, and customer requirements to change over time. A study by Standish Group has shown that only 16% of all IT projects are successful. Thus 84% of all IT projects come to an end with overdrawn time plans or budgets, or with unfinished functions.
Basically, an company working on IT projects has two opportunities: The first opportunity will be to advise the customer, that with an 84% probability, his or her project will last longer than intended, be more expensive than expected, or that functions will not be finished. In any case, the customer will not be excited. The second and more logic opportunity is to increase the success rate of projects. With an iterative and incremental approach, Scrum is based on the second opportunity.
Why Scrum is of interest to you as a customer
- Proceeding strictly according to your priorities
- You regularly receive a functioning status
- You benefit from scientific experience in quality management
- You gain more flexibility
- Your work load will be more evenly distributed
- Scrum teams work sustainably
Compromises in functionality, not quality
Scrum reflects the classical triangle in project management: A compromise between, cost, time, and quality, turns into a compromise in cost, time, and functionality. There are no compromises regarding quality. The advantage for the customer: Throughout the whole project you receive functional software, not only at the end of the project. A software is developed, which will bring joy, and which is not filled with "quick and dirty" solutions.
Agility through self organization and communication
The application of Scrum is easy, since it is based on few, simple rules:
- Allocation and exercising of the roles "product owner", "scrum master" and "team"
- Keeping a prioritized product backlog
- Creation of "deliverable product increments" in clearly defined, short time intervals (sprints)
Self organization and communication within the team play a key role in the execution of projects. There typical project manager, which decides who works on what, no longer exists. Instead, the team decides in meetings, what can realistically be done in certain time frames. To increase communication and development of the team, various meetings are used: the sprint planning session, daily scrum, sprint review and sprint retrospective. Due to set rules, these meetings do not kill time, but assure clear requirement description, early recognition of problems and their solution, as well as a continuous improvement of work flows and thus results.
Sprint Planning Session
The sprint planning session plans the jobs for the next sprint. The product owner explains the scrum and the chosen requirements to the team. He then presents the requirement with the highest priority, which will be discussed to reach a mutual understanding of the requirement. Criteria for acceptance of the requirement at the end of the sprint are also considered.
The team then divides the requirement into all necessary activities, including design, test, and documentation. The tasks are estimated and the team decides, whether it can accomplish all of them in the current sprint. If that is the case, it will be added to the sprint backlog.
Now the requirement with the second highest priority runs through the same process. The team takes only as many requirements into the sprint backlog, as it expects to accomplish.
Another variation of a planning session, which we also use at //SEIBERT/MEDIA, divides it in two meetings: in the first part, we discuss with the product owner, which requirements are scheduled for the sprint. Only after the commitment of the team to the requirements, details are discussed and individual tasks are created in a second meeting.
After clarifying all tasks, the team can begin working on the first tasks.
Daily scrum is a daily meeting of a maximum duration of 15 minutes. It serves self organization of the team and happens every day at the same time and place. In this meeting, each team member answers three questions:
- What have I accomplished since the last daily scrum?
- Which challenges have presented themselves?
- What am I working on for the next daily scrum?
With the help of the daily scrum, a daily PDCA cycle is lived. The meeting starts out by checking in, whether the team has reached the goals it had set in the last meeting. The insights from the previous day can be included in planning the new day.
This meeting helps to assure daily exchange of information and distribution of tasks. All team members are informed on the current progress and the team has the chance to take new measures if needed ("inspect and adapt").
On the last day of a sprint, the team presents their results to the product owner for approval in a sprint review. The sprint review gives the team a set date, by which a potentially deliverable product increment has to be ready. The product owner can only approve requirements, that are completed fully and accurately. Tasks which where started but not finished are categorized as unfinished. The check character of the sprint review clearly shows, what has been accomplished, and what needs to be adapted.
At the end of a sprint cycle is a Scrum. It is very different than the other Scrum meetings. The productive part of the sprint cycle ends with the sprint review. During the sprint review, the collaboration of the team is evaluated openly and honestly. The team discusses problems, without blaming anyone. Reasons for complications are thought through together, in order to tackle the source of the problem, not the symptoms.
The sprint review can be compared with a debriefing after a firefighting mission or in military. Just like the review meeting, the retrospective is intended mainly to check, while focusing on the process and the collaboration, not on the product. The insights of the sprint review and the retrospective will then need to be used to implement ways to improve.
Roles in Scrum
The Scrum is responsible for maximizing the ROI of the project.
The Scrum assists the team in improving it's processes.
The Scrum Team
When talking about the Scrum team, it is generally referred to the team together with Scrum and Product Owner.