The Power of Inversion 🔃
And how to use it successfully in Product and Engineering work
Hey 👋 this is Luca! Welcome to a ✨ monthly free edition✨ of Refactoring.
Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies.
You can learn more about Refactoring here.
To receive all the full articles and support Refactoring, consider subscribing 👇
Charlie Munger, business partner of Warren Buffett and Vice Chairman of Berkshire Hathaway, once famously said: "All I want to know is where I’m going to die, so I’ll never go there".
That quote was probably inspired by the German mathematician Carl Gustav Jacob Jacobi, who often solved hard problems by looking at them backwards. In his own words: "man muss immer umkehren" — that is: "Invert, always invert".
The origin of this approach, though, goes way back in history. Ancient stoic philosophers, like Seneca and Marcus Aurelius, often conducted an exercise called premeditatio malorum, that translates to "premeditation of evils".
Stoics believed that by visualizing negative things that could happen in their life, they could make better plans to prevent them.
This mental model is known today as Inversion. It was made popular (again) by Munger itself, as a framework that can be applied equally in life and business.
I have been a fan of Inversion for a while, but only recently I realized how many useful practices in Product and Engineering work actually stem from it.
In this article I am going to review some of my favourite ones:
💩 The Worst Possible Solution
✂️ Subtracting over Adding
A pre-mortem exercise is basically the modern version of the stoics' premeditatio malorum. It consists in listing all possible ways we could fail, and create a plan that takes those into account.
Pre-mortems are run at all levels (e.g. business, product, engineering) but they might take different names. Here are a few 👇
How Might We Fail
Google created the Design Sprint methodology as a way to kick-start new projects in a team. It is a 5-days process that goes from idea inception to building a prototype that gets tested with actual customers.
On Monday, at some point participants are asked to reply to the how might we fail question — that is, listing all the possible ways the initiative could have a bad outcome.
From a startup / business perspective, some common ones are:
The project is a solution for a non-existent problem
Customers are not willing to pay for it
We are not able to reach customers effectively
You could do the same for single features or product areas, asking yourself:
Why would a customer not want this?
How might this make the user experience worse?
Pre-mortems are popular and useful in engineering as well. As you work on a tech design, you can ask questions to address common issues before they actually happen:
Project running late — what could cause us to miss our deadline?
Technical Debt — what changes to requirements would make this design obsolete in the future? (see technical debt as disagreement)
Build the wrong thing — are there any requirements missing?
Scaling and reliability issues — are we creating any bottlenecks or single points of failure?
💩 The Worst Possible Solution
This is one of my favourite brainstorming techniques, and one of the most counterintuitive as well.
If you are looking for solutions to a problem, try to start with the worst you can imagine. Literally, those that either make the problem worse, or solve it at the expense of creating much bigger issues.
Bad solutions provide tons of insights and make it easier to work your way towards the good ones.
I have reported below an example of worst and best solutions for the traffic congestion problem, taken from a real brainstorming session I had a few months ago 👇
As you can see, some of the bad solutions are similar to the good ones, or provide direction to them.
If you want to learn more about this approach, I wrote a full article about it a few months ago.
✂️ Subtracting over Adding
Across several experiments, researchers have demonstrated that we have a bias towards addressing problems by adding new things (e.g. components, initiatives, ideas) rather than removing existing ones.
It is unclear why it is so, but it seems people do not consciously discard subtractive solutions — they do not consider them at all.
This is particularly unfortunate as subtraction is often faster and cheaper than addition.
So keep that in mind and add it to your arsenal. Ask yourself more often: can I solve this problem by just removing something?
Inversion is everywhere, so there are a ton of resources this week! Here they are:
📑 Practice The Stoic Art of Negative Visualization — Ryan Holiday wrote an entire book about stoics. This article explains one of their favorite practices, premeditatio malorum, which is the precursor of today's inversion thinking.
📑 Pre-mortem Instructions — A playbook to run effective pre-mortems, provided by the folks at Atlassian.
📑 Adding is favoured over subtracting in problem solving — Nature reveals our bias in solving problems by adding things, instead of subtracting them. Even when the latter would be easier.
📑 The Worst Possible Solution — I wrote this article in November to explain one of my favourite brainstorming techniques. It is about finding the best solutions for a problem, starting with the worst possible ones.
📑 The Crucial Thinking Skill Nobody Ever Taught You — James Clear, one of my favourite writers, explains Munger's thoughts about inversion, and how avoiding stupidity is often easier than seeking brilliance.
And that's it for this week! Have you practiced inversion — even unknowingly — in your work or life? Are there other techniques you want to share? Let me know in the comments or via email! 📮
Hey, I am Luca 👋 thank you for reading this far!
Every week I read tens of articles and draw from my own experience to create a 10-minutes advice about some engineering leadership topic.
Subscribe below to receive a new essay every Friday and put your own growth on autopilot!