WSJF (Weighted Shortest Job First) and Its Calculation

WSJF (Weighted Shortest Job First) and its calculation

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 WSJF in Agile?

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

[Image]

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 is WSJF calculated?

Calculating WSJF is about considering the Cost of Delay (CoD) against the Job Duration (or Size). The formula is simple: 

[Image]

The first step is to 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?

[Image]

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:

[Image]

Finally, you need to 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:

[Image]

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

[Image]

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.

[Image]

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:

[Image]

The upsides and downsides of WSJF

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:

[Image]

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:

[Image]

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. 

[Image]

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. 

[Image]

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.

[Image]

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:

[Image]

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.

[Image]

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 work & knowledge hub.