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!
You’ll need to create 5 custom fields to calculate WSJF with Abacus.
Create a custom number field for each variable in our calculation:
Risk Reduction/Opportunity Enablement
…and finally, create a custom number field called WSJF for storing the calculation result
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.
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
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.
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.
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 General → Edit 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.
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.
Users of Abacus already know the value of automating calculations within Jira to save time and energy. A well-configured formula can save a team hours of work, allowing them to focus on delivering value to their stakeholders while Abacus calculat...
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 pairing Abacus with Jira can...
Estimating work is one of the hardest – and most important - operations for an Agile team to get right. While story points can be a trustworthy companion to your team, they're not a one-size-fits-all solution. What if your team wants the flexibili...