COMMON PITFALL
WSJF: when Cost of Delay stays vague
A sheet of relative numbers that nobody can challenge is not an economic call.
By Michael Tor · October 2026
WSJF (Weighted Shortest Job First) sequences a backlog by Cost of Delay divided by job size. SAFe's guidance describes it as a way to sequence work for maximum economic benefit, and opens with Donald Reinertsen's line: if you only quantify one thing, quantify the Cost of Delay. It is an economic sequencing call, not a spreadsheet fill-in.
Who is this for?
Product managers and ART owners running a PI or quarter sequencing session who fill a WSJF sheet so the backlog looks economically ranked. The tension is familiar. Every epic has a score, the highest WSJF items sit at the top, and leadership leaves satisfied. But Cost of Delay was never challenged component by component. Job sizes got negotiated down so favorites rose. Nobody agreed when the sheet would be re-scored.
What is the Cost-of-Delay theater failure mode?
Cost-of-Delay theater happens when the team fills relative user value, time criticality, risk reduction, and job size into a sorted list that looks economic. The three Cost of Delay components are never challenged column by column. Job size is shrunk after Cost of Delay to lift favorites. The ranking stays frozen when the deadline or risk changes.
Joshua Arnold puts it in InfoQ as: it is critical that assumptions are shared and made visible to prevent gaming. He reports Reinertsen's finding that about 85% of people in product development do not know whether a month of delay is worth a million dollars or a thousand.
Consider an ART with three epics for the next PI: payments fraud rules, a partner SSO, and a reporting redesign. Fraud scores high on risk reduction and time criticality. SSO scores high on user value but low on urgency. Reporting looks valuable until someone asks what a month of delay is worth and the answer is that nobody knows. Job size for reporting is quietly cut from 13 to 5 so its WSJF jumps. The fix is simple. The PM freezes the sheet, restores the job-size scale, writes the delay-value assumption for fraud, and tags a re-score if the partner go-live date moves.
Will your WSJF ranking hold when the deadline moves?
Check these six conditions before you trust the ranking.
-
Cost of Delay is scored column by column
User value, time criticality, and risk reduction each have a written assumption, not filled row by row to win a favorite.
-
Job size uses the same relative scale for every item
ProductPlan's glossary notes that calculating job duration can be difficult. Do not shrink job size after Cost of Delay is set just to raise the final WSJF.
-
At least one component answers a challengeable question
State what a month of delay is worth here in plain language.
-
A named re-score trigger exists
SAFe describes continuously updated priorities when time criticality, risk, or a competitor move changes.
-
Sunk cost is not used to justify the work
SAFe's WSJF guidance notes that WSJF ignores sunk costs. Do not use sunk cost as a reason to keep a low-WSJF item in flight.
-
Short high-Cost-of-Delay jobs are actually sequenced first
Any override of that economic order is written with why.
When does WSJF help?
It helps when several large items compete for limited capacity and you need an economic order rather than bucket labels alone. SAFe frames WSJF for sequencing Features, Capabilities, and Epics for maximum economic benefit. Arnold's CD3 framing is for prioritizing with scarce capacity. It works when time criticality and risk reduction matter as much as raw value.
When does it hurt?
It hurts when Cost of Delay is left as vague relative numbers nobody can challenge. Arnold puts it as: unless you quantify Cost of Delay, the price of queues remains invisible. It hurts when job size is the only lever people fight over, so favorites win by looking small. It fails when the sheet is filled once and never re-scored, or when the real question is whether the release is the right bet at all. WSJF sequences work you have already chosen to consider. It does not replace strategy.