Product Backlog Refinement Tips (formerly called Grooming)


Executive Summary

In this article, I discuss some tips for how to do effective Product Backlog Refinement.  “Refinement” is the new term in the Scrum Guide for what used to be called “Grooming” — this changed in 2011 in the Scrum Guide. The primary benefits of backlog refinement are increased productivity, increased understanding/quality, and prevention of delays due to unknowns. Backlog refinement can be a little difficult at first when getting started, but the benefits are large and they appear very quickly, usually after just a couple of Sprints of doing it.  The goal of Product Backlog Refinement is to get Product Backlog Items (PBI’s) that are “Ready” (shared understanding, acceptance criteria, sized) to be brought into a Sprint.  Items are usually brought into a Sprint at Sprint Planning, but they can also be brought in mid sprint at times.

Learn more about great Product Backlog Refinement practices in our /Agile Requirements and Product Owner Techniques classes.

Some Assumptions of this article

  • There are several kinds of Product Backlog refinement, but in this article, I will focus almost exclusively on Weekly Team Product Backlog Refinement, except as otherwise noted.
  • I use Scrum terminology and a 2 week Sprint cycle in this article, but you can translate these concepts to other software approaches and iteration lengths.
  • I will use the more generic Product Backlog Item(PBI) term here, except where I make special mention of User Stories. Pretty much everything in this article also applies to User Stories.
  • Synonyms for Product Backlog Refinement: backlog grooming, sprint preview meeting, user story grooming, detailing user stories, story writing workshop, user story conversations, etc
  • Any time I mention “backlog”, “backlog item” or “item” in this article, I’m referring to the Product Backlog and *not* referring to the Sprint Backlog.

Tips for Effective Backlog Refinement

In my tips articles, I try to describe highly effective ways to fulfill the Scrum framework. The Scrum framework intentionally leaves holes that are opportunities for teams to fulfill the framework in the way that is best for a particular team’s circumstances. The Scrum Guide defines the Scrum framework, and my tips are in no way meant to define or re-define Scrum. My tips are based on my numerous Scrum coaching experiences, and I believe them to be consistent with the Scrum Guide.

Tip – a practice that is definitely worth consideration, but might only be good in a few or very specific contexts or team situations.


Tip #1: Try to never schedule backlog refinement during the first or last 20% of the Sprint.

During the first 20% of the Sprint, the team is just getting started on this Sprint’s work, so you’ll want to give them some room to get a good start. During the last 20% of the Sprint, the team is working hard to get closure on the current sprint items, so that’s not really an ideal time to do it either. That middle 60% of the sprint is a good time to do backlog refinement.


Tip #2: Treat the backlog refinement meeting just like the first part of the Sprint Planning Meeting

  • Often called “The”What” of the sprint planning meeting, this part of the meeting talks about what will be developed in the upcoming sprint.
    • The PO or Dev Team member presents the backlog items (often User Stories), the rest of the team ask for clarifications, and then the items are estimated by the team.
      • The PO then or later might indicate that the order will change based on the estimate. Good! That’s the kind of collaboration that’s supposed to occur!

Tip #3: 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 reason for bringing this much work to the meeting is two fold:
1. Often times PBI’s will be reordered based on feedback in the meeting, so you want enough work leftover that you’ll be ready to fill a sprint.

  • One common reason: External dependencies, or coordination with another group outside this team.

2. It’s a good practice anyway to have some finely refined PBI’s beyond what you’re working on in a Sprint in case someone frees up and needs more work.

The PO may need to collaborate with the team to know how much work 2 Sprints worth is, but it need not be a lengthy discussion — just a very rough guess. Hopefully your team has seen the PBI’s at a Release Planning, PI Planning, or other meeting or in some other backlog refinement discussion meeting. If not, then the PO can discuss the new PBI with a team member or two (informal product backlog refinement) to get a feel for the very rough effort involved (but be sure not to communicate this rough estimate to the team — don’t want to anchor/skew their initial estimates!).


Tip #4: 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 have an initial set of acceptance tests defined before the meeting occurs.

When the PO or a Dev Team member brings a backlog item to the meeting, what you don’t want to hear is, “Ok, I don’t have a lot of details on this item, but I’ve got the basic gist (or first draft) of it.” What you would rather hear is this “I’ve worked on this item and I have informally collaborated with both the customers and the team on it. I have a really good idea of the details of the backlog item as well as the acceptance criteria for the PBI. It’s fairly solid, and I think there’s enough information there to start work almost immediately!”

