He who travels light, goes far.
-- Chinese proverb
Does this kind of conversation sound familiar to you?
Customer: I want abc, because xyz.
Product team: Sorry, we don’t have it now, but I’ll add it to our backlog.
This comes up for me frequently on the Mingle team. We carefully capture all requests and spend time to follow up on each one. However, with each request, the queue keeps getting bigger.
Everything that is not done or has been brought up in conversations comes to our product backlog, including:
After doing this for 4 years, we looked into the data about our backlog and saw the following:
Stories in total vs. stories completed
Yes! We have 2,835 items in the backlog. Prioritization of this queue is not practical at all. It has become a knowledge base for old ideas and the information density is very low because there is simply too much noise.
And another smell of this giant backlog is that we have to separate our technical tasks from this giant queue to make sure they aren’t missed.
We have 2 options:
Either way would work for our team. In fact, we’re planning to do both - use a new workspace to capture high level objectives in backlog, and then manually go through our backlog to understand how to maintain a lean backlog.
I would like to focus on what I discovered during the manual clean up process. I started with 400 items in our backlog. Here is what I did:
We noticed 3 main anti-patterns for user stories in our backlog:
This learning will not only help us to continue to prune our backlog, but more importantly help us to apply these guidelines to new backlog items to prevent waste at an early stage. After filtering out the noise, we will focus on fewer things that are really important.
How do you prune your product backlog?
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.