Weighted Shortest Job First (WSJF) and How to Calculate It
When your product is growing fast, so is the list of ideas and customer requests for new features.
The backlog gets bloated pretty quickly, and you start to lose sense of what’s actually important for the product’s bottom line.
In this article, we’ll explain the WSJF prioritization model and show you how to use it for feature prioritization.
What Is Weighted Shortest Job First (WSJF)?
Weighted Shortest Job First (WSJF) is a prioritization model used in Agile and Lean software development to assess the order of items in a backlog based on a calculated value. Using it, you prioritize jobs of higher value and shorter duration over those of lesser value and longer duration.
It’s an essential element of the Scaled Agile Framework (SAFe), helping align teams to the most critical work based on the tasks with the highest return on investment (ROI).
WSJF is also an excellent model to inform the entire organization of the direction your team is moving in.
Say you’re working on launching a new fitness app. The development team informs the marketing team about the order in which they will release new features, which helps Marketing adjust campaign schedules accordingly.
This may improve communication across departments and boost the productivity of multiple teams at once.
How Do Product Managers Use WSJF?
WSJF can be a PM’s best friend - as long as you know how and when to use it.
The best way a product manager can use WSJF is by listing all tasks and estimating their business value, time criticality, and risk reduction or opportunity enablement.
Next, you should assess the effort required to complete each task. Using WSJF, you can calculate a priority score for each task.
Then you can rank tasks based on these scores, ensuring that your team focuses on high-value, low-effort items first.
By performing regular reviews and adjustments, you can keep the priorities aligned with changing market conditions and user needs as well.
How to Calculate WSJF?
Calculating WSJF is about considering the Cost of Delay (CoD) against the Job Duration (or Size). The formula is simple:
WSJF = Cost of Delay (CoD) / Job Duration
Step 1: Calculate the Cost of Delay
This metric consists of three elements:
- User-Business Value: How much do your customers care about this feature? Are there any negative consequences if you delay this feature?
- Time Criticality: Is there a fixed deadline for this? Will your customers switch to competition or wait until you implement this?
- Risk Reduction and/or Opportunity Enablement: Will this reduce future risks/challenges? Will it enable new business opportunities?
To calculate the CoD, you need to create a scale for its three components (for example, 1 to 10). Next, you summarize the figures to calculate the Cost of Delay score.
In the screenshot below, the CoD was added as a Formula that calculates the final score for you:
Step 2: Calculate the job duration or size
Here, you should again use a specific scale (for example, 1 to 30 days). The entity of the scale can be different from the Cost of Delay, as long as you apply it consistently to all jobs:
Step 3: Calculate WSJF
Finally, you calculate the WSJF value by dividing the CoD by the Job Duration (or size):
By creating custom formulas in Fibery, you can automate calculating those metrics across multiple tasks in your backlog. This will help you reach conclusions about the next steps faster without doing the math every time.
The greater the WSJF score assigned to a task, the more important it becomes in terms of priority. Once you calculate the scores for all tasks, you can sort them by value to quickly organize your backlog:
WSJF Calculation Examples
Let’s see a couple of fictional examples. You’re developing a product and you have 3 major features that can be potentially released. Before planning, you decide to do a WSJF calculation (remember: WSJF = CoD/duration)
-
Feature 1
CoD: 1500 USD / month
Duration: 3 months
WSJF: 500 -
Feature 2
CoD: 8000 USD / month
Duration: 5 months
WSJF: 1600 -
Feature 3
CoD: 14000 USD / month
Duration: 4 months
WSJF: 3500
From the above calculations, it’s clear that we should first develop feature 3, then feature 2, and finally, feature 1.
When to Use the WSFJ Prioritization Model?
WSFJ comes in handy in many scenarios:
- Resource constraints. When resources (time, money, or personnel) are limited and you need to maximize value delivery.
- High uncertainty. In environments with high uncertainty or rapidly changing requirements, WSFJ helps prioritize tasks that offer the most significant benefits quickly.
- Complex projects. For complex projects with many competing tasks, WSFJ helps you identify what to prioritize based on value and effort.
- Agile development. In Agile frameworks like SAFe (Scaled Agile Framework), WSFJ helps you deliver maximum value in the shortest possible time.
- Prioritizing backlogs. When managing large product or sprint backlogs, WSFJ helps in ranking items so that the most valuable tasks are completed first.
The Benefits and Drawbacks of WSFJ
WSJF helps you align teams around working on the most critical jobs first and maximize the output of the most profitable tasks.
But the money factor isn’t the only thing making the WSJF algorithm valuable. Here are other reasons to consider implementing it into your product development process:
Good for prioritizing tasks
WSJF helps distinguish the most valuable jobs from the less valuable ones, ensuring teams focus on what matters most.
Let’s take our fitness app again: it is packed with 30 new features to implement, and you want to plan the next quarter and won’t be able to deliver even half of them.
WSJF gives you a clear picture of features that don’t require lots of time and resources but still are significant to the app’s bottom line:
Enhances delivery
By focusing on high-value, short-duration jobs, you can increase the product’s profitability, without investing too many resources into more extensive projects.
Coming back to the fitness app example. Looking at the Job Duration of tasks in your backlog, you can spot several quick wins:
An onboarding tutorial can quickly improve the user experience. Adding a Share feature allowing users to share their workout progress on social media can help increase the organic growth of your app. Finally, improving the app’s load time can positively impact the user retention rate.
All of those jobs won’t take your team more than 1-2 weeks. Yet, they’ll generate valuable opportunities to increase your app’s profitability.
On the other hand, while the extensive job of developing a Personal Trainer AI has a very high potential impact, it requires a significant resource investment in time and finances.
This long-term project could delay addressing current user pain points or other opportunities that might arise.
Executing tasks with a higher WSJF score will provide immediate value and stabilize user satisfaction. This could potentially free up resources for more impactful projects while keeping the churn risk low.
Reduces wasted resources
WSJF minimizes the time spent on low-value or long-duration jobs, increasing the team’s productivity.
As a next step in your development process, you now want to integrate your fitness app with every fitness wearable in the market.
While it sounds appealing, assessing this task with WSJF can quickly reveal the low value of this task. Adding to it a long duration to execute it, and you immediately know it’s simply not worth it.
You now know the benefits of WSJF. Time to reveal the downsides of this method:
Prone to oversimplification
The WSJF formula prioritizes jobs based on a simplified value-to-cost ratio. In complex scenarios, this simplification might overlook critical factors that you should consider.
Let’s imagine the fitness app’s backlog includes a job to implement an advanced analytics feature that would provide users with deep insights into their workout and health data over time.
This feature will significantly enhance user engagement and retention and possibly open new monetization channels through premium subscriptions.
However, it’s a long-duration, high-cost project due to the complexity of developing sophisticated analytics algorithms and ensuring data privacy compliance.
Using WSJF, you may deprioritize this task due to its long duration and high cost, favoring shorter, less resource-intensive jobs.
This could be an oversimplification as the long-term strategic value and competitive advantage advanced analytics features offer might outweigh the benefits of completing several short-term, lower-value jobs.
When things get this complex, a rigid application of WSJF could lead to a lack of strategic alignment. Performing a more in-depth contextual analysis can help you ensure optimal prioritization in nuanced scenarios.
Requires accurate estimation
The effectiveness of WSJF relies heavily on accurate estimation of CoD and Duration. These two metrics are relative and may differ depending on the person assessing them.
Let’s compare a WSJF score for the Food Diary feature done by two project managers:
David has more technical experience than Alex. He knows features like Food Diary are prone to bugs and require extended testing. This caused him to increase the Duration of this feature.
On the other hand, Alex performed an extensive market analysis and found that competitors offer similar features. This caused her to increase the CoD to stay competitive.
To avoid mixed results like this, you may consider including a Standard Operating Procedure (SOP) for WSJF score estimations.
This will increase the accuracy and objectivity of the scores and aid effective prioritization.
Struggles with deadlines
If your projects have fixed deadlines imposed by external factors, the WSJF scoring may not reflect the urgency or the importance of meeting these deadlines.
Say you want to implement features in your fitness app that track users’ health data. You plan to launch in the EU market, which means you need to comply with GDPR. You need to deliver specific security measures to ensure GDPR compliance before the launch, which has a fixed date.
Assessing these tasks with WSJF alone may not show you the urgency and importance of meeting these deadlines. For projects with fixed deadlines, you can consider using other prioritization methods, such as MoSCoW or CPM.
While WSJF offers numerous benefits in prioritizing jobs, it’s not without its drawbacks. The model’s effectiveness largely depends on the context in which it’s applied and the accuracy of the input data.
The PM’s Hot Take
WSJF builds on uncertainty. Job duration is a vital part of the model, and we know all too well that no job can be accurately predicted. If you trust your gut and your processes, your ballparks can get close to the actual delivery date, but WSJF will always be prone to subjectivity.
Conclusion
Weighted Shortest Job First (WSJF) helps Agile and Leam teams prioritize their work based on value and urgency. But it’s crucial to acknowledge that it’s not a silver bullet, and its effectiveness hinges on accurate data and the proper context.
If you want to test this model against the tasks in your backlog, grab a free 30-day trial of Fibery and set automated formulas to simplify the scoring immediately.
Psst... Wanna try Fibery? 👀
Infinitely flexible product discovery & development platform.