Weighted Shortest Job First (WSFJ)

by John Pangilinan, Sr. Agile Consultant

One of the biggest challenge in any development project is deciding what work items should be delivered first. In an environment where you have multiple stakeholders from different parts of an organization advocation, sometimes demanding, for their work items to be done first, it is difficult to be able to decide objectively in what sequence work items need to be done in. In this situation it is important that teams feel that their needs are heard, but how does one do that when priorities are subjective to the teams? How can leaders leverage an objective approach to prioritization?

A possible approach that teams may choose to adopt is the Weighted Shortest Job First or WSJF which is a prioritization method used to order work items (User Stories, Features or Epics) in a way that leverages feedback from stakeholders to deliver the most value in the shortest time possible. This is done by estimating the Cost of Delay and dividing it by the job size.

WSJF = Cost of Delay [ (User | Business value) + Time Criticality + Risk Reduction] ÷ Job Size

• User-business value – Do our users prefer this over that? What is the revenue impact on our business? Is there a potential penalty or other adverse consequences if we delay?
• Time criticality – How does the user/business value decay over time? Is there a fixed deadline? Will they wait for us or move to another solution? Are there Milestones on the critical path impacted by this?
• Risk reduction-opportunity enablement value – What else does this do for our business? Does it reduce the risk of this or a future delivery? Is there value in the information we will receive? Will this feature open up new business opportunities?
• Cost of Delay-helps teams understand and quantify the impact of time on outcomes. A way to calculate the time it takes to develop a new feature which includes the time spent in the backlog and what that delay will cost to your business.

Teams will be asked to estimate each of the components using relative numbers (Fibonacci sequence is often used). After which these numbers will be plugged into the formula and the work item with the highest WSJF is the highest prioritized work item.

My experience using WSJF within my own project resulted in more confusion rather than clarity. We had team members who were not interested in letting the process dictate the prioritization order of work items and instead insisted that their work items needed to be done first for one reason or another. From this experience I found that in order to successfully leverage WSJF it is important that team members are not only trained on the WSJF but are bought in to using the method no matter what its outcome is. If not, the practice become cumbersome and ultimately meaningless.

In addition determining the cost of delay is tricky. Unless you are looking at something tangible for example the cost of delaying the opening of a physical store which maybe calculated by basing the potential lost on the sales of comparable stores in the area. However in the case of software without data to base your calculations on your basically guessing.

Therefore I suggest before teams decide to adopt WSJF it is critical for the them to be educated in how to properly leverage WSJF within their organization and using a consistent approach as to estimating each of its variables. If not I fear using such an approach can lead to wasted cycles and more disharmony within development teams.

John Pangilinan is an Agile transformation consultant, experienced Scrum Master and Product Owner with over 8 years’ experience working within multiple Fortune 100 companies to build and deliver value. He is passionate about helping teams reach their full potential via empathy, clear communication and clearly defined goals.