Prioritization

Every priority decision that you make is essentially an investment decision. This is a crucial part of the product leadership role and a very challenging one.

Some things to consider when pondering which the best decision is:

  • You are not alone, always make sure you get input from the right people
  • Try to make decisions that are relatively small so you can gain feedback quickly before you commit more resources

There are a number of methods for making investment decisions, but in practice they are very hard to use in an agile software development context.

For example:

  • Payback period
  • ROI (Return On Investment)
  • WSJF (Weighted Shortest Job First)

Payback period

Payback period is the amount of time required to recover the initial cost of an investment. Let’s say for example you make an investment of $100 000 and you will gain a profit of $10 000 per month once the feature is released. Then the payback period is 10 months.

ROI (Return On Investment)

Return On Investment is the financial return that expect to gain from an investment.

The return on investment formula is: ROI = (Net Profit / Cost of Investment) x 100.

For example if you expect that an investment will cost $100 000 and you will gain that money back plus a profit of $50 000 than your ROI will be 50 %.

WSJF (Weighted Shortest Job First)

Weighted Short Job First (WSJF) is used to prioritize backlogs by calculating the relative cost of delay and job size (a proxy for duration).
Cost of delay is way to take into consideration the time aspect of a piece of work. For example if a piece of work is only valuable if it can be done before a tradeshow, that will be reflected in cost of delay. Or if a certain customer will leave (or not start) if they miss a certain feature that will impact cost of delay.

 

I believe WSJF is the best proxy for doing investment decisions in a formal way since it takes timing into consideration. In the very fast moving world we are today (and especially in software) the more traditional ways of looking at investment decisions are outdated.

That being said, most of the time I don’t think it is worth spending a lot of time formalizing priority decisions with any of these models. In my experience it takes a lot of time to have numbers that are useful. And the numbers can change quite quickly over time depending on what happens. For example, if you invest a lot of time in estimating WSJF and the week after sales met two new important prospects that changed the whole thing. It has happened to me and my teams. Of course in a less agile and more stable environment it is  possible that formalizing prioritization is worthwhile. I have definitely seen benefit from openly discussing and assessing  business opportunities. Techniques like Planning Poker or Table Sorting can be used to quicken up the process.

Most of the time though I tend to prioritize with as complete understanding of the big picture as I possibly can. And do ad hoc quantitive analysis based on need on bigger initiatives. For example, if you are considering several time features that could save time for support you would probably want to estimate and compare the time that would be saved by each initiative weighted with the cost of development. Or if you are considering several money saving options you would do the same. If timing is a big factor you might want to do this with WSJF instead. Since investment decisions are extremely complicated I believe using common sense and whatever tool makes most sense in each scenario to be the best approach. It is too hard to quantitatively and accurately compare a new feature with a fix of a technical issue with a time saver for support to be worth the effort of doing this in my opinion. Another reason to not obsessively quantify everything is that it disqualifies the use of intuition, which I have become a believer in after reading Think!.