Even if the initial acceptance criteria are high level, that is better than no acceptance criteria at all. The more the PO and team focus on getting to good detailed acceptance criteria, the better.  Also, see Story Testing Patterns.


Tip#5: Make sure everyone understands that estimates are not final until a PBI has been accepted into a sprint.

Since the team is getting a preview of the PBI’s, don’t let the team stress out too much on the estimates. Let them know that a PBI’s estimate is not final until the PBI has been accepted into the sprint. If someone comes up with new information between the backlog refinement and the time the item is brought into a Sprint, they are free to bring it up and re-estimate the PBI. This brings us to the converse of this tip…


Tip #6: Make sure everyone understands that Product Backlog order is not final until a PBI has been accepted into a sprint.

The PO is free to change the order of the backlog between the backlog refinement and Sprint Planning Meeting. This is ok. We welcome late change, remember? In practice, though, I’ve found big ordering changes happen rarely between the backlog refinement and Sprint Planning meeting, maybe 10% of the time or less.

While it may be frustrating for PBI’s to change order often, remember that this kind of information is something we want sooner rather than later.


Tip #7: Keep your eye on the goals of the meeting

One of the goals of the meeting is that, when it’s over, the team has a handful of PBI’s queued up and “Ready” to roll into a Sprint, and also has, in total, enough for the next two sprints beyond the current one. All major questions have been answered (or at least assigned to someone to answer), and the team feels confident and knowledgeable about the upcoming work. Of course, like everything, not every last detail will be known, but it’s not for a lack of trying. At the end of the meeting you might try asking this of the team: “Of all of the PBI’s that were presented, a) which ones would make you feel very uncomfortable if you had to start tomorrow? and b) which ones do you not feel confident at all in estimating?” If any of these kinds of risk are identified, assign someone to help mitigate that risk before the upcoming sprints. This brings us to our next tip…


Tip #8: Assign action items for any big risks or unknowns

For big requirements issues, this probably means assigning the issue to the PO. For big technology risks or unknowns, this means assigning a dev team member to research the issue at hand. The person assigned should be ready to report on the action item at or before the next refinement meeting or definitely before the item is brought into the Sprint. This will usually involve re-estimating the item based on the new information — and that’s perfectly acceptable. Who does the assigning? In general, to support self organization, the PO and Dev Team members should volunteer to take an action item. The Scrum Master can help by asking questions like: “Who can take this one on and get back to the team on this?”. Avoid having any one dominating person assigning action items to people — that’s not very self organizing.


Tip #9: Remember that backlog items (and/or User Stories) are a collaboration between the PO and the Dev Team

The final responsibility for making sure the PBI’s are adequately detailed for the development team’s use falls on the Product Owner. However, don’t take that to mean it’s the PO’s job to do all that work. The items should be the results of a collaboration between the PO and the dev team(and also probably between the PO and the customers or end users). It is perfectly acceptable, and in fact encouraged, that the PO meet with 1, 2, or all members of the team to help detail a PBI, prior to a refinement session (what I call “informal backlog refinement”). It is also perfectly acceptable if Dev Team members do the vast majority of refinement activities in direct consultation with users and stakeholders. Schedule meetings or have spontaneous collaborations as necessary, with the end goal being a well thought out, well detailed PBI when it is presented at a backlog refinement session. It is very atypical for a PBI to be one that is new to every single developer(The Scrum definition of “developer”) at a backlog refinement session. If this happens, consider it a bad smell and try to get developers involved earlier.

We highly recommend that you read the “Product Backlog Management Leader” section in our very best article on the Product Owner role: The New New Product Owner.

(Worth noting here, the Scrum Master has very little role in Product Backlog Refinement.  Their only real role is to teach the team how to communicate PBI’s with the PO, and how to execute efficient refinement.  Once this is accomplished, the Scrum Master will not attend refinement very often)


Tip #10: Remind the Dev Team to review the PBI’s to be discussed about 24 hours prior to the refinement session.

If your PBI’s are documented in any way before a backlog refinement session (such as in a tool,on a wiki or on index cards), send a reminder to the dev team to review them so they are prepared to speak intelligently about them.

If the PO is making lots of last minute edits right up until the refinement session, much of the information will be seen for the first time in the meeting, which can make the meeting last longer and be more confusing. Ideally, the PO and Dev Team should target their editing efforts at being ready 24 hours prior to the backlog refinement session.


Tip #11: Definitely feel free to split PBI’s during this meeting.

