Agile Backlog Refinement with SpiraTeam | Inflectra

Agile Backlog Refinement with SpiraTeam

November 8th, 2018 by inflectra

One of our customers had some questions about using SpiraTeam to manage and refine the product backlogs. Since this topic comes up quite a bit, we thought it would be useful to write an article that describes how we recommend using SpiraTeam for backlog planning, management and refinement in a typical Scrum project.

What is a Product Backlog

A product backlog is a prioritized list of work for an agile project team that is derived from the overarching product roadmap and its ideas and requirements. The most important items are shown at the top of the product backlog so the team knows what to deliver first. The Product Owner creates, maintains, and regularly re-orders the Product Backlog. The Product Owner uses the Product Backlog to adapt to emerging requirements, customer feedback, and market changes.

Typically a Product Backlog will consist of planned items called requirements, features, or user stories, technical considerations (often called the -ilities, qualities or non-functional requirements) such as performance/scalability, refactoring items (to continually improve the architecture and avoid bloat), research tasks, and of course unplanned incidents (defects, change requests, bugs).

What is Backlog Grooming / Refinement and Why Do It?

One of the key tenets of the agile manifesto is to "embrace change", in contrast to traditional methodologies (e.g. waterfall, V-model), you deliberately request customer and end user feedback as frequently as possible (at the very least, after each completed sprint/iteration of work is delivered) so that things that have been learned during the sprint are used to change the priorities of the next items in the backlog. For example, you may have a high-level roadmap with some features that make sense from a market standpoint. However as you start to deliver features, you realize that your initial customers really need other features that you hadn't thought of, solving business problems that you didn't know existed. With waterfall, you'd have to replan the entire project, or simply deliver less value.

With an agile approach, you should use this feedback to reassess what's in your backlog:

  1. Are there things that we planning on developing that we now realize are not valuable, and should remove from the backlog
  2. Are there new items (features or defects) that we need to address that were never in the original backlog
  3. Should be change the priority of what's in the backlog as the relative business value of the items has changed in our understanding

In addition to the re-prioritization, you often will want to re-estimate the size of the various items, especially the higher priority items. In preparation for the next Sprint planning meeting, you might also want to review the highest priority backlog items and make sure that their description is sufficiently detailed and still matches the customers' understanding. Typically the backlog items that are sooner will be more detailed - ideally with a matching acceptance test so that it can be tested.

The Product Owner is responsible for making sure that the Product Backlog is in good shape. This is a collaborative process. When using the Scrum Framework about 10% of the Scrum Team’s total time should be reserved for maintaining the Product Backlog (discussion, estimation etc.). The collaborative maintenance of the Product Backlog helps to clarify the requirements and create a buy-in from the Scrum Team.

Backlog Management in SpiraTeam

Within SpiraTeam there are two levels of prioritization available within the agile planning boards to enable you to manage and groom your backlog:

  1. There is a priority/importance field for requirements, tasks and incidents that has four color coded values:
    1. Critical
    2. High
    3. Medium
    4. Low
  2. You can also rank the items within a specific priority, for example ranking which of the high value items should be done before the others:
    1. Items on the top / left are higher priority than those on the bottom / right

Grooming by Priority

Within SpiraTeam you can view the Product Backlog by priority:

That lets you quickly see all of thee backlog items by their priority in one view. If you look in a different view (e.g. by component, Epic, person, status), the color coding of the left side of the story card illustrates the priority of the item (from red to yellow). However if you consider the case of the six (6) items in the "3 - Medium" priority, how do you determine which to do first...

Grooming by Rank

In addition to being able to prioritize the backlog items by dragging them between one of the four priority value sections, you can also relatively rank them by dragging the items in order in the same section:

In this specific view, the items on the top left are the highest priority, and the ones on the bottom right are the lowest. Note that when you reposition the items, SpiraTeam remembers the ranking:

Similarly on some of the other views, you simply drag the backlog items up and down to groom them:

Future Plans

In future versions of SpiraTeam we have some plans to further enhance this process:

  1. Allowing the priorities to be customizable for requirements, test cases, tasks (just like we have for incidents) so that you can do more granular prioritization without resorting to drag and drop ranking
  2. Displaying the calculated rank value on the story cards and artifact detail pages

agile scrum backlog grooming refinement user stories pbi