Radically Honest Blog

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).

58c8d6da 2d1e 42ff 8517 4660b8a78305

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:

  1. User-Business Value: How much do your customers care about this feature? Are there any negative consequences if you delay this feature?
  2. Time Criticality: Is there a fixed deadline for this? Will your customers switch to competition or wait until you implement this?
  3. Risk Reduction and/or Opportunity Enablement: Will this reduce future risks/challenges? Will it enable new business opportunities?
Get this mighty trifecta right, and the formula might as well yield useful results
Get this mighty trifecta right, and the formula might as well yield useful results

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:

c6478985 5cec 4536 bd35 7927ef6719ee

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:

fe2f3ba2 292c 4a2a b496 f2356ecc247e

Step 3: Calculate WSJF

Finally, you calculate the WSJF value by dividing the CoD by the Job Duration (or size):

c2349db5 fd46 4621 a618 41c9466f6dce

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:

ab6ecb84 0307 477a 9c5b e5094139a296

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:

  1. Resource constraints. When resources (time, money, or personnel) are limited and you need to maximize value delivery.
  2. High uncertainty. In environments with high uncertainty or rapidly changing requirements, WSFJ helps prioritize tasks that offer the most significant benefits quickly.
  3. Complex projects. For complex projects with many competing tasks, WSFJ helps you identify what to prioritize based on value and effort.
  4. Agile development. In Agile frameworks like SAFe (Scaled Agile Framework), WSFJ helps you deliver maximum value in the shortest possible time.
  5. 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:

664dab12 32f2 4b34 bfaa 9df63726f956

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:

029356ce fd67 4254 b6db 5b1226ca7298

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. 

7f3a8c9b 9a0a 41be 9fa6 dd178eb5e831

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. 

e44ec937 0650 4eb0 8a33 92fa2668db61

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.

fbbcc430 d427 419f a1e7 971277ef38b3

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:

208bbb94 a7fb 4b7b 8aab 82915707b9a2

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.

26ffac33 3dd8 4718 9d56 20e49662ddc3

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.