Topic 53 of 76 · 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 math

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 theater: 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