Why Your Team Needs to do Backlog Refinement Every Sprint

Eugene LaiMon, 09/23/2019 - 08:51
Subject

Is your Scrum team struggling to deliver working features even after several sprints? Is your team following all of the Scrum events as described by the Scrum Guide, such as Planning, Daily Scrum, Reviews and Retrospectives? Do you have a great team of skilled and dedicated professionals, yet for some reason the results just aren’t meeting expectations?

If so, you may want to consider the following questions that could shed light on the root cause of this situation.

  1. Is the team consistently unable to finish a User Story because the effort keeps growing as more information is discovered about the solution?
  2. Is the team struggling to understand the Acceptance Criteria for the stories during Sprint Planning?
  3. Is the team unable to quickly reach consensus on the relative size of most stories during Sprint Planning?
  4. Is your Sprint Planning consistently taking the entire timebox to complete, yet still feels incomplete afterwards?

If you answer “yes” to any of these, a very likely cause of these symptoms is the quality of your Product Backlog. This could mean a number of issues, such as overly complex stories, poorly defined (or absence of) Acceptance Criteria, stories that have dependencies with other stories, etc. Any of these issues can lead to confusion and inefficient conversations that result in wasted time and poor planning.

To avoid these issues, Backlog Refinement (formerly known as “Backlog Grooming”) can significantly reduce these problems and enhance the effectiveness of your Planning sessions, as well as execution of your sprint activities.

So, how do you implement this Backlog Refinement?

The Scrum Guide suggests that your development team should spend no more than 10% of a sprint refining the backlog in preparation for the next sprint. My experience tells me that this is generally reasonable, but you may wish to do more or less depending on one key question: How mature is your Product Backlog? If your Product Backlog is in good shape, you probably don’t need to spend as much time on this.

Here’s a simple flow that you can try out as a starting point:

  1. Schedule a weekly meeting to do Backlog Refinement. Invite your Product Owner, Scrum Master, a SME/Architect, and possibly a Lead Engineer. There’s no need to include the entire team unless you see value in doing so; that’s a case-by-case decision.
  2. Review each story to ensure you are following the INVEST technique.
  3. Come up with a rough estimate for each story, using T-shirt sizing (Small, Medium, Large, X-Large). This is faster and more efficient than doing Planning Poker.
  4. Go through as many stories as you can within the scheduled timebox.
  5. Before each meeting, have a quick check-in to confirm whether this meeting is needed. A good time to do this is after the Daily Scrum the day before the scheduled Refinement meeting. If the team agrees that the backlog is in good shape, then cancel the meeting!

In closing, having a high-quality Product Backlog is a critical step to prepare the pipeline in advance of the launch of a new sprint. If your team is having execution issues, improving this aspect of your team’s operation could make a tremendous difference.