I am often asked how to prioritize features or stories for an organization. One method used is Weighted Shortest Job First – also called WSJF. This method might seem complicated at first glance, but let’s demystify it here.
How to Calculate the Weighted Shortest Job First?
People often prioritize using their gut feel or by ‘the executive said so’ or by the squeakiest wheel wins or (my favorite) – everything is a high priority. What’s wrong with this? When we get priorities wrong, opportunity costs can be large because we spend time on things that don’t yield value.
I’m Ali Cox from Netmind. Let’s talk about a commonly used method – WSJF. The simple calculation divides the Cost of Delay (also called COD) by the Job Size (or Duration).
Let’s explore the Cost of Delay first. The Cost of Delay can be estimated using the sum of three factors:
- The first is Estimated Business Value: How beneficial to our organization is this feature? How much money will be made? Or, how many customers will we retain? Or, what cost will we reduce?
- To that, we add Time Criticality: How fast do we need to get this feature out before we start losing customers?
- Finally, we add Risk Reduction and/or Opportunity Enablement: Will this feature reduce our risk or help us get new business?
Job Size (or Duration), you may know by other names – we call them story points, feature points, duration, effort, or relative size. What it all means is – what do we need to do to get this feature into production and into our customer’s hands. Many organizations use the Fibonacci Sequence to assign points for stories or features relative to each other.
Let’s now talk about how to come up with the components of Cost of Delay relatively easily (no pun intended). You can use Fibonacci numbers for the components of Cost of Delay, just like you use them for sizing of stories or features. This is much easier than trying to estimate some dollar amount or risk ratio.
I’ll give you an example of this – say we have Feature A and we’ve assigned:
- Business Value = 13
- Time Criticality = 8
- Risk Reduction or Opportunity Enablement = 8
(All using the Fibonacci numbers.) We estimate the Relative Feature Size as 5. If we add the first 3 (13 + 8 + 8) and then divide by feature size (5), the result is 5.8. This doesn’t really mean anything until we use the same criteria against other features.
If you do the same calculations for Features B and C, you’ll see the different resulting figures for Cost of Delay. Now use those figures to prioritize using Weighted Shortest Job First.
All of the factors being equal, the priority should be A, then C, then B. This helps you prioritize using the low-hanging fruit concept. Let’s do the easier, more valuable stuff first.
Don’t forget your dependencies could alter your prioritization. Thank you for joining me today! I hope this has helped you understand Weighted Shortest Job First.
This is just one of the methods we teach in our Advanced Agile User Stories class! Schedule a live, virtual or on-site session to help your team improve their user stories relating to prioritization, estimation, splitting stories, organizing, and making sure that they are refined and ready for the development sprints.