Core Scrum — Artifacts and activities
Artifact: Product backlog
The product backlog is an essential artifact in Scrum. It is an ordered list of ideas for the product, kept in the order in which the team expects to do them. It is the single source from which all requirements flow. This means that all the work the development team does comes from the product backlog. Every feature idea, enhancement, bug fix, documentation requirement -- every bit of work the team does -- is derived from a product backlog item. Each item on the product backlog includes a description and an estimate of the team capacity required to produce it.
The product backlog may begin as a large list or a short one. It may be vague or detailed. Typically, it begins short and vague and becomes longer and more concrete as time goes on. Product backlog items slated for implementation soon will be clarified, better defined, and split into smaller chunks as part of the product backlog refinement activity.
The Product Owner is accountable for maintaining the product backlog, although he or she may — and should — have help in producing it and keeping it up to date. Individual product backlog items may originate from the Product Owner, from team members, or from other stakeholders.
Activity: Product backlog refinement
Since product backlog items are often large and general in nature, and since ideas come and go and priorities change, product backlog refinement is an ongoing activity throughout a Scrum project. This activity includes but is not limited to:
Keeping the product backlog ordered
Removing or demoting items that no longer seem important
Adding or promoting items that arise or become more important
Splitting items into smaller items
Merging items into larger items
One key benefit of the product backlog refinement activity is that it helps prepare for upcoming sprints. Considerations include but are not limited to:
Whether each item entering the sprint truly represents an increment of "business value"
Whether the development team needs to be able to build each item within just a single sprint
Whether everyone on the team has a clear understanding of the purpose of each item
Depending on the nature of the product, other skills and inputs may be necessary. In every case, product backlog refinement is best considered as an activity for all team members, not just for the Product Owner.
Activity: Sprint planning
Each sprint begins with a time-boxed meeting called the sprint planning meeting. In this meeting the Scrum team collaborates to select and understand the work to be done in the upcoming sprint.
The entire team attends the sprint planning meeting. Working from the ordered product backlog, the Product Owner and the development team members discuss each item and come to a shared understanding of that item and what is required to complete it according to the current Definition of Done. All Scrum meetings are time-boxed. The recommended time for the sprint planning meeting is two hours or less per week of sprint duration. Because the meeting is time-boxed, the success of the sprint planning meeting is highly dependent upon the quality of the product backlog going in. This is why product backlog refinement is an important Scrum activity.
In Scrum, the sprint planning meeting is described as having two parts:
Determine what work will be completed in the sprint
Determine how the work will be accomplished
Part one: What work will be done?
In the first part of the meeting, the Product Owner presents ordered product backlog items to the development team, and the whole Scrum team collaborates to understand the work.
The number of product backlog items to undertake in the sprint is solely up to the development team. To decide how many items to undertake, the development team considers the current state of the product increment, the past performance of the team, the team's current capacity, and the ordered product backlog. The development team alone decides how much work to take on. Neither the Product Owner nor any other agency can push more work onto the development team.
Often, but not always, the sprint has a goal. Having a sprint goal is a strong practice that helps everyone focus more on the essence of what needs to be done and less on small details that may not truly be important for the final product.
Part two: How will the work be accomplished?
In the second part of the meeting, the development team collaborates to decide how to produce the next product increment in accordance with the current Definition of Done. The team does sufficient design and planning to be confident of completing the work during the sprint. Work to be done in the early days is broken down into small units of one day or less. Work to be done later may be left in larger units to be decomposed later.
Deciding how to do the work is the responsibility of the development team, just as deciding what to do is the responsibility of the Product Owner.
The Product Owner needs to be readily available to the team even if he or she does not attend this part of the meeting. However, the Product Owner may remain to answer questions and resolve misunderstandings.
Result of sprint planning
Sprint planning concludes with the Scrum team reaching a common understanding of the quantity and complexity of what is to be accomplished during the sprint and with a rational expectation of being able to complete it. The development team forecasts the amount of work it will complete and commits to accomplishing it.
To summarize, in the sprint planning meeting the development team:
Considers and discusses product backlog items with the Product Owner
Ensures that all team members understand those items
Selects a number of items to achieve
Creates a sufficiently detailed plan to ensure that achievement
The resulting list of things to do is the sprint backlog
Artifact: Sprint backlog
The sprint backlog is the list of refined product backlog items chosen for development in the current sprint, together with the team's plan for accomplishing that work. It reflects the team's forecast of what work can be completed.
With the sprint backlog in place, the sprint begins, and the development team develops the new product increment defined by the sprint backlog.
During the sprint, the development team self-organizes to produce the defined product increment. Self-organizing means that the development team determines how to produce and then does produce the product increment, in accordance with organizational standards, according to the Definition of Done.
Artifact: Product increment
The most important Scrum artifact is the product increment. Every sprint produces a product increment that must be of high enough quality to be given to users. The product increment must meet the Scrum team's current Definition of Done, and each component of it must be acceptable to the Product Owner.
Additional indicators of visible progress
Scrum requires transparency within the team and outside the team. While the product increment is the most important way of creating transparency, the Scrum team will create any other artifacts that are needed to make sure that the status of the project is understood. Such artifacts commonly include burn charts and task boards.
Definition of Done
When the product increment is delivered, it needs to be "done" according to a shared understanding of what "done" means. This definition is different for every Scrum team, and as the team matures the Definition of Done will expand and become more stringent.
The Definition of Done must always include the notion that the product increment be of high enough quality to be shippable: The Product Owner could choose to release it immediately. The product increment includes the functionality of all previous product increments and is fully tested so that all completed product backlog items continue to work together.
Activity: Daily Scrum
The self-organizing development team uses the daily Scrum meeting to ensure that it is on track for attaining the sprint goal. The meeting takes place at the same time and place, every day. Each development team member gives three pieces of information:
What I have accomplished since our last daily Scrum
What I plan to accomplish between now and our next daily Scrum
What (if anything) is impeding my progress
There may be brief, clarifying questions and answers, but there is no discussion of any of these topics during the daily Scrum itself. However, many teams meet right after the daily Scrum to work on any issues that have come up.
The daily Scrum is not a report to management, nor to the Product Owner, nor to the ScrumMaster. It is a communication meeting within the development team that ensures that team members are all on the same page. Only the Scrum team members, including ScrumMaster and Product Owner, speak during this meeting (although other interested parties may come and listen). Based on what comes up in the meeting, the development team reorganizes the work as needed to accomplish the sprint goal.
The daily Scrum is a key element of Scrum, leading to transparency, trust, and better performance. It provides rapid recognition of problems and builds the team's self-organization and self-reliance. All Scrum meetings are timeboxed; the recommended timebox for the daily Scrum is no more than 15 minutes.
Activity: Sprint review
At the end of the sprint, the Scrum team and stakeholders review the sprint's output. The recommended timebox for the sprint review is one hour per week of sprint duration.
The central point of discussion is the product increment completed during the sprint. It is generally both wise and helpful for the stakeholders to attend this meeting, since they are directly interested in the product. This is an informal meeting to look at where the team is and to collaborate on how it might go forward. Everyone has input at the sprint review. Naturally, the Product Owner makes the final decisions about what happens next, updating the product backlog as appropriate.
Every teams will find its own way to handle the sprint review. A demonstration of the product increment is a common procedure. Groups also often discuss what they observed during the sprint and what product ideas came to mind. They discuss the state of the product backlog and talk about possible completion dates and what might be achieved by those dates.
The sprint review gives everyone present an overview of the current product increment; therefore, it is common to update the product backlog as part of the sprint review.
Activity: Sprint retrospective
The Scrum team improves its own process, always remaining within the Scrum framework. Therefore, at the end of each sprint, the Scrum team meets for the sprint retrospective. The purpose is to review how things went in terms of the process, relationships among people, and the tools. The team identifies what went well and what didn't go so well, and it identifies potential improvements. The recommended timebox for the sprint retrospective is one hour per week of sprint duration.
This Scrum cycle repeats for every sprint.
To sum up, the Scrum team's members (the Product Owner, the development team, and the ScrumMaster) collaborate to create a series of product increments during short, time-boxed intervals called sprints. Each increment meets the Product Owner's acceptance criteria and the team's shared Definition of Done. The team works from a product backlog. During each sprint, the team begins with sprint planning to produce the sprint backlog, which is a plan for the sprint. The team self-organizes to handle the development, using daily Scrum meetings to coordinate and to ensure that they are producing the best possible product increment. The team performs product backlog refinement to prepare for the next sprint's planning meeting. It ends the sprint with the sprint review and sprint retrospective, reviewing the product and the process.
For more advanced Scrum topics, including GASPs, visit the Agile Atlas.