Prioritization is the activity that organizes a set of items or work in order of importance relative to each other.
While prioritization is crucial in all aspects of life, it is a vital capability required in complex product development for ensuring the best possible economic outcomes. Given the fixed capacity available and the multitude of constantly changing requirements, prioritization helps focus energies on what needs to get done now versus what can be done later.
Prioritization provides an opportunity to evaluate options, gather customer feedback, and acquire more knowledge of the most important work by delaying decisions about lower priority items.
Despite its importance, prioritization isn’t effectively practiced in many organizations—the most common issue being the poor ability to estimate the ‘Cost of Delay.’ Cost of Delay (CoD) can be interpreted as the impact of time on the total expected value we hope to accomplish.
In other words, the Cost of Delay is the money that we could lose by delaying or not doing a job for a period of time.
So, equationally speaking, the priority of a work item is the Cost of Delay divided by the time it takes to accomplish the work item. This equation is popularly known as Weighted Shortest Job First or WSJF for short.
Weighted Shortest Job First = Cost of Delay / Job Duration
In SAFe, the job could be an Epic at the Portfolio level, a Capability at the large solution level, or a Feature at the program level residing in their corresponding backlogs.
To identify the WSJF, it is essential to quantify the CoD.
When using SAFe, the CoD is the sum total of three components Value to the business and/or the user, Time criticality and Risk Reduction, and/or Opportunity Enablement (RR|OE) value.
CoD = User-Business Value + Time Criticality + RR|OE
Let’s start by understanding what the individual parameters are -
Challenge - 2: we need to calculate the $ value in terms of user-business value, time criticality, and RR|OE and then size the jobs. Given the number of features in a program backlog, this definitely is a lot of work with very low ROI.
The solution – turn challenges into opportunities. When there are a lot of jobs to prioritize, we do not have to estimate absolute numbers. Instead, we simply compare jobs relative to each other for both the CoD and Job Size.
So, when applied to WSJF, the equation now looks like:
WSJF = Relative Cost of Delay / Relative Job Duration
A higher WSJF value indicates a job that can potentially deliver the most value in the shortest time. So, those jobs are selected first for implementation.
Prioritizing workshops is the preferred approach when prioritizing the Program backlog.
The Product Management, Business Owners, Product Owners, and other Key Stakeholders collaborate to adjudge the relative cost of delay for the upcoming features.
System architects and Solutions architects provide the relative cost of delay for Enablers.
Representatives from the Agile Teams participating in the workshop provide estimates for the job size.
It prevents big jobs from blocking the development pipeline by giving preference to smaller features that are faster to implement. This further promotes the incremental and iterative approach to development.