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 prioritisation 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 minimising 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 monetisation 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 optimisation); (2) hospitals run the same rule implicitly when they order theatre lists by urgency-weighted throughput — clinical prioritisation 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