A product backlog is a prioritized list of work for the development team that is derived from the roadmap and its requirements. The most important items are shown at the top of the product backlog so the team knows what to deliver first. The Product Owner creates, maintains, and regularly re-orders the Product Backlog. The Product Owner uses the Product Backlog to adapt to emerging requirements, customer feedback, and market changes.
What is product backlog grooming or refinement?
Backlog is defined as the full set of user stories not in the current sprint that defines the remainder of the project's scope. Left unattended, the list of individual items on a product backlog can quickly become overwhelming to any development team. When that happens, the status of individual user stories can become unclear, the team can lose focus on important tasks and they may have trouble estimating the time and resources needed to complete items, and the project completion date can slip. The backlog grooming meeting is attended by the team, the Product Owner, and the Scrum Master. During the meeting, everyone works together to prepare the backlog for the next sprint planning meeting. This might include adding new stories and epics, extracting stories from existing epics, and estimating effort for existing stories.
Objective of Product backlog grooming
A well maintained backlog will prevent sprint planning meetings from lasting an unnecessarily long time. If scrum product backlog items are written with clearly defined acceptance criteria and estimated by the appropriate team members, the planning process won't be stalled with work that could have been accomplished prior to meeting.
Time should be dedicated towards product backlog maintenance to ensure that this preliminary planning always occurs. It also renders lengthy, even tense conversations about estimation, prioritization, etc. irrelevant. In all, product backlog grooming offers the team a chance to discuss stories and modify them in advance of the planning meeting. It might be hard for a team to pull away from its work mid-sprint, but this preventative maintenance will help keep your sprint planning meetings productive and to-the-point.
Why product backlog grooming is important?
- Increases efficiency of the team by greatly reducing uncertainty and unknowns.
- Better refined stories are more accurately estimated, more accurately tested, and more accurately implemented
- Increases efficiency of the team due to the benefit of shared knowledge gained by the entire Scrum team being in the refining.
- Allows the team to maintain a sustainable, higher pace.
- When done well, refining greatly reduces the time required for a Sprint Planning meeting.
Tip for effective Backlog grooming
- Try to never schedule backlog refinement during the first or last 20% of the Sprint
- Treat the backlog refinement meeting just like the first part of the Sprint Planning Meeting
- Make sure the PO knows that, during all of this sprint's backlog refinement sessions, they will be expected to present enough work to last about 2 Sprints *beyond* the current sprint.
- The backlog items should be fine grained and well understood by the PO or a Dev Team member for this meeting to work well. Try to havean initial set of acceptance tests defined before the meeting occurs.
- Make sure everyone understands that estimates are not final until a PBI has been accepted into a sprint.
- Make sure everyone understands that Product Backlog order is not final until a PBI has been accepted into a sprint.
- Keep your eye on the goals of the meeting
- Assign action items for any big risks or unknowns
- Remember that backlog items (and/or User Stories) are a collaboration between the PO and the Dev Team
- Remind the Dev Team to review the PBI's to be discussed about 24 hours prior to the refinement session
- Definitely feel free to split PBI's during this meeting.
- Optimize your time in the meeting.
- Don't be afraid to discuss a couple of items that are farther down the backlog
- Strongly consider doing some informal backlog refinement before the full team backlog refinement
- Don't be afraid to introduce late breaking PBI's. Try to minimize them, but embrace them when they happen.
- Meeting Attendees: The entire Scrum Team + rare appearances by other key people
- Experiment with the amount of refinement that your team does.
- Be sure to retrospect, inspect, and adapt!