If anyone on the Scrum team feels the need to split items, during a refinement session is a perfect time to do it. You’ll probably want to re-estimate them too, and that’s fine. I hope it also goes without saying that if you split an 8 point PBI there should be no emphasis on making sure that the split out PBI’s all add up to 8 points. Just re-estimate them as if they were new, independent, PBI’s.


Tip #12: Optimize your time in the meeting.

For PBI’s that are well defined, just discuss and quickly estimate. For PBI’s that have already been discussed in a previous refinement session, you only really need to revisit them if there is new information about them. For PBI’s where there is new information, just discuss the new information enough to be able to give a new estimate.


Tip #13: Don’t be afraid to discuss a couple of items that are farther down the backlog

Sometimes there will be a need to discuss a backlog item that is further down the backlog. Here are some reasons for doing that:

  • The PO needs to gauge the rough size of a PBI
  • The dev team needs to identify external dependencies that will need to be started on ASAP while waiting for the rest of the item’s details to be flushed out.

There can be many other reasons, too. While we don’t want to get into a habit of doing BRUF (Big Requirements Up Front) or BDUF (Big Design UP Front), there are rare situations where looking at a backlog item that is farther down the road is advantageous to the team and the organization as a whole. Don’t be afraid to do it, but be wary of slipping back into BRUF and BDUF.


Tip #14: Strongly consider doing some informal backlog refinement before the full team backlog refinement.

  • Informal Product Backlog Refinement
    • The Product Owner or Dev Team members will work with zero or more dev team members or stakeholders to refine stories and their order in the backlog. Said another way, this is a lighter more informal way to refine the items in much the same way the refinement is done in the Weekly Team Backlog Refinement. This kind of informal refinement should be a daily, if not hourly, occurrence for the Product Owner and Dev Team.
      • When the PO gets together with development team members (early collaborators), she should strongly consider making sure that the three amigos are there.
        • Also feel free to bring stakeholders in to discuss.
      • Development team members should feel free to discuss relative sizes with the PO, but I encourage teams to wait to record any estimate until the entire team has estimated the item first. Said another way, the early collaborators should try to avoid skewing or anchoring the entire Dev Team’s estimates.

Tip #15: Don’t be afraid to introduce late breaking PBI’s. Try to minimize them, but embrace them when they happen.

Remain Agile! Some of the major goals around doing backlog refinement are to reduce unknowns and risks, but not all risks are easily identifiable beforehand. Backlog refinement is not meant to eliminate risks, only to minimize them. Late breaking PBI’s will probably still happen (hopefully rarely), and they should generally be welcomed by the team. On the other hand, if it seems like most of your backlog items are late breaking, that is generally a bad smell.


Tip #16: Typical Meeting Attendees: Dev Team, the PO, and rare appearances by other key people

On rare occasions, you will need other key people(end users, stakeholders, architects, etc), but prefer keeping other non Scrum Team members out of the meeting as a general rule unless they have a very specific reason to be there. But certainly do empower the Scrum Team to invite whoever they think will be helpful — people outside the Scrum Team should be “invited” by the Scrum Team — as needed.


Tip #17: Experiment with the amount of refinement that your team does.

In the beginning, until you get “two sprints ahead” (beyond the current sprint), you will need more refinement than normal. After you get caught up, experiment with how much refinement is usually needed to stay “two sprints ahead.” When I coach teams, I usually tell them that 1-2 hours per week is typical, and that until they are “two sprints ahead,” they should double that amount. Don’t use these numbers as hard and fast rules, but instead as a starting place to adjust the time up or down as needed. The Scrum time-box for refinement is 10% of the Dev Team’s time per sprint. For a 2 week sprint, that means the equivalent of 1 full day (8 hours) per sprint for every Dev Team member. I find that most teams can stay well under that time box once they’re “two sprints ahead.”


Tip #18: Be sure to retrospect, inspect, and adapt!

Just like every other Scrum practice, it is absolutely imperative that your team inspects and adapts their practices. If your team feels like backlog refinement is a waste of time, then there are almost assuredly impediments that need removing. Do a “Five Why’s” analysis and read up on good backlog refinement techniques.


Learn more about great Product Backlog Refinement practices in our /Agile Requirements and Product Owner Techniques classes.

Conclusion

If backlog refinement is done well, you can skip the entire “What” part of the Sprint Planning meeting and go straight to decomposing PBI’s in the “How?” part of the meeting. How’s that for a short planning meeting? Most teams will find that having regular product backlog refinement increases overall team knowledge and eventually increases productivity, usually by a large factor.

One Response

  1. […] Product Backlog Refinement Tips (formerly called Grooming) […]

Leave a comment