In Scrum there is no formal event that covers the refinement of the product backlog. Instead, the Scrum Guide
states that the "Scrum Team decides how and when refinement is done" and that "refinement usually consumes no more than 10% of the capacity of the Development Team."
Over the course of the last three years, I have undertaken the roles of product owner and ScrumMaster on a number of projects. As a PO, I facilitated mid-sprint product backlog refinement sessions in order to provide greater visibility of the product backlog items that were likely to make it into the next sprint. This provided a forum for the development team to ask questions, but it also allowed for the ongoing clarification of requirements up to sprint planning, at which point the product backlog items could be selected (or not). As a ScrumMaster, I recommended this session to POs and helped facilitate this session when required.
In my experience, having a mid-sprint session with the entire Scrum team allows for the backlog refinement process to be kick-started and ensures that the communication channels are open between the product owner and the development team. Furthermore, it helps reduce the length of sprint planning sessions, as there is already a common understanding of requirements across the Scrum team.
In order to provide a greater understanding of the need for product backlog refinement to those new to Scrum, I have put together some FAQs. These are intended as an introduction and to provide advice and guidance on product backlog refinement and the running of a backlog refinement session. However, it should not be forgotten that each Scrum team should decide how and when refinement is done, and what works for one team may not work in the same way for another.
What is product backlog refinement?
Product backlog refinement is the process through which product backlog items are reviewed by the Scrum team and revised, providing more detail and ensuring that there is greater clarity in the requirements for that item.
What product backlog items should be refined?
Any product backlog item should be refined as and when additional information is known about it. However, priority should be given to refining the product backlog items that are likely to be taken into the next sprint. This will ensure that enough information is known about each item to allow for it to be sized, for the plan to be generated during sprint planning as to how the selected product backlog item can be delivered, and to allow for the team to commit to delivering that and other items in the next sprint.
When should product backlog refinement take place?
Product backlog refinement should be an ongoing process. However, some teams find it useful to have a planned mid-sprint session that allows for product backlog items that are candidates for the next sprint to be discussed. This session helps to kick-start product backlog refinement activities, with revisions being finalized during the sprint planning session.
Who should be involved in product backlog refinement?
All members of the Scrum team should be involved in product backlog refinement. This ensures that the whole team understands what is required from each product backlog item that may be taken into a sprint. In addition, you may want to include any UI, UX, DBA, infrastructure experts, etc., who may be involved in the delivery of the product backlog items being refined.
What should I do to refine product backlog items?
There is no one single thing that can be done to refine product backlog items. Each item will need to be refined on its own merits. The goal is that there should be a common understanding across the team of what is required from that product backlog item. This understanding will be gained through conversations between the product owner and the development team. The outcomes of these discussions may include (but are not limited to):
Updates to the product backlog item description (user story)
Updated acceptance criteria
"Given, When, Then" statements
Diagrams (architectural, process flow, UI designs, etc.)
Why have product backlog refinement sessions?
A product backlog refinement session provides value in a number of ways:
It ensures that the team start to look ahead at upcoming product backlog items, reviewing and revising their content.
It allows for any queries over product backlog item content to be raised and answered at an early stage.
It assists the team's understanding of product backlog requirements, allowing for the item to be sized more accurately because refinement may remove some of the unknowns.
It may reduce the length of sprint planning sessions, as the team will have had the opportunity to query/clarify product backlog item requirements prior to the session.
Tasks associated with the delivery of product backlog items can be recorded.
As refinement takes place, unnecessary product backlog items can be removed/deprioritized.
Who should lead the product backlog refinement session?
Product backlog refinement sessions should be led by the product owner. This is his or her opportunity to provide the rest of the Scrum team with the vision for the next sprint. He or she is also likely to have the most knowledge about the upcoming items. If required, the ScrumMaster can aid the product owner in facilitating this session.
Where should a product backlog refinement session take place?
In an ideal world, all the participants for a product backlog refinement session would be in the same room. However, where this is not possible, video/teleconferencing facilities should be used. The key thing is that everyone attending the session has access to, or visibility of, the items being discussed.
What format should the product backlog refinement session take?
There is no set format for a product backlog refinement session. Each team will find the best way to deliver this session for their requirements. Any positive or negative feedback about this session should be raised through the sprint retrospective, with any suggested improvements to the session given due consideration.
What is the output of a product backlog refinement session?
The output from a product backlog refinement session is a shared understanding of the product backlog items that may be taken into the next sprint. Beyond the session, the team has a responsibility to ensure that the product backlog items are updated in line with any discussions held or clarifications made.
How long should product backlog refinement take?
The Scrum Guide suggests that "refinement usually consumes no more than 10% of the capacity of the Development Team."
How do I know when a product backlog item is fully refined?
It is possible that product backlog items will never be fully refined. However, they need to be sufficiently refined so that the development team has a common understanding of the requirement and can size the item and commit to delivering it during the next sprint.
Can a product backlog item continue to be refined once it is included in a sprint backlog?
In order to be accepted into a sprint, a product backlog item will need to have been sufficiently elaborated and the requirements understood by the development team. If, during the sprint/development of the item, there is anything that provides further clarity or there is a necessary change to what is being developed, this should be discussed and agreed on by the product owner and development team before making updates to the sprint backlog item.