– Mars Climate Orbiter (1999): lost because one team used Imperial units and the other used Metric.
– Citibank $500M error (2020): a routine interest payment turned into a principal transfer due to ambiguous UI labels.
In both cases:
• No bugs
• No runtime exceptions
• Systems behaved exactly as designed
The failure wasn’t technical so much as semantic — meaning lived in people’s heads instead of the system.
I wrote this as a failure analysis of how assumptions leak into interfaces and documentation, and how costly that gap can be in practice.
Two well-known failures:
– Mars Climate Orbiter (1999): lost because one team used Imperial units and the other used Metric. – Citibank $500M error (2020): a routine interest payment turned into a principal transfer due to ambiguous UI labels.
In both cases: • No bugs • No runtime exceptions • Systems behaved exactly as designed
The failure wasn’t technical so much as semantic — meaning lived in people’s heads instead of the system.
I wrote this as a failure analysis of how assumptions leak into interfaces and documentation, and how costly that gap can be in practice.