Just capturing a bit of one of Seth’s blog posts here because, well, complexity is my favourite topic innit?
Gall’s Law is appropriately simple:
“A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.”This is why sudden change rarely is, and why persistence and user feedback end up changing the systems that run our world.
A few more bits from reading around systems theorist John Gall, and Gall’s Law…
- Complex systems are full of variables and interdependencies that must be arranged just right in order to function.
- Complex systems designed from scratch will never work in the real world, since they haven’t been subject to environmental selection forces while being designed.
- Uncertainty ensures you will never be able to anticipate all of these interdependencies and variables in advance, so a complex system built from scratch will continually fail in all sorts of unexpected ways.
- Gall’s Law is why prototyping and iteration work so well in complexity.

Image credit: Photo by John Barkiple on Unsplash
