Weighted, Shortest Job First (WSJF) is an agile software prioritization method that product development teams use to rank what features and projects should be worked on.
It was popularized by Don Reinertsen. According to Reinertsen, “If you only quantify one thing, quantify the Cost of Delay.” This summarizes the general premise of the WSJF methodology.
The WSJF exercise converts multiple factors into a formula to determine when to work on each feature/project. Each feature or project is analyzed by four different categories.
The first three factors constitute the numerator, otherwise known as the Cost of Delay (CoD). The fourth factor constitutes the denominator, otherwise known as the Job Size.
The Cost of Delay values should be assigned by a business stakeholder. This is often done by a Product Manager. The Job Size values should be assigned by a developer.
Cost of Delay
The Cost of Delay (CoD) factors include:
- User and/or business value (BV)
- Time criticality (TC)
- Risk reduction (RR) or opportunity enablement (OE)
The User or Business Value represents how valuable a particular feature or project is to either the customer or to the business. Not all functionality that product teams consider building benefits the customer directly.
An example of how this would benefit the end user might be a streaming app feature that quickly returns a user to where they left off in a series.
An example of how a feature might benefit the business might be paperless billing functionality. In either case, this should represent what value it provides to either or both the end user and/or to the business.
Time Criticality represents how urgent a feature or project is. Some work has a firm deadline. Likewise, a particular feature might only benefit the users or business during a specific time frame.
For example, a sales team might want to have special tools ready for an end-of-year promotion but once the new year comes, those tools are no longer relevant.
Or a development team might need to prioritize certain work because a codebase they’re using will no longer be supported after a certain date.
Risk Reduction or Opportunity Enablement
Risk Reduction or Opportunity Enablement represents whether an effort will reduce the business' risk or enable future opportunities to the business.
For example, a feature that has a user go through several authentication steps might not necessarily benefit the user or the business but it could reduce the legal risk that the business incurs if they don’t create that feature.
An example of Opportunity Enablement would be functionality that doesn’t provide immediate benefit, like updating to a more flexible codebase, so that the business can be freed up to deliver value in the future.
Job Size and Relative Ranking
The Job Size of a feature or project represents how much effort it will take. This size is not an indication of time but relative complexity.
Each factor should be ranked relative to each other using the Fibonacci sequence:
1, 2, 3, 5, 8, 13, 21
The smallest feature or project should be identified first and assigned a 1 point value. From there, all other initiatives should be given points from the Fibonacci scale above relative to that 1 pointer. Initiatives of similar size can have the same point value. While it’s possible for a ranked list to have no higher point values, there should be at least one 1 pointer on the list.
Each initiative being considered should be ranked against each other within each of the four categories (User and/or Business Value, Time Criticality, Risk Reduction / Opportunity Enablement and Job Size).
For example, if there’s a list of initiatives, they should each be ranked starting with the User and/or Business Value from lowest to highest. The exercise should begin with the smallest initiative representing a 1 pointer. The same list should be ranked in a similar manner until all features have scores assigned to them under the Time Criticality, Risk Reduction / Opportunity Enablement and Job Size categories.
The (WSJF) formula
The formula to calculate the Cost of Delay (CoD) is done by adding the User and/or Business Value, Time Criticality and Risk Reduction / Opportunity Enablement values together.
CoD = BV + TC + RR or OE
The formula to calculate Weighted Shortest Job First is done by dividing the CoD by the Job Size.
WSJF = CoD / Job Size
Ranking initiatives by WSJF
At the end of this exercise, all of the initiatives should have WSJF scores which means that they should be ranked from highest to lowest scores. The initiatives with the highest scores represent the top priorities.
The process of assigning point values should be done regularly. As more information is gathered about certain initiatives, the point values should be updated to reflect that new information.