| L1 |
Amdahl’s Law |
Mathematical |
Max speedup = 1 / (s + (1−s)/n);
parallelism is bounded by the sequential fraction |
| L2 |
Moore’s Law (and its limits) |
Mathematical |
Transistor density doubled every ~2 years;
physical limits now apply |
| L3 |
CAP Theorem |
Mathematical |
Consistency, Availability, and
Partition-tolerance — choose at most two during a partition |
| L4 |
Little’s Law |
Mathematical |
L = λW; throughput × latency =
concurrency; one of the three determines the others |
| L5 |
Metcalfe’s Law |
Mathematical |
Network value scales as O(n²);
adds/removes have non-linear effect |
| L6 |
Brooks’s Law |
Behavioural |
Adding engineers to a late project makes
it later |
| L7 |
Hofstadter’s Law |
Behavioural |
It always takes longer than you expect,
even accounting for Hofstadter’s Law |
| L8 |
Parkinson’s Law |
Behavioural |
Work expands to fill the time
available |
| L9 |
Goodhart’s Law |
Behavioural |
When a measure becomes a target, it ceases
to be a good measure |
| L10 |
Conway’s Law |
Design |
Software architecture mirrors the
communication structure of the team that built it |
| L11 |
Gall’s Law |
Design |
Complex systems that work evolved from
simple systems that worked |
| L12 |
Postel’s Law |
Design |
Be conservative in what you send; be
liberal in what you accept |
| L13 |
Law of Leaky Abstractions |
Design |
All non-trivial abstractions are
leaky |
| L14 |
Hyrum’s Law |
Design |
Any observable behaviour of an API will be
depended upon by someone |
| L15 |
Pareto Principle |
Statistical |
80% of effects come from 20% of
causes |
| L16 |
Linus’s Law |
Statistical |
Given enough eyes, all bugs are
shallow |