What is Scrum
Scrum is a framework used by teams to manage their work. Scrum implements the principles of Agile as a concrete set of artifacts, practices, and roles.
The Scrum lifecycle
The diagram below details the iterative Scrum lifecycle. The entire lifecycle is completed in fixed time periods called sprints. A sprint is typically 2-4 weeks long.
Scrum prescribes three specific roles: the product owner, the scrum master, and the scrum team.
Responsible for what the team is building, and why they're building it. The product owner is responsible for keeping the backlog up-to-date and in priority order.
Responsible to ensure the scrum process is followed by the team. Scrum masters are continually on the lookout for how the team can improve, while also resolving impediments and other blocking issues that arise during the sprint. Scrum masters are part coach, part team member, and part cheerleader.
These are the individuals that actually build the product. The team owns the engineering of the product, and the quality that goes with it.
The product backlog is a prioritized list of value the team can deliver. The product owner is responsible for the backlog and adds, changes, and reprioritizes as needed. The items at the top of the backlog should always be ready for the team to execute on.
Sprint planning and the sprint backlog
In sprint planning, the team chooses the backlog items they will work on in the upcoming sprint. The team chooses backlog items based on priority and what they believe they can complete in the sprint. The sprint backlog is the list of items the team plans to deliver in the sprint. Often, each item on the sprint backlog is broken down into tasks. Once all members agree the sprint backlog is achievable, the sprint starts.
Sprint execution and daily scrum
Once the sprint starts, the team executes on the sprint backlog. Scrum does not specify how the team should execute. That is left for the team to decide.
Scrum defines a practice called a daily scrum, often called the daily standup. The daily scrum is daily meeting limited to fifteen minutes. Team members often stand during the meeting to ensure it stays brief. Each team member briefly reports their progress since yesterday, the plans for today, and anything impeding their progress.
To aid the daily scrum, teams often review two artifacts:
The task board
Lists each backlog item the team is working on, broken down into the tasks required to complete it. Tasks are placed in To do, In progress, and Done columns based on their status. It provides a visual way of tracking progress for each backlog item.
Learn more about Kanban task boards.
The sprint burndown
A graph that plots the daily total of remaining work. Remaining work is typically in hours. It provides a visual way of showing whether the team is on track to complete all the work by the end of the sprint.
Sprint review and sprint retrospective
At the end of the sprint, the team performs two practices:
The team demonstrates what they've accomplished to stakeholders. They demo the software and show its value.
The team takes time to reflect on what went well and which areas need improvement. The outcome of the retrospective are actions for next sprint.
The product of a sprint is called the increment or potentially shippable increment. Regardless of the term, a sprint's output should be of shippable quality, even if it's part of something bigger and can't ship by itself. It should meet all the quality criteria set by the team and product owner.
Repeat. Learn. Improve.
The entire cycle is repeated for the next sprint. Sprint planning selects the next items on the product backlog and the cycle repeats. While the team is executing the sprint, the product owner is ensuring the items at the top of the backlog are ready to execute in the following sprint.
This shorter, iterative cycle provides the team with lots of opportunities to learn and improve. A traditional project often has a long lifecycle, say 6-12 months. While a team can learn from a traditional project, the opportunities are far less than a team who executes in two-week sprints, for example.
This iterative cycle is, in many ways, the essence of Agile.
Scrum is very popular because it provides just enough framework to guide teams while giving them flexibility in how they execute. Its concepts are simple and easy to learn. Teams can get started quickly and learn as they go. All of this makes Scrum a great choice for teams just starting to implement Agile principles.
Learn to implement Scrum in Azure Boards.
Larger, more complex organizations may find that Scrum doesn't quite fit their needs. For those cases, check out Scaled Agile Framework.