Regret-minimization
canonReserve it for big one-way bets only — project yourself forward and choose the path you'll least regret. Overkill for reversible calls.
Decision Heuristics & Anti-Patterns
Recall these by name; don't re-derive them each time. The reversibility of the decision sets how much rigor it earns — everything else follows from that read.
Type-2 · reversible
Two-way door
Decide fast, iterate. Most decisions are reversible — the cost of waiting exceeds the cost of a wrong turn you can undo.
Type-1 · one-way
One-way door
Slow down. Pre-mortem, gather diverse input, apply regret-minimization. Irreversible bets earn the extra rigor.
Reversibility is the rigor dial — the first read on any decision.
Above the fold
Classify the door first.
Type-2 (reversible): decide fast & iterate. Type-1 (one-way door): slow down, pre-mortem, diverse input. The read sets the rigor.
Price the opportunity cost.
“Every yes is a no to something else” (Doshi). Cost the alternative you're not doing — the real price of a choice is what it displaces.
Check whether you're in the build trap.
If success means features shipped rather than outcomes moved, the process is the problem — not the backlog (Perri).
Decision heuristics
The dashed cards are apply-by-name pointers — canon you invoke, not re-teach. The solid cards carry the judgment and stay in full.
Apply by name · canon
Reserve it for big one-way bets only — project yourself forward and choose the path you'll least regret. Overkill for reversible calls.
Type-2 (reversible) — decide fast & iterate. Type-1 (one-way door) — slow down, pre-mortem, diverse input. The classification is the whole heuristic.
Price the cost of not doing the alternative. “Every yes is a no to something else.”
Keep in full · these carry the judgment
You're trapped if any of these hold:
Every decision must create customer value AND capture business value. One-sided is not sustainable — a delight that never monetizes and a monetization that never delights both decay.
Fully resolve a subset of the struggle. A narrow slice that delights beats a broad slice that doesn't.
Does it compress a painful workflow and trigger a visceral “I need this now”? A multi-signal read, not a checklist — a weak reaction means the problem isn't sharp enough to fund.
To overcome switching cost and inertia, be ~3× better than the status quo on the one dimension that matters. Incremental wins don't move people.
DirectionalAnti-patterns · the tell, and the fix
Eight classic failure modes and five the AI era added. Each pairs the tell — how you notice it — with the fix that pulls you out.
Classic 8
Tell
Output-measured — success is count of features shipped.
Fix
A problem + outcome metric per item.
Tell
authority wins
Fix
frameworks + experiments
Tell
Endless research, no decision.
Fix
Time-boxed discovery to a “sufficient-confidence” bar.
Tell
Spec written before the problem is framed.
Fix
A JTBD problem statement first.
Tell
Yes to all requests.
Fix
Transparent prioritization + a published “not doing” list.
Tell
Signups/downloads as the headline.
Fix
North Star + activation/retention.
Tell
Scaling before product-market fit.
Fix
Fix retention first.
Tell
Data only — no direct customer contact.
Fix
Weekly customer contact.
AI-era 5 · new failure modes
Tell
Chasing AI because it's AI.
Fix
Demand a sharp problem + an eval plan before building. A demo is not a product.
Tell
Leadership drops AI features over the PM.
Fix
Surface the opportunity cost, re-anchor the decision on the problem. (Udezue)
Tell
A happy-path demo treated as shippable.
Fix
Gate on eval pass-rate + real traces, not the rehearsed path.
Tell
Cheap generation floods the backlog.
Fix
Raise the bar, not the throughput. Most ideas still shouldn't ship.
Tell
Ship-count as the headline metric.
Fix
Learning velocity > shipping velocity. Measure outcomes, not output.
Try it
The blind-spot tagger, live: match the ritual to the stakes — the full five-point check for irreversible calls, a one-line tag for routine ones. It writes the decision tag for you.
The blind-spot tagger needs JavaScript to run. Run it on the Tools page.