The figures in this group are the folklore of people who build technology, and a smaller set of sayings about what technology does to everyone else. The first set is funny and specific, and much of it describes the gap between how long work should take and how long it does. The second set is more reflective, and it contains some of the most quoted lines about technology ever written.
Why software is late
The estimation laws are unanimous. The Ninety-Ninety Rule holds that the first 90 per cent of the code takes 90 per cent of the time and the remaining 10 per cent takes the other 90 per cent. Cheops's Law finds nothing built on schedule or within budget. Yak Shaving names the chain of unrelated prerequisites any task turns out to need. Technical Debt, Ward Cunningham's metaphor, explains the cost of shortcuts: expedient choices accrue interest, and unpaid interest compounds.
Why software grows
A second cluster describes creep. Zawinski's Law holds that every program expands until it can read mail. Greenspun's Tenth Rule finds complex programs reimplementing, badly, the features of a more powerful language. Andy and Bill's Law observes that software consumes whatever hardware gains are made. Atwood's Law predicts that anything that can be written in JavaScript eventually will be.
Humility about one's own work
The sayings most often passed on as advice are warnings to the author. Kernighan's Law notes that debugging is twice as hard as writing, so code written as cleverly as possible cannot be debugged by its writer. Knuth's Law, usually quoted as "premature optimisation is the root of all evil", is almost always quoted without its qualification about the small share of code where efficiency matters. Eagleson's Law says code you have not looked at for six months might as well have been written by someone else. Schneier's Law warns that anyone can design a security system they cannot break themselves. The Fallacies of Distributed Computing list the assumptions, such as a reliable and free network, that every new distributed system gets wrong.
Technology and everyone else
The reflective sayings address society. Kranzberg's First Law, that technology is neither good nor bad, nor is it neutral, is among the most quoted sentences on the subject. Amara's Law holds that we overestimate technology in the short run and underestimate it in the long run. Clarke's Three Laws include the best-known line in the group: any sufficiently advanced technology is indistinguishable from magic. Moravec's Paradox observes that what is easy for humans, such as walking and seeing, is hard for machines, and what is hard for humans, such as chess and arithmetic, is easy. Douglas Adams's law of technology adoption explains why each generation finds the technology of its youth natural and the next generation's alarming.
Where it applies
The project laws apply to any schedule, since the ninety-ninety rule and yak shaving describe most complex work, not only software. Technical debt has become a standard way for engineers to explain maintenance costs to management. Amara's law is a sound corrective to technology forecasts in both directions, and Moravec's paradox has proved a useful guide to which jobs automation reaches first.
Where it is argued over
Several of these laws have met counter-examples. Linus's Law, that with enough eyeballs all bugs are shallow, is often challenged with the Heartbleed vulnerability, which sat in widely used open-source code for about two years before anyone noticed. Gilmore's Law, that the internet routes around censorship, is challenged by critics who point to how much more effective national filtering has become since it was coined. The Privacy Paradox carries a contested flag because researchers disagree about whether it shows insincere preferences or choices made inside systems designed to extract data.
Why it is worth knowing
This folklore is how a young profession has passed on its experience, and much of it records lessons that formal methodology teaches at far greater length. The project laws explain why estimates fail; the humility laws explain why clever work breaks; and the sayings about society supply a balanced vocabulary for a subject usually discussed with either hype or alarm. Kranzberg's line sums up the subject: technology is not good or bad in itself, and it is never neutral.
The entries behind this essay: Figure in Technology & Software. Every subject has its essays on the essays page.