Scrum is one of the most popular Agile methods in use today and was originally developed as Easel in 1993 by Jeff Sutherland and Ken Schwaber.
Since that time it has been used at many software companies, which have resulted in the method being extended and enhanced.
The Scrum Framework itself is very simple. It defines only some general guidelines with only a few rules, roles, artefacts and events. Nevertheless each of these components is important, serves a specific purpose and is essential for a successful usage of the framework.
The main components of Scrum Framework are:
- The three roles: Scrum Master, Scrum Product Owner and the Scrum Team
- A prioritised Backlog of User Stories, containing the end user requirements.
- Sprints – Time boxed development (fixed from 5-30 days in duration)
- Scrum Events: Sprint Planning Meeting (WHAT-Meeting, HOW-Meeting), Daily Scrum Meeting, Sprint Review Meeting, Sprint Retrospective Meeting
Important in all Scrum projects are self-organisation and communication within the team. There is no longer a project manager in a classical sense. In the Scrum Framework the Scrum Master and the Scrum Product Owner share their responsibilities. However, in the end the team decides what and how much they can do in a given project Sprint.
Another central aspect within the Scrum Framework is continuous improvement: inspect and adapt. The Scrum Teams have to frequently inspect and assess their created artefacts and processes in order to adapt and optimize them. In the midterm this will optimize the results, increases predictably and therefore minimize overall project risk.
The Scrum Framework tries to deal with the fact that the requirements are likely to change quickly or are not completely known at the start of the project. The low-level requirements are only defined at the time when they are going to be really implemented. In Scrum, changes and optimizations of product, requirements and processes are an integral part of the whole engineering cycle.
Another cornerstone of the Scrum Framework is communication. The Scrum Product Owner works closely with the Scrum Team to identify and prioritise functionality. This functionality is written down in user stories and stored in a Scrum Product Backlog. The Product Backlog consists of everything that needs to be done in order to successfully deliver a working software system.
The Scrum Team is empowered to only select the user stories they are sure they can finish within the time box of Sprints. As the Scrum Team is allowed to commit their own goals they will be more motivated and work with best possible performance.
The Scrum Master is another important role in the Scrum Framework as it works as a servant-master with the Scrum Team.
His/her main tasks:
- make the Scrum team understand how Scrum operates
- protect the Scrum Team from external interruptions
- remove impediments that hinder the Scrum Team to reach its maximum productivity
The Scrum Framework in its simple form is best used for smaller, one-team projects.
But with the introduction of additional roles like the „Chief Scrum Product Owner“ it is also usable in bigger multi-teams and/or distributed-team projects.