Maintaining a Healthy Backlog
Our prior post, Evolution of a User Story, provides a better understanding of how a new feature or product transforms from high-level epics to sprint-sized or incremental stories. Let’s zoom out now and focus on how your backlog will be affected while user stories are evolving, grooming sessions are happening, and sprints are in progress. Refer back to the Evolution of a User Story if you would like details on terminology used.
Here is a generic breakdown of how two features might be decomposed through the grooming process over time. In our example, we are going to back up some and pretend that not all of the decomposition has happened yet to reflect how the timing of these things work in reality.
- First, you can see we are working from a prioritized backlog. The idea here is that the Product Owner (PO) has been working with the team and stakeholders through a series of backlog grooming and stakeholder review sessions that resulted in the backlog being prioritized in its current state.
- The top three stories were selected in the first sprint and worked on to completion.
- Meanwhile, B3, which is currently a feature story, is being further decomposed into sprint-sized stories in a backlog grooming session.
Let’s fast-forward the clock to the end of the next sprint.
You can see:
- An additional 2 stories were selected and completed in the second sprint.
- New green stories have entered the mix and some of them have been been prioritized to the top of the backlog. And for clarification, these could actually be new stories that have been identified as high-priority or they may have existed all along, but new information has caused them to be elevated in priority.
- And you can see two of the sprint-sized stories (B3a and B3b) have replaced their parent feature story.
Now we’ll jump ahead to 2 sprints.
- The first 3 sprints worth of work has been released.
- Four of the stories were completed in the fourth sprint.
And here is a different graphic to show your backlog in the context of a funnel.
Key takeaways from this graphic:
- At the top of the funnel it is okay that stories and epics are large and have a lot of uncertainty. As they flow down and get closer to the end where they will flow into sprints we need to tackle the details and work with the development team to make sure we are in agreement on scope.
- I’ve exaggerated the funnel walls here to illustrate that the funnel narrows from top to bottom. The point being that large epics cannot flow directly into a sprint. They must go through a process of decomposition where the result will be incremental stories which the team can handle that will also deliver value.
- As epics are decomposed, you will find that you may defer certain stories until later or you may decide to never implement them.
- Prioritization will rely heavily on team estimation. If the team says you can get 3 of the smaller stories or 1 of the larger stories the PO is now armed with information that can be used at a stakeholder backlog review meeting for prioritization.
In my opinion, there are two keys to maintaining a healthy backlog:
- A regular cadence of grooming which includes backlog grooming and stakeholder backlog review sessions.
- Good communication between the stakeholders, PO, and development team.
We have put together a list of general questions that we typically ask while assessing the health of a backlog. How many of these can you answer and feel good about with your backlog?
- Do you have a prioritized backlog of user stories?
- Do your stories have estimates from the development team?
- Do you have 2-3 sprints worth of incremental or sprint-sized stories?
- Do your sprint-sized stories have acceptance criteria (the what, not the how)?
- Do you have high-level notes on your epics and feature stories?
- Do you have a regular backlog grooming meeting scheduled? How often and who is attending?
- Do you have a regular stakeholder backlog review meeting scheduled? How often and who is attending?
- Do you have an idea of your current sprint velocity? This one is indirectly related since we want to make sure we are keeping enough in our pipeline in the way of sprint-sized stories. It is also good information to know.