THE SCRUM PRODUCT BACKLOG
In the simplest definition the Scrum Product Backlog is simply a list of all things that needs to be done within the project. It replaces the traditional requirements specification artifacts. These items can have a technical nature or can be user-centric e.g. in the form of user stories. The owner of the Scrum Product Backlog is the Scrum Product Owner. The Scrum Master, the Scrum Team and other Stakeholders contribute it to have a broad and complete To-Do list.
Working with a Scrum Product Backlog does not mean that the Scrum Team is not allowed to create and use other artifacts. Examples for additional artifacts could be a summary of the various user roles, workflow descriptions, user interface guidelines, storyboards, or user interface prototypes. However, these artifacts do not replace the Scrum Product Backlog but complement and detail its content.
The Scrum Product Owner uses the Scrum Product Backlog during the Sprint Planning Meeting to describe the top entries to the team. The Scrum Team then determines which items they can complete during the coming sprint.
Each Scrum Product Backlog has certain properties that differentiate it from a simple to-do list:
- an entry in the Scrum Product Backlog always add value for the customer
- the entries in the Scrum Product Backlog are prioritized and ordered accordingly
- the level of detail depends on the position of the entry within the Scrum Product Backlog
- all entries are estimated
- the Scrum Product Backlog is a living document
- there are no action-items or low-level tasks in the Scrum Product Backlog
Example Scrum Product Backlog
Only entries that add value
Each entry in the Scrum Product Backlog must have some kind of customer value. Entries without any customer value are pure waste and should not be present anyway. The Scrum Product Backlog can include entries for the exploration of customer needs or various technical options, a description of both functional and nonfunctional requirements, the work necessary to launch the product, and other items as well, such as setting up the environment or remediating defects. Some tasks may not add direct value to the functionality. Nevertheless they might add value by increasing quality or reducing incidents in the long term.
The Scrum Product Backlog is changed throughout the whole project. If needed, new requirements are added and existing requirements may be modified, defined in more detail or even deleted. Requirements are no longer frozen early on. Instead the final set of requirements within the Scrum Product Backlog is also developed iteratively, together with the resulting software. This is different to traditional requirements engineering but allows maximizing customer value and minimizes development effort.
Different level of details
The requirements in the Scrum Product Backlog have a different granularity. Only those requirements that shall be implemented during one of the next sprints are defined in greater detail and everything else is more coarse-grained. The simple reason for this is that it does not make sense to invest time and effort into the specification of these requirements, as most of these requirements will have changed anyway until implementation starts.
No low-level tasks
The Scrum Product Backlog shall not contain the detailed requirement information. Ideally the final requirements are defined together with the customer during the sprint. Breakdown and distribution of these requirements is the responsibility of the Scrum Team.
The Scrum Product Backlog is ordered
All entries are prioritized and the Scrum Product Backlog is ordered. The Scrum Product Owner with the help of the Scrum Team does the prioritization. Added Value, Costs and Risks are the most common factors for prioritization. With this prioritization the Scrum Product Owner decides what should be done next.
All entries are estimated
All the entries within the Scrum Product Backlog have to be estimated according to the agreed definition (e.g. story points). This estimation can then be used to prioritize entries in the Scrum Product Backlog and to plan releases.
Working with the Backlog
The backlog needs regular attention and care - it needs to be managed carefully. At the start of the project the Scrum Team and its Scrum Product Owner start by writing down everything they can think of easily. This is almost always more than enough for a first sprint.
After this initial setup, the Scrum Product Backlog has to be maintained in an ongoing process that comprises the following steps:
The Scrum Product Owner is responsible for making sure that the Scrum Product Backlog is in good shape this is a collaborative process. When using the Scrum Framework about 10% of the Scrum Teams total time should be reserved for maintaining the Scrum Product Backlog (discussion, estimation etc.).
- As new items are discovered they are described and added to the list. Existing ones are changed or removed as appropriate.
- Ordering the Scrum Product Backlog. The most important items are moved to the top.
- Preparing the high-priority entries for the next Sprint Planning Meeting
- (Re-)Estimating the entries in the Scrum Product Backlog
The collaborative maintenance of the Scrum Product Backlog helps to clarify the requirements and creates a buy-in from the Scrum Team.