WSJF (Weighted Shortest Job First)

WSJF, or Weighted Shortest Job First, is a technique for prioritizing tasks and initiatives that focuses on completing tasks that have the largest impact in the shortest possible time.

There are a variety of methods of prioritizing tasks when you’re given limited time and development resources. Many of these involve pre-establishing the priority levels of each initiative during agile meetings, then carrying out tasks in that order.

However, when you’re operating in a continuous, flow-based environment, it’s important to be able to update your priorities in real-time based on simple impact and time factors. This is the value of WSJF or Weighted Shortest Job First.

In this glossary article, we will define WSJF, explore its components, and discuss how and when to use it.

What is WSJF?

WSJF, or Weighted Shortest Job First, is a model of prioritization that is used to optimize product backlogs. It involves prioritizing tasks and initiatives based on a relative score of economic impact versus length, duration, or job size. The principles of this model boil down to a simple statement: The tasks that deliver the greatest value in the shortest duration provide the biggest returns.

Weighted Shortest Job First isn’t merely a means of deciding in what order to perform tasks. When used in a flow-based process, it allows product managers to decide whether to delay another project in order to finish another one that’s close to completion. It also takes into consideration which ones will bring significant benefits in the process.

When Do You Use WSJF? 

WSJF is principally used in the SAFe agile framework, which continuously applies the method to backlogs. This ensures that product teams are always working on tasks that are focused on maximizing produced value within the least possible time.

Importantly, WSJF also ignores sunk costs. Even if an initiative has already taken up plenty of resources, WSJF can easily set it aside if it’s not slated to provide immediate value.

With WSJF, agile development frameworks aren’t the only way to use this methodology. Companies can use it to determine how to prioritize sales and marketing initiatives as well. For example, a business development team can use WSJF with their “backlog” of sales tasks. They work on getting easy but high-margin sales prospects out of the way before working on big-ticket projects that will cost a lot of resources.

How Do You Score WSJF?

The WSJF formula is simple: 

Cost of Delay / Job Duration

With that said, both sides of the formula require a strong subjective understanding of the costs and rewards of your tasks. As a result, the overall WSJF is a dimensionless quantity.

Cost of Delay

Getting the cost of delay requires 3 subjective components: 

  • Value to the business: How much value does this initiative potentially bring to business goals? What are its impacts on user satisfaction and revenue? What are the costs of not prioritising this initiative? 
  • Time criticality: How time-sensitive is this initiative? Are the deadlines fixed or flexible? Will the value this initiative provides decrease significantly if it is delayed?
  • Risk reduction and/or opportunity enablement: Will this initiative create new opportunities or reduce the risk of other dependencies?

First, create a numerical scale for each component (for example, from 1 to 10) and score each element accordingly. Then, add up the scores to get your cost of delay.

Job Duration

To calculate job duration, create another scale and score each job accordingly. You may use a different scale from the one you used in your previous calculations, as long as you apply the same scale to each job. When scoring for job duration, factor in aspects such as resource levels, skill sets, and external factors. Meaning characteristics that could increase or decrease the time consumed by each job.

Calculate your WSJF scores by dividing the cost of delay by the job duration. The higher the total WSJF, the higher the priority of the job.

Illustration

The following illustration demonstrates why using WSJF prioritization is the best scenario when juggling tasks that are competing for limited resources. The shaded area of the graph represents the cost associated with each task. It’s clear that delivering the high-WSJF tasks first results in a greater economic return (smaller shaded region) than starting with low WSJF tasks.

Source

WSJF: Constantly Selecting For the Greatest Economic Returns

WSJF is all about ensuring that you’re always on the right track. Because it focuses on quick, big wins, WSJF allows you to constantly achieve high returns without consuming significant time and cost resources until you absolutely have to. As such, it’s a valuable tool not only in deciding how to approach software initiatives but in just about any task management scenario with a limited resource pool.