Essay

13 Engineering Laws Every Builder Should Know

Named principles that explain why software systems and organisations behave the way they do.

These laws come up repeatedly in real work. They are not theory — they are observed reality, named and documented by people who built things and paid attention to what happened.

Each law has a satire article showing what happens when it is ignored in a fictional enterprise. Follow the link in the Scenario column to read the story.


LawPrincipleScenario
Conway's LawArchitecture mirrors the communication structure of the org that builds it.Read →
Brooks' LawAdding people to a late project makes it later.Read →
Gall's LawComplex systems can only evolve from simple ones that already worked.Read →
Hyrum's LawWith enough users, all observable behaviours become dependencies — regardless of the contract.Read →
Postel's LawBe conservative in what you send, liberal in what you accept.Read →
Parkinson's LawWork expands to fill the time available.Read →
Goodhart's LawWhen a measure becomes a target, it ceases to be a good measure.Read →
Law of Leaky AbstractionsAll non-trivial abstractions leak. The layer below is deferred cost, not optional knowledge.Read →
Hofstadter's LawIt always takes longer than you expect — even when you account for this law.Read →
Chesterton's FenceDon't remove what you don't understand. Find out why it's there first.Read →
Amdahl's LawSpeedup from parallelism is bounded by the sequential fraction.Read →
Wirth's LawSoftware gets slower faster than hardware gets faster.Read →
Principle of Least AstonishmentA system should behave the way users expect. Surprise is almost always a bug.Read →