6.1 Product Backlog
The product backlog is a set of all baseline requirements in a prioritized order, and it is made available to the development team by the product owner. The product backlog is a living document, and it is up to the product owner to keep the product backlog updated.
It is a common understanding that the product backlog should be deep, which means:
- appropriately detailed
- estimated
- emergent
- prioritized
Development teams work according to the product backlog and create a potentially shippable product increment, which is reviewed and presented to the customer. The feedback from the customer is applied to the product backlog. The Developers who will be doing the work are responsible for the sizing. The Product Owner may influence the Developers by helping them understand and select trade-offs.
Product Backlog refinement is an informal development team event that happens during every sprint. In the refinement, everyone in the team, including scrum master and product owner, get together to ensure that work items in the backlog are relevant and useful, and each item is aligned with the overall product roadmap. This is an open session where everybody can express their opinion.
Typical activities during the backlog refinement are:
- Asking the product owner for more information
- Reviewing the highest priority stories at the top of the backlog;
- Deleting stories that are no longer needed;
- Writing new user stories;
- Re-prioritizing and force ranking the stories;
- Re-defining the acceptance criteria;
- Creating new user stories if necessary;
- Estimating or re-estimating stories;
- Re-assessing the relative priority of stories;
- Breaking the epics further into user stories;
- Refining stories to prepare for future sprints;
- Understanding the changing bigger picture of the product architecture as the backlog emerges.
Figure: Item, Size, Estimate, Insert item, Reprioritize items, Original large item, Refine items, Delete item.