How to Calculate Weighted Shortest Job First (or WSJF)
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. Let’s demystify it here.
Calculate Weighted Shortest Job First Transcript
People often prioritize using their gut feel or by ‘the executive said so’ or by the squeakiest wheel wins or (my favorite) — everything is high priority. What’s wrong with this? When we get priorities wrong, opportunity costs can be large because we are spending 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 is to divide the Cost of Delay (also called COD) by the Job Size (or Duration).
Let’s explore 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 make? 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 go 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) 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 your 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.