Gall’s Law: Why “Big Bang” Launches Blow Up in Your Face

gall's law
You cannot design a jungle. You can only plant a seed.

The Hubris of the Architect

We love to pretend we are architects. We draw boxes and arrows. We plan “scalable microservices” for a startup that has zero users. We think complexity is a sign of intelligence. Gall’s Law teaches us that Complexity is a result, not a starting point.

The Mechanism of Failure

Why can’t you build a complex system from scratch? Because reality is messy. When you build a simple system (e.g., a Python script that scrapes one website), you encounter real-world friction. You fix the bugs. The system “hardens.” When you try to build a complex system (e.g., a universal scraping engine for the entire web), you multiply the friction by 1,000. You have 1,000 un-hardened components interacting with each other. The number of potential failure points is not additive; it is combinatorial. The system doesn’t just fail; it behaves unpredictably.

Case Study: The NHS IT Failure

In 2002, the UK government tried to build a centralized IT system for the National Health Service. They wanted “One System to Rule Them All.” It was the largest civil IT project in history. Result: It was abandoned in 2011. Cost: £10 BillionReason: They tried to impose a theoretical complex design onto a messy, organic reality.

How to Apply Gall’s Law to Your Portfolio

Since you are a “Novice Coder” building micro-apps, Gall’s Law is your best friend.

1. The “Skateboard” Method Don’t try to build a Ferrari.

  • Step 1: Build a Skateboard (A script that runs on your laptop). It works.
  • Step 2: Add a handle (Scooter). It works.
  • Step 3: Add an engine (Motorcycle). It works. At every stage, you have a working system.

2. Hard-Code First, Generalize Later Don’t build a “Content Management System.” Build one page with hard-coded HTML. Then build a second. Then, when you are tired of copy-pasting, write a script to generate them. The “System” emerges from the pain of doing it manually.

3. Ignore “Scalability” Scalability is a complex system problem. You don’t have a complex system yet. If you optimize for 1 million users when you have 10, you are violating Gall’s Law. You are adding complexity (caching, sharding, load balancers) before you have the simple system working.

Conclusion

The most robust systems in the world (The Internet, Biology, Language) were not designed. They evolved. Don’t be an Architect. Be a Gardener. Plant a simple seed. Watch it grow. Prune the bad branches.