Teams prioritizing their backlog using Weighted Shortest Job First (WSJF) know the importance of minimizing costly delays. They also know it can be a difficult process to implement in Jira. In this post, we’ll show how you can eliminate the headaches of prioritizing with WSJF in Jira, allowing your team to focus on what they do best – crushing it.

What is WSJF?

Increasingly used in organizations with numerous competing priorities, Weighted Shortest Job First is a system for prioritizing initiatives (eg., Features, Capabilities, and Epics) that focuses on Cost of Delay and expected time-to-completion. The theory is simple - prioritize work with relatively high cost of delay and relatively low required effort.

Imagine two initiatives: Initiative A will take 30 days to complete and subsequently return $100,000/month (the Cost of Delay or CoD), and Initiative B will require 90 days to complete and return $50,000/month. In this example Initiative A is the obvious priority - delaying its execution costs your organization $100,000/month and your team says they can complete the work relatively quickly.

In this simple model, WSJF is calculated with the following formula:

In practice, WSJF calculations require a few more variables. The Cost of Delay component is calculated as follows:

  • Business value describes the initiatives contribution to the overall well-being and health of your business

  • Time Criticality helps control for potential decay over time in the initiative’s business value

  • Risk Reduction/Opportunity Enablement quantifies the initiative’s value in relation to other initiatives. (i.e., Does it reduce risk for this/future delivery? Does it help your business in some other way?)

Organizations who manage their projects with Jira sometimes struggle to effectively represent the WSJF framework inside of Jira. These difficulties arise due in part to Jira’s inability to perform custom calculations based on fields. It’s also difficult to capture the dynamic nature of this system - as new initiatives are added, they must be moved to the correct spot in your backlog. Adding Abacus to your Jira instance eliminates these obstacles and allows for simple implementation of WSJF for your team.

Follow along with the tutorial to become an Abacus expert in no time!

Calculating WSJF in Jira With Abacus

1. Provision Jira

You’ll need to create 5 custom fields to calculate WSJF with Abacus.

Create a custom number field for each variable in our calculation:

  • Business Value

  • Time Criticality

  • Risk Reduction/Opportunity Enablement

  • Job Size

…and finally, create a custom number field called WSJF for storing the calculation result

2. Install and set up Abacus

Install Abacus into your Jira instance (see here if you need help). Then enable Abacus by navigating to your project → Project Settings, selecting Abacus from the left-hand menu and enabling the plugin.

3. Create the WSJF Formula in Abacus

The first step in configuring Abacus to our requirements is the creation of a formula. The formula editor is tell Abacus what calculations we wish to apply and to which fields.

Begin by clicking Create Formula and selecting Numeric Formula Select Generic Finally, create the WSJF formula and click Save Formula

4. Create an Execution Plan to run your WSJF Formula

Next, we need to configure an Execution Plan. The Execution Plan editor is where we tell Abacus precisely how and when we want our calculation to execute.

First, we tell Abacus when to trigger this Execution Plan Next, we tell Abacus to run our WSJF Formula when this plan is triggered. 

5. Create Issues

We’re ready to get to work! When creating issues, you’ll be prompted to enter values for each of your custom fields.

Entering values for the WSJF Calculation

After your issue is created, Abacus will calculate a value for WSJF and populate your WSJF result field with the calculated value.

Completed Calculation

6. Prioritize Your Backlog

With Abacus' setup complete, the last piece of the puzzle is the prioritization of our backlog. In our example software project, we can achieve this prioritization by selecting Backlog in the left hand menu, clicking the menu icon in the upper right hand corner and selecting Board Settings

Navigating to Board Settings

Next, select GeneralEdit Filter Query

And lastly, instruct Jira to sort your backlog by our new WSJF Result field (you may need to click Switch to JQL to define your filter using a JQL expression). This ensures that as new work is added to your project, your backlog stays ranked in order of WSJF score.

The WSJF prioritization JQL query

That's it! Your WSJF implementation is complete. 

Wrap Up

Abacus makes WSJF prioritization possible in Jira by providing the user an intuitive calculation editor and the tools necessary to completely automate calculations in their Jira instance. This solution avoids common prioritization pitfalls like manual calculation (and subsequent manual backlog re-ordering). With Abacus on your side, you can set it and forget it.

Recent posts