Matt Rickard

Share this post

Gall's Law

blog.matt-rickard.com

Discover more from Matt Rickard

Thoughts on engineering, startups, and AI.
Continue reading
Sign in

Gall's Law

Mar 19, 2022
Share this post

Gall's Law

blog.matt-rickard.com
Share

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.

Simple is hard. But that's why theres inherent value in iteration (and it follows, the value in change velocity).

It tells us to keep our API surface small – because if successful, it will eventually grow (even with the most disciplined authors).

Gall's Law has a lot to do with common startup advice: think big, start small. Pick an idea with an eventually large total addressable market, but start with a small enough one where you can win.

Conversely, it's why startups have an advantage against incumbents. Complex systems need to be backwards compatible and are tough to change. Simple systems can move faster. Optimization is fragile.

Finally, the last part of Gall's Law is that you cannot design a complex system from scratch. Joel Spolsky wrote about this in Things You Should Never Do, Part I (spoiler: it's doing a full rewrite of a working program).

Share this post

Gall's Law

blog.matt-rickard.com
Share
Previous
Next
Comments
Top
New
Community

No posts

Ready for more?

© 2023 Matt Rickard
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing