Inversion — Deep Dive
Think backwards. Ask what guarantees failure, then systematically avoid it. A practitioner's guide.
"Invert, always invert." — Carl Jacobi (mathematician, often quoted by Charlie Munger)
The insight is deceptively simple: many problems are easier to solve backwards. Instead of asking "how do I succeed?", ask "how would I guarantee failure?" Then avoid those things.
This is a deep-dive companion to the frameworks overview. Here's what the 2-paragraph version leaves out.
What It Is (Precisely)
Inversion is not pessimism. It is not catastrophising. It is a structured technique for surfacing risks and failure modes that optimism blinds you to, by temporarily adopting the perspective of someone who wants the project to fail.
The mechanics:
- State the goal you're trying to achieve
- Ask: "What would guarantee we do NOT achieve this goal?"
- List all the failure modes you can generate
- For each failure mode: is this risk present in our current plan? What would we do to prevent it?
- Return to the forward problem with a better map of the terrain
The output of inversion isn't the solution — it's a set of constraints that any good solution must satisfy.
The Engineering Example: Architecture Review
When I joined a platform team at Bugcrowd, my first major task was reviewing a proposed architecture for a new platform migration. The team had spent six weeks designing it. Everyone was proud. The mood in the review meeting was "let's get this approved and start building."
I ran a forward analysis first (does this design achieve the goal?). It looked reasonable. Then I ran inversion.
Goal: Migrate the legacy platform to the new architecture with zero customer-visible downtime in 90 days.
What would guarantee failure?
- Database migration that requires extended lock time during peak traffic hours
- No rollback plan for the first three services to migrate
- Shared infrastructure dependencies that haven't been mapped — migrating one service breaks another
- Team members who own the legacy system going on leave during the migration window
- No performance baseline captured before migration, so we can't prove "equivalent performance"
Every one of those failure modes was present in the plan.
The team was not incompetent. They were optimistic — which is the default mode when you've been designing something for six weeks and want to build it. Inversion gave us a checklist of things to fix before we started, not a reason to abandon the project.
The migration shipped two weeks late. That is a success. Without inversion, it would have shipped four months late and with a P1 incident.
The Personal Example: Career Moves
In 2020 I was considering whether to take on a tech lead role at a new company. The forward question: "What would make this a great career move?"
Inversion: "What would guarantee this role damages my career?"
- Company fails within 18 months and the role disappears from my CV as a blip
- Tech debt is so severe that I spend the entire tenure firefighting, not building
- The team culture is one where blame travels faster than credit
- The role is tech lead in title only — all decisions actually made above my level
- I take it for the money and find out in month 3 that I hate the domain
Each item became a due diligence question. I asked specifically about:
- Runway (they showed me cap table; I trusted it more than the verbal assurance)
- Codebase age and who owned the oldest parts
- How they handled the last major incident (who was in the room, what happened after)
- Decision rights — who made the last architectural call and how
The role was a good one. But I went in with a much clearer picture of the risks than I would have had without inversion.
The Trap: Inversion Paralysis
The failure mode of inversion is using it as permission to not act.
"We inverted and found 12 risks" → "Therefore we should not proceed" → You never ship anything.
Inversion shows you what to avoid, not what to pursue. It is a risk-mapping tool, not a decision rule. After inversion, you still have to make a judgment call about which risks are acceptable, which are mitigable, and which are dealbreakers.
A useful discipline: after listing your failure modes, score each one on two axes:
- Probability: how likely is this to happen, given what we know?
- Severity: if it happens, how bad is it and how reversible is it?
High probability + high severity = dealbreaker or mandatory mitigation. Low probability + low severity = acknowledged and moved past. High severity + low probability = worth having a contingency plan for. High probability + low severity = fix it now, it's low cost.
This keeps inversion from becoming a reason to be paralyzed.
Pair It With Forward Planning
Inversion and forward planning are complements, not substitutes. My standard process for anything important:
- Forward: What does success look like? What's the plan to get there?
- Invert: What would guarantee failure? Is any of that present in the plan?
- Adjust: Change the plan to reduce the highest-severity failure modes
- Forward again: Re-evaluate the plan. Does it still achieve the goal?
- Commit: Make the decision with clear eyes
This takes 30-60 minutes for a medium-stakes decision. It has saved me from more bad calls than any other single practice.
The Template
GOAL: [State the goal in one sentence]
INVERSION: What would guarantee we DO NOT achieve this goal?
1.
2.
3.
4.
5.
FOR EACH FAILURE MODE:
- Is this present in our current plan? (Y/N)
- Probability: (Low/Medium/High)
- Severity: (Low/Medium/High)
- Mitigation or contingency:
REVISED PLAN:
What changes based on the inversion analysis?
Inversion pairs naturally with Pre-Mortem — both are failure-first frameworks, but Pre-Mortem is time-shifted (imagine it already failed). The decision journal shows these in practice on real decisions.