Scrum
In English "scrum." Refers to an approach model for agile software development in project management. It aims to provide self-organizing teams with direction while allowing them as much freedom as possible in implementation.
We have been conducting our projects exclusively in Scrum for some time now, as both our experiences and the feedback from our clients have shown that the advantages outweigh the drawbacks.
ScrumAdvantages
- Increases the project's flexibility
- Recurring events increase the motivation and productivity of the developers
- Testability and adaptability are ensured from the start of the project
- Enhances communication between all stakeholders and the development team
- Creates a better understanding of the features to be developed
What are the fundamental building blocks of Scrum?
The Scrum framework mainly addresses three areas: the team structure, the events held during the project, and the artifacts worked on during the project. The entire set of rules is laid out in the so-called Scrum Guide, a document that is no longer than a few pages.
Team
According to the Scrum Guide, teams should consist of a maximum of 10 people. Such a team is made up of a Product Owner, a Scrum Master, and the developers.
- The Product Owner primarily has the task of keeping the so-called Product Backlog up to date and continuously prioritizing the User Stories to ensure that the development team is working on the right items.
- The Scrum Master, on the other hand, is a servant leader whose role is to support the team, coach for greater productivity, and remove obstacles from outside.
- The development team is responsible for producing a usable product increment in every sprint.
Events
Scrum is an integrative project management framework, meaning that the product is developed in multiple stages called sprints. Within these sprints, there are various meetings that are necessary for coordinating and working on artifacts. The Scrum Guide defines the following events:
- Sprint: A sprint lasts between 1 and 4 weeks. During this time, the development team mainly works on creating a usable product increment.
- Sprint Planning: At the beginning of each sprint, all team members come together for a sprint planning session in which a sprint goal and the scope of work to be accomplished are established.
- Daily Scrum: This is a daily meeting that should not last longer than 15 minutes. The aim of the meeting is for developers to share the current status of their work and possibly reassign tasks among themselves.
- Sprint Review: The sprint review always takes place at the end of a sprint. The review gives the team the opportunity to present the results of the sprint. It is desirable to involve stakeholders from outside the team to gather as much feedback as possible.
- Sprint Retrospective: In the retrospective, the team is given the opportunity at the end of the sprint to discuss any issues that arose during the sprint or within the team. The Scrum Master serves here as a neutral moderator.
Another important meeting, which is not clearly defined in the Scrum Guide, is the refinement. At Ambient, we always conduct this meeting. During the refinement, user stories written by the Product Owner are optimized and estimated with story points.
Artifacts
Scrum also defines three artifacts. These are values created within the sprints.
- Product Backlog: The Product Backlog is a list of loosely defined user stories that together represent the entirety of the product. Working on it creates a commitment to the product's goal.
- Sprint Backlog: The Sprint Backlog defines a goal for the respective sprint and a plan to achieve that goal. Working on this creates a commitment regarding the sprint goal.
- Increment: An increment describes a implemented feature that brings the product closer to its goal. An increment can only be accepted if it meets the definition of done (a set of rules defined by the developers) and has been thoroughly tested by the Product Owner.