Weighted shortest job first, or WSJF, is a work prioritization tool that has its roots in the Scaled Agile framework (SAF). It is a scoring mechanism that allows businesses to better understand the impact of job sequencing.
In its simplest form, weighted shortest job first can be calculated by dividing the cost implication of delaying a job by its estimated duration. Cost of delay / Job duration = WSJF value
What you end up with after dividing the cost of delay by the job duration for all jobs being considered is a value: the Weighted Shortest Job First value. The job with the highest WSJF value will be the shortest in duration and/or carry the highest cost of delay.
The result of Weighted Shortest Job First (WSJF) should look something like this:
Weighted shortest job first is a popular pripritization method within product teams. So how is WSJF calculated and what’s the scoring approach?
WSJF — or WSJF SAFe as it’s called in agile circles — can be calculated by dividing the cost implication of delaying a job by how much effort your team needs to accomplish their goals. This leaves you with a formula that looks like this:
Cost of Delay / Job Size = WSJF value
The job with the highest WSJF value or score will be the shortest in duration — and/or carry the highest cost of delay.
Teams can use the WSJF agile formula during prioritization sessions before sprint planning. This ensures teams are always working on the most important items in the product backlog.
Cost of Delay (CoD) is a key component of the WSJF agile formula. But before you can use CoD in your WSJF calculation, you need to work out the Cost of Delay for your project. Here’s how.
The Cost of Delay (CoD) is comprised of 3 parts. To calculate CoD within the WSJF agile formula, you should use your fixed scale to score the following criteria on each project:
User/Business value. Consider the relative value of each job to your customers or business. For example, the projects or features that generate the most revenue, or that customers most often request, will score higher.
Time criticality. Does the user/business value drop dramatically over time? If you know a competitor is working on something similar, then your project would carry a high time criticality score as you want to be the first to market with your new product or feature.
Risk reduction/Opportunity enablement value. What are the future implications of each job? Does one open up other business opportunities or reduce future risk?
Once all available projects have been scored using the above criteria, add them together to get a relative CoD score. The higher a project scores for user/business value, time criticality and risk reduction/opportunity enablement, the costlier it will be to delay.
While it sounds straightforward, job duration can be tricky to work out too. Nevertheless, it is essential for Weighted Shortest Job First.
Using the number of worker hours will produce values so large that the WSJF values become meaningless. You’ll be up to numbers in the hundreds within a week! So assigning a value based on relative estimated workers per month is more effective.
If you are unsure how long projects will take, then job size can be used in place of job duration to work out the WSJF value. For technical development projects, you could use the volume of code required. For marketing projects, the volume of collateral is needed.
Roadmaps can often get overloaded with initiatives that need time and resources, especially with larger, complex projects. This is where WSJF can shine.
Your product backlog will have a detailed breakdown of all the tasks on the roadmap that need to be completed. By using the calculations from your WSJF agile formula, you can accurately score each item in the product backlog.
The results can then be used to prioritize your roadmaps and get your project back on track. Nice!