The Problem
Over the last few years, I've worked with numerous teams. One thing they all struggle with is backlog grooming. They all know they need to do it. Unfortunately, they all seem to struggle with when to do it or who should do it. The most interesting struggle with backlog grooming happened two years ago. The "story time" meetings took place at the beginning of a month-long sprint. The manager stated, the work to be completed and delivered during that sprint had to be refined within the same sprint. This helped explain why the team thought they needed month-long sprints. When I asked why they would try to refine work the first two weeks of the sprint and then complete that work the second two weeks, you know what their answer was? "It said to do it like that in the Scrum Guide!" After I clarified their misunderstanding, we established a cadence to continuously mature the backlog. A rotating selection of people would participate in the scheduled meetings. We would reserve capacity from each sprint to get that work ready for future sprints. The team was able to shorten their sprints to 2 weeks. They more than doubled their delivery rate without increasing defect rates. With that as an example, over the last few years, I have evolved my practice of backlog grooming. Let’s look at some key dates in the evolution of backlog grooming.
Evolution of Backlog Grooming
2005: "grooming the product backlog" is mentioned by Mike Cohn on what is now the Scrum Users Yahoo Group;
I always have teams allot some amount of time to “grooming the product backlog” to make sure it’s ready for the next sprint.
2008: A formal description of "backlog grooming" is given by Kane Mar, under the name Story Time, and recommending it as a regular meeting
I call these meetings “Story Time” meetings....Although they are not a formal part of Scrum, I’ve found that Story Time greatly improves project planning and reduces confrontational planning meetings, which are all too common for many teams. A Story Time meeting should be held at the same time and location every single week and involve the entire team, including the Product Owner and ScrumMaster. The sole intention of these weekly meetings is to work through the backlog in preparation for future work.
2011: The practice of "backlog grooming" is called "backlog refinement" and promoted to an "official" element of Scrum with its inclusion in the Scrum Guide
Product Backlog refinement is the act of adding detail, estimates, and order to items in the Product Backlog. This is an ongoing process in which the Product Owner and the Development Team collaborate on the details of Product Backlog items. During Product Backlog refinement, items are reviewed and revised. The Scrum Team decides how and when refinement is done. Refinement usually consumes no more than 10% of the capacity of the Development Team. However, Product Backlog items can be updated at any time by the Product Owner or at the Product Owner’s discretion.
2014: Derek Huether from LeadingAgile evolved the practice of backlog grooming with one of his clients, to allow the practice to work better at scale, calling it a "Progression" workshop.
When operating at scale, my client deals with different problems than a standard Scrum team. They're dealing with separate lines of business. They're dealing with multiple delivery teams for each line of business, to include external vendors. They're dealing with a portfolio roadmap that has annual plan items and budgets. Our strategy encapsulated the entire product delivery value stream, while ensuring we had enough architectural runway. We progressed work to be consumed by delivery teams, via a series of workshops.
Progression Workshops
Our progression workshops differ slightly from the story time meeting detailed by Kane Mar and the refinement meeting mentioned in the Scrum Guide. Counter to Story Time, we don't invite the entire team. Instead, we have elevated the workshop to a group some have come to know as a Product Owner (PO) team. The group of people within the PO team will vary, depending on the line of business. Yes, there will be a Product Owner (Product Lead) and facilitator, but from there we'll include the development lead, testing lead, and an architect. We've found two key challenges when operating at scale. First, is there a well defined backlog that is ready enough to be consumed by different delivery teams? Second, is the work being queued up to the delivery teams free and clear of other teams. That is, have we decomposed it in such a way that we've minimized dependencies on other teams? Beyond that, in order to achieve some degree of architectural runway, we continually refactor existing platforms. Architectural changes are not only made incrementally but we require an architect to be present at every progression workshop.
Counter to the Scrum Guide, I'm not going to be proscriptive as to how much capacity the PO Teams do/should commit to progression workshops. The goal is to have enough work ready for delivery teams to consume for a few sprints.
When progressing work, we do expect some artifacts to be generated, to contribute to the teams understanding of what will be developed, tested, and delivered. Below is a partial list of potential artifacts. To be clear, we do not expect all of these to be generated.
Potential Deliverables
- System Context Diagram
- Dependency and Risk Work Items
- System Architecture Guidance Acknowledgement
- Use Case Diagram and document
- Business Process Flow
- Known Business Rules
- High Level Technology Alignment
- Architecture Backlog for Planned Work
- As-Is Data Contracts
- Feature Work Items Assigned to Delivery Team
- Feature Business Value and Acceptance Criteria
- Feature Stack Rank
- Test Strategy
So, that's the high-level view of the Progression Workshop. Most of the time, a feature will require two or more progression workshops before work is ready to be consumed by a delivery team. Once features progress to a defined level of shared understanding, the delivery teams assist in the decomposition of features to user stories. In this way, work is decomposed to the right level of detail for each delivery team.
I'm curious, how have you scaled feature development and backlog grooming in your organizations? What mechanics outside of the standard Scrum process have you found useful to refine work to be completed by delivery teams? Have you evolved Story Time or backlog refinement?
Image Credit: Pictofigo.com