Topic 65 of 91· Software engineering and digital delivery
WSJF and CD3
CD3 (Cost of Delay Divided by Duration) and WSJF (Weighted Shortest Job First) are prioritization rules that schedule work by value density: how much delay cost is removed per unit of scarce capacity consumed. Under a shared, fixed capacity, highest-CD3-first is the mathematically optimal sequence for minimizing total delay cost.
Why it matters
Every backlog is a rationing problem: many worthy items, one pipeline. Health economics solved the same problem for health budgets with cost-effectiveness league tables — rank interventions by health gained per pound, fund down the list until the budget exhausts. CD3 is the identical logic for delivery capacity: benefit per unit of the constrained resource, funded in rank order. Getting sequencing right is free money — same work, same capacity, less total delay cost.
The maths
CD3 = Cost of Delay (£/week) / Duration (weeks) — real units (Black Swan Farming)
WSJF = (user-business value + time criticality + risk reduction/opportunity
enablement) / job size — SAFe's relative-scale proxy,
modified-Fibonacci scores
CD3 with genuine currency (cost of delay) is strictly stronger than WSJF's unitless points — WSJF is to CD3 what multi-criteria scoring is to full cost-utility analysis: usable when monetization is impractical, gameable when the scores have no anchor.
Worked example
Three features, one team:
Feature CoD (£/wk) Duration CD3
A 30,000 10 wks 3,000
B 12,000 2 wks 6,000
C 5,000 1 wk 5,000
CD3 order: B, C, A. Compare total delay cost against "biggest CoD first" (A, B, C):
CD3 order (B,C,A): A waits 3 wks, C waits 2 → 30k×3 + 5k×2 = £100k delay cost
CoD order (A,B,C): B waits 10, C waits 12 → 12k×10 + 5k×12 = £180k
Same features, same team — sequencing alone saves £80,000. The intuition: small, urgent items go first because they release their delay cost cheaply; the big item loses little by waiting briefly.
Software engineering connection
For healthcare software portfolios, denominate CoD in the units this repo teaches: QALYs/week × threshold + operational £/week, and the backlog becomes directly commensurable with how the health system ranks everything else it buys. Two practice notes: (1) duration means calendar time occupying the constraint, not effort — a 2-week elapsed item that needs 2 days of the bottleneck team is cheaper than it looks (see downstream resource optimization); (2) hospitals run the same rule implicitly when they order theatre lists by urgency-weighted throughput — clinical prioritization categories are severity-weighted CD3 (see QALY shortfall and severity modifiers).
Pitfalls
- WSJF score theatre: unitless Fibonacci debates converge on whoever argues loudest; anchor at least the top-of-backlog items in real CoD.
- Duration gaming: splitting items to inflate CD3 rank — fine when splits deliver value independently, fraud when they don't.
- Ignoring urgency profiles: deadline-shaped CoD (regulatory dates) breaks the steady-rate assumption; schedule those by date feasibility, then CD3 the rest.
- Re-ranking churn: CD3 is for sequencing decisions at commitment time, not for daily reshuffling of in-flight work (see flow metrics on WIP).
Sources
- Black Swan Farming, CD3 and WSJF. https://blackswanfarming.com/wsjf-weighted-shortest-job-first/
- SAFe, WSJF. https://framework.scaledagile.com/wsjf
- Reinertsen DG, The Principles of Product Development Flow.