Product backlog ordering

From Pearl Language
Revision as of 13:55, 10 April 2013 by Martien (talk | contribs) (Typo.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


In complex and often large organizations, it is often difficult to order a single product backlog item. Many, often conflicting, forces and interests fight to get their items ranked close to the top of the product backlog. This calls out for a transparent, almost algorithmic determination of the product backlog order.

Say you have a (huge) product backlog item with over one hundred items. Sources for these items are multiple: various marketing and sales units, self-generated (as a side effect of implementing items!). As a result, there are also many many stakeholders (shareholders, if you will).

As a product owner, you want an elegant and transparent way to order the list so that all stakeholders understand and acknowledge the order.

An algorithmic approach comes to mind. Variables in the algorithm like business value, risk and item size, including weighing values for each variable, can help tune relative order of the items.

Given the right variables and weighing factors, those who want to have their items added to the backlog will tune and tweak their items to move closer to the top.

Questions pop up like: What should be the primary variables in the formula? What should the relative weight of each variable be (rules of thumb)? What formulas make sense (examples please)? How do you know that the variables and weighing factors are the ‘right’ ones?

End result might be to create a spreadsheet with one product backlog item per row and one variable per column. You continuously groom the variables. The order column derives it value using the formula. You can simply sort the spreadsheet on this column to obtain the current Product Backlog order.

First of all, create a hierarchy of goals, based on researching these questions:

  • Why do we do it? (squeeze)
  • What do we do? (stretch)
  • For whom do we do it?
  • How do we excel?

Use your company's soul profile as well as stretch and squeeze to find answers to these questions.

Based on the hierarchy of goals, use these product backlog ordering practices as you see fit. The practices are in order of increasing sophistication.

  • Levels of Order—Use the shallow hierarchy of goals to create a similar hierarchy of order. Lower levels are always ordered by the goals above it. Use stretch and squeeze or the five whys on the stakeholders to find out what the levels of order are. Connect each product backlog item with the “Why” of the higher level list to get a derived ordering. This is not precise, but has the huge advantage that it does not require quantification. In many cases turns out to work well enough—the individual tweaks are doable when the overall ordering is clear. As a test to derive higher level goals is to order two items the wrong way. You will generally get a gut feel for what is considered the wrong ordering. The stakeholder(s) will say: “No! That's wrong!”. Then you ask why, and presto, they will answer with a higher level goal. Works like magic. In some cases, you will even be able to uncover the mission and vision of a company out of a product backlog item this way.
  • Ranking the Stars—Put the goals on a simple scale from 1 to 5 and in a two-dimensional matrix, one product backlog item per row, one goal per column. A simple weighing for a top 5 list of goals is to weigh the number 1 as 5 times, number 2 as 4, and so on. Multiply weights and values, add up the columns and you have a score. Kind of works, but is very, very rough.
  • Gilbification—Based on the work of Tom and Kai Gilb, define scales for each goal, then define points on the scale, especially Now and the Next Goal level. The score is a percentage towards a goal. Just add up the percentages for the final score. Sort the on the final score.

Thanks to:

  • Tom and Kai Gilb
  • Serge Beaumount
  • Martien van Steenbergen

To do: convert into pearl.