Skip to main content
Ben Nadel at CFinNC 2009 (Raleigh, North Carolina) with: Beth Rhinelander
Ben Nadel at CFinNC 2009 (Raleigh, North Carolina) with: Beth Rhinelander ( @brhine )

John Gall's Law On Building Complex Systems

Published in , Comments (2)

Years ago, in the book Designing Data-Intensive Applications, I came across "Gall's Law". It's a hot take on building complex systems by systems theorist, John Gall. The law resonates deeply with me; and, I wanted to pull it out into its own post so that I could share it more easily:

A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: a complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a simple system.

— John Gall

As a software engineer, it can be overwhelming to have a vision in my head of what an application should look like. And then, to imagine just how long it will take to actually materialize that vision into code. The sheer amount of theoretical work can make the very first step feel almost insurmountable.

But, Gall's Law gives me comfort. Starting small and then evolving a system over time isn't just a practical way to get work done - it's the only way to ensure that a system continues to work and has a chance at becoming successful.

Reader Comments

Post A Comment — I'd Love To Hear From You!

Post a Comment

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel