The Computing Series

F9 — The 16 Engineering Laws

# Law Category One-Line
L1 Amdahl’s Law Mathematical Speedup is bounded by the sequential fraction
L2 Moore’s Law (limits) Mathematical Single-core gains have stalled; hardware won’t save you
L3 CAP Theorem Mathematical Consistency and availability cannot both hold during a partition
L4 Little’s Law Mathematical L = λW — queue depth = arrival rate × time in system
L5 Metcalfe’s Law Mathematical Network value grows as n² of connected nodes
L6 Brooks’s Law Human Adding engineers to a late project makes it later
L7 Hofstadter’s Law Human Always takes longer than expected, even accounting for this
L8 Parkinson’s Law Human Work expands to fill the time available
L9 Goodhart’s Law Human A metric becomes useless once it becomes a target
L10 Conway’s Law Design Systems mirror the org’s communication structure
L11 Gall’s Law Design Complex working systems evolved from simple working systems
L12 Postel’s Law Design Conservative in what you send; liberal in what you accept
L13 Leaky Abstractions Design All non-trivial abstractions leak implementation details
L14 Hyrum’s Law Design All observable behaviour will be depended on
L15 Pareto Principle Statistical 80% of effects come from 20% of causes
L16 Linus’s Law Statistical Given enough eyeballs, all bugs are shallow

Mathematical = physics; design within them. Human/Statistical = tendencies; mitigate them. Design = advice; apply with judgment.


Read in the book →