Let's talk about the backlog refinement process, once known as backlog grooming. You might know the Pareto principle and the philosophy of doing 80% of the work with 20% effort. It sounds wonderful, right?
On the other hand, refining a product backlog, updating backlog items and estimates might seem like a luxurious activity one postpones until they’re free from other activities in the agile process.
However, that’s not the case. Refining the backlog is indispensable. Sometimes, the power lies in the details, and with backlog management, that couldn't be truer.
Backlog refinement resembles great chefs developing their new recipes. 🍳 That's because besides details, refining a backlog demands a great deal of filling in the gaps and adjusting.
Join us as we discuss what refining a backlog entails. We'll look at what it is, its importance, the details of how to do it, and some key tips.
First things first, let’s look at what backlog refinement is.
About backlog refinement
Backlog refinement is like pruning a plant: You discard the branches that are no longer necessary so you can help the plant grow the right way.
That means that you already have items in your backlog, but they might need some information or an update before they’re implemented. Also, some items might even need to be cut off from the backlog.
Refining the backlog saves time and money by ensuring that its items are ready for development at the right time. It also ensures that no customer-valuable item is forgotten. On the other hand, it guarantees that only customer-valuable items are implemented. All of this helps you retain customer focus.
Pick up your pruning shears, because we’re about to help you trim your backlog. ✂️
The Product Owner most likely schedules work sessions to refine the backlog.
These backlog refinement sessions should be regular, though you can refine the backlog more informally as long as it's an ongoing process. Besides the Product Owner, some of the Scrum team members can participate. Remember that the Development Team, the Scrum Master, and Product Owner are the Scrum Team. Although the Product Owner can update the backlog themselves, it's a great practice to involve the team.
Besides keeping the backlog up-to-date and complete, backlog refinement involves:
- Splitting broad user stories or other types of backlog items such as tasks or bugs, plus adding detail to them to improve comprehension
- Adding or reviewing estimates to issues, as estimation is crucial to sprint planning
- Ordering backlog issues to deliver high-priority ones in the next Scrum iteration
Important: Keep in mind that the customer ultimately determines the priorities. That’s one of the reasons why backlog refinement should be customer-centric.
Tools that help you keep your backlog customer-centric will also help you deliver better for your customers. Easy Agile TeamRhythm lets you view your backlog and sprints in the context of the user story map, so you the whole team can see at a glance the work that is most important to your users.
Now that you know what refining a backlog is and who’s involved, let’s cover how to do it.
How to refine a backlog
There are so many ways of refining a backlog that it would be impossible to give you the best one.
- You could refine — split and detail — first and estimate second, starting with the least understood items first.
- You could estimate first to conclude on items that demand refinement before estimation and only then refine high-effort items if necessary.
- You could use a dedicated tool to help you refine or estimate, such as Easy Agile TeamRhythm, or you could just rely on a spreadsheet or a whiteboard and pen.
When refining the backlog, the Product Owner and the involved team members pursue the following goals:
- Make sure the backlog is accurate, which means that it contains all the necessary items.
- Maintain the prioritization of those items.
Ensure the delivery of the most important items, which should be on top of the backlog.
In the course of refinement, those involved might need to revive the product vision and the product roadmap. It might also be helpful to create user personas and define acceptance criteria, especially for item detailing.
Do you know what a backlog item ready for a sprint looks like? If not, develop a definition of done as well as a definition of ready. Then, to achieve item readiness, work out items such as:
- Sharing an understanding of the acceptance criteria
- Agreeing on a structure for the full description of different kinds of item
- Defining a clear view of dependencies between items
- Identifying the subject matter expert for each item
Finally, you should refine high-priority items first. Those are the ones developers will implement first in the next sprint.
Remember that backlog refinement is the set of all activities that have to do with managing backlog items. But there’s a thing: Backlog refinement doesn't have a time-box. According to the Scrum framework, it's not one of the Scrum events. Instead, it's a continuous crusade, and it's not necessarily a meeting (although it can be).
As you get used to backlog refinement, you can use the following questions to evaluate your progress.
Backlog refinement checklist
While goals are nice to have, you need to carry out specific actions to achieve them. So, here's a checklist that you must regularly go through. You can use it to either evaluate if the backlog needs refinement or confirm that refinement is done for the moment.
- Does the backlog contain user stories or other kinds of items that no longer make sense?
- Did you elicit any user need that's not yet in an appropriate form of backlog item?
- Does your customer expect you to implement any urgent item that's at the bottom of the backlog?
- Did the importance of delivering any item change since the last time you looked at the backlog?
- Does the backlog have any item for which no agile estimate exists?
- Is any estimate outdated?
- Is any backlog item too broad to understand what developers should implement in the next sprint?
You can only claim to have a refined backlog when you answer "No" to all the above questions. Until then, keep working on it, and avoid the below traps.
WATCH ON DEMAND: Eliminate your flat backlog
What to avoid with backlog refinement
1. Ask more experienced team members to detail backlog items or provide estimates. For instance, junior developers aren't well-equipped to do this — talk with more senior team members about these topics.
2. Involve select team members. Talking with the entire team tends to just add noise. And, as we mentioned above, you should try to involve more experienced team members rather than more junior people.
3. Document your decisions. This is terribly important. Human memory is unreliable. So, to repeat good decisions and avoid bad ones, document both over time.
4. Do not excessively detail backlog items. Or you risk developers not knowing what to do with them. A great way to avoid this is involving some members of the Development Team in backlog refinement.
5. You shouldn't refine backlog items currently under development. You should refine the backlog for the next sprint or subsequent sprints.
6. Don't refine the backlog of the current sprint until it ends. You might feel tempted to only refine backlog items until the very last minute. That isn't good. Unexpected things happen, such as busy agendas, and discussions that take longer than anticipated...as a result, you might not deliver what's expected.
7. Avoid disagreements on estimates. That's usually a sign that refinement is lacking for that item. Listen to those people who suggest the highest or the lowest estimates. They're usually the ones who didn't understand the items because of either missing or too much information.
8. Get multiple people to weigh in on estimates. Although only asking one person may speed up the estimation, that doesn’t demonstrate a shared understanding. And that's something you should be keen about in backlog refinement.
If you’re unsure whether you need to do this process, take a look at the below benefits.
The value of refining your backlog
Backlog refinement can save you time and money. Back in the old days, someone would basically engrave a requirement specification document in stone before development. With the rise of agile, that's ancient history.
A backlog contributes massively to the success of an agile project. It’s a living document, which means it changes over time. But while it changes, it must remain accurate. And there are no strict rules when it comes to refining a backlog. That means, for instance, that not every item requires detail.
However, the Product Owner should guarantee that the backlog items are ready for scheduling. 📅 And without backlog refinement, that would be a Herculean task.
Imagine meeting a sprint goal without:
- Enough information about backlog items or items with heavy, complex descriptions
- Outdated estimates or no estimates at all
- High-priority items forgotten at the tail of the backlog
- Items that reside only in people's heads or no longer represent value to the customer
Here’s what you would face:
- Crazy development calendars
- Undelivered items
- Items delivered late
- Insane budgets
That wouldn't definitely be a good prognostic for customer retention.
Backlog refinement is an essential process
If you think of space missions and compare them to backlog refinement, the backlog is your mission guide. 🚀 And unless you have a refined backlog, your mission guide will get you no farther than your backyard. 😨
Backlog refinement should help you in your quest to have a permanently relevant set of items in your backlog. And by relevant, we mean complete, valuable, detailed yet straightforward, recently estimated, and correctly ordered.
While it’s VERY easy to forget about the importance of backlog refinement, don't. Focusing on the current sprint is essential, but delivering a satisfactory product is the most important thing. And an appropriately refined backlog helps team spirits.
Additionally, you don't want to be that Product Owner who gets a bucket full of questions during a sprint planning meeting. That's a strong indication that backlog refinement failed epically.
Easy Agile TeamRhythm can help you refine user stories by enabling you to:
- Register estimation in user stories
- Drag and drop user stories to prioritize by customer value and business value
Try out these tips during backlog refinement. We’re sure you’ll love it, and if you need a hand, we’re here and happy to help.