WSJF is a scheduling (or prioritizing) algorithm that maximizes whatever factor you choose to weight for a given time period. Applied to software development, it maximizes Return on Investment (ROI). To calculate it, we must know (1) the Cost of Delay (CoD) in delivering value; and (2) the cost to implement that value. However, because the value of software and cost of implementing is full of unknowns, we turn to the relative sizing techniques (e.g., planning poker) to arrive at a conclusion. To create a relative prioritization, it is not important to know costs in terms of absolute $$; it only matters that, whatever scoring system is used, it is used consistently.
WSJF is a scheduling (or prioritizing) algorithm that maximizes whatever factor you choose to weight for a given time period. Applied to software development, it maximizes Return on Investment (ROI). To calculate it, we must know (1) the Cost of Delay (CoD) in delivering value; and (2) the cost to implement that value. However, because the value of software and cost of implementing is full of unknowns, we turn to the relative sizing techniques (e.g., planning poker) to arrive at a conclusion. To create a relative prioritization, it is not important to know costs in terms of absolute $$; it only matters that, whatever scoring system is used, it is used consistently.
CoD is the sum of the following:
Relative value of the item (e.g., user story, feature, capacity, epic) to the business. If your organization uses SAFe, your Business Owners already assigned value scores during PI Planning.
Its time criticality (or, rather, the rate at which that value decays over time).
The item's potential for risk reduction and opportunity enablement (RR&OE). A higher RR&OE score represents a higher potential to reduce a risk, provide learning value, or enable new opportunities.
The cost to implement, in Agile, is sufficiently represented by the story points estimated for it on the backlog.
By using relative sizing (e.g., choosing a number within the Fibonacci sequence, from 1 to 20), each item gets a score using the following calculation: (Business Value + Time Criticality + RR&OE)/Story Points.
So, for example, compare the following three scenarios:
Implementing a legislative change may be highly valuable (20) and urgent (20) but doesn't provide additional opportunities or reduce known risks (1). If it was estimated by the team as 5 in story points, its WSJF number would be 41/5, or 8.2.
Re-engineering the application to run on an ESB has great business or architectural value (20), isn't particularly urgent (8), will offer significant strides in securing the data that flows through it (20), but will be a massive undertaking (20), its WSJF number would be 48/20, or 2.4.
Adding a productivity shortcut to the application has only limited value (5), has a satisfactory workaround (1), will reduce the possibility of user errors (8), and would be relatively straightforward to implement (5), its WSJF number would be 14/5, or 2.8.
The item with the highest WSJF provides the greatest economic benefit and should be given highest priority. So, the priority for implementing the three above would be (1) legislative change; (2) productivity shortcut; and (3) ESB.
Note: Story points (size) significantly affects WSJF. If items are danger of never getting sufficiently prioritized, it's likely that they need to been broken down into smaller ones.
Prioritize for fast feedback. (See also "Splitting Stories".)