When you have to prioritise a list of requirements from different stakeholders or customers, you can choose from many different methods. One popular method, advocated by lean-agile approaches such as SAFe®, is weighted shortest job first (WSJF).
WSJF is an approach that gives preference to items that provide the most economic impact in the shortest duration.
A tool for prioritisation
WSJF is a tool for product professionals to prioritise significant items of work, such as epics, capabilities and features. Typically, WSJF is not used to prioritise smaller items of works such as stories or tasks.
To calculate the WSJF, two key metrics are necessary:
- cost of delay – the economic value we are missing by not doing the change
- duration – elapsed time from the start of the job to customer receipt
In general, even without WSJF, most prioritisation would go as follows:
- The first items to be worked on are the ones with a high cost of delay and a short duration.
- The last items to be worked on have a low cost of delay and a long duration.
The real choice is between low cost of delay & low duration items, and high cost of delay & high duration items. WSJF is particularly useful in helping us choose between these categorisations.
WSJF using estimated values
To calculate the WSJF ratio, divide the estimated cost of delay by the estimated duration.
Cost of Delay
The cost delay is the financial implication of doing the work at a later date. It is the total impact of deferring the work, not just during the delay period.
For example, the cost of delaying the implementation of an idea for one month is the lost opportunities during that month, plus any reduced benefits after that month, when compared to where the benefits would have been.
When calculating the cost of delay, have a specific up-coming time period in mind. For example, when prioritising work for the next eight weeks, we will get a different number than prioritising work for the next twelve weeks.
Also, think about any factors that are specific to that time period, which could affect the calculation, such as trade shows, Mother’s Day or ‘Black Friday’.
Calculate how much we would lose, by missed income or missed savings, if the change was delayed until after this period. Evaluate all of the competing ideas against the same, specific time period. Use common assumptions and processes to get a fair assessment when calculations are being done by different people.
This is elapsed time from when the work is started until it is ‘live’ and delivering benefits; taking into account reviews, approvals, deployments etc. as well as the actual work involved. As we are talking about elapsed time, we need to factor in non-working days such as weekend or national holidays, so something that takes 10 working days, would typically be 14 days elapsed time duration.
The elapsed time needs to be shorter than the time period we are prioritising. If it is larger, then split the item into smaller items with shorted elapsed times.
For example, if the prioritisation is for a two-week iteration, but the estimated elapsed time for an item is three weeks, then split it into smaller items, that could each, individually, be completed in the two-week iteration. The smaller items would each need to have their cost of delay calculated.
Calculate the WSJF ratio by dividing the cost of delay for an item by its duration, the higher the number indicates the higher the priority. However, the final decision remains with the product professional accountable for the sequencing of items on the backlog in question. Factors such as regulatory deadlines, legacy system fragility or building foundation for future features may be difficult to put in financial terms, but still need to be considered.
WSJF using relative estimates in SAFe
Rather than calculating anticipated value in financial terms and duration in elapsed days, an approach advocated in agile methods such as SAFe, is to use relative estimating for both cost of delay and duration. In this case, we evaluate a set of items relative to each other, in order to determine a WSJF ratio. We will look at four attributes:
- Business Value
- Time Criticality
- Risk Reduction and Opportunity Enablement
Business Value relative estimate
For this attribute we think purely about the value of the change itself. Extra money coming in, or less money going out. Rate the different candidate item between 1 and 20 inclusive, where 1 represents the lowest value item and express the others in relation to this, so a 5 has five times the value of the item given a 1. To avoid prolonged discussions about small difference, the options can be limited to the adjusted Fibonacci series, 1, 2, 3, 5, 8, 13 and 20.
Time Criticality relative estimate
For time criticality, think about whether there is a specific deadline or cut off point. While we would all want valuable items to be delivered sooner, use time criticality to factor in material deadlines, such as peak shopping periods, dates when regulations will be in effect, or licence or contract expiration.
Similar to business value, rate the different candidate items between 1 and 20 inclusive, where 1 represents the lowest time criticality and higher numbers represent the most urgent. Again, to simplify things, consider limiting the options to the adjusted Fibonacci series.
Risk Reduction & Opportunity Enablement relative estimate
Risk reduction takes into account those fixes or upgrades to the system that might prevent a significant impact from occurring. It could be that an infrastructure upgrade may prevent services going offline during a surge in traffic, or fixing a security gap may prevent a security incident.
Opportunity enablement considers what may be possible after implementation of the change. For example, upgrading a content management system (CMS) may not directly add value, but the upgraded CMS may have features and functions that could then be put in place to add value once the upgrade is complete.
The process is to assign one value from 1 to 20 taking into account both the risk reduction and the opportunity enablement.
When thinking about duration, we are again rating the items relative to each other. Decide which one is the smallest and make that a ‘1’, then estimate how the other items compare to that one in size, and assign numbers up to a maximum size of 20, using the adjusted Fibonacci series. This assessment is done by the people who will do the work, not the people requesting the change.
Add up the business value, time criticality, and risk reduction & opportunity enablement to give a figure of between 3 and 60 for each item as the relative cost of delay. Work in conjunction with the stakeholders who requested the changes, to establish the cost of delay.
The duration is between 1 and 20, so the overall WSJF ratio will range between 0.15 and 60, with the higher number indicating a higher priority. This is still (just) a guide for the product professional to use and they make the final decision on sequencing.
Whether you use relative estimates or use anticipated values and elapsed time, the estimates all need to be reviewed and updated regularly. Some items may now be more critical, company or market conditions may have changed, or new risks may be identified. The estimates are all made thinking about a specific up-coming time period. Once that time period is over, the estimates need to be updated.
- What are the stories, features, capabilities and epics in SAFe?
- What is the difference between a Product Manager and a Product Owner in SAFe?
- What metrics will help my agile team?