The Computing Series

Why This Framework Exists

In 2012, a deploy went wrong at a major financial exchange. The exchange’s order management system began accepting and rejecting orders in a way that no human had authorised. Within 45 minutes, the firm had accumulated $7 billion in unwanted stock positions. The root cause was a deploy that activated legacy code that had not been run in years. The software did not have a kill switch. There was no way to roll back quickly. The system had no obvious way to identify what had changed. After 45 minutes, the firm was insolvent.

That incident violated four engineering principles simultaneously: Fail Fast (the system did not stop when it detected anomalous behaviour), Observability (nobody could see what the system was doing until the positions were already taken), Reproducibility (the legacy code path could not be tested before activation), and Consistency (the system produced different behaviour under identical-looking conditions). None of these principles were missing because the engineers were incompetent. They were missing because no one had named them as requirements.

The fifteen engineering principles are not aspirations. They are the properties a system must have to be both safe and evolvable. Each absent principle creates a predictable failure mode.

You have seen these principles described in many forms. What follows names them precisely and connects each one to the failure mode its absence creates — which is how you use them as a checklist rather than a philosophy.


Read in the book →