This is by no means a complete list of laws; I’ve purposely stuck to the ones that apply to everyday software development and steered clear of the more theoretical ones. Maybe I’ll compile a more complete list someday.
You’ll notice that some of the laws come from the world of biology — they also appear in some lists of software laws, and I think they still apply.
| The Law |
Who Said It |
What it Says |
| Amdahl’s Law |
Gene Amdahl |
The speedup gained from running a program on a parallel computer is greatly limited by the fraction of that program that can’t be parallelized. |
| Augustine’s Second Law of Socioscience |
Norman Augustine |
For every scientific (or engineering) action, there is an equal and opposite social reaction. |
| Brooks’ Law |
Fred Brooks |
Adding manpower to a late software project makes it later. |
| Clarke’s First Law |
Arthur C. Clarke |
When a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong. |
| Clarke’s Second Law |
Arthur C. Clarke |
The only way of discovering the limits of the possible is to venture a little way past them into the impossible. |
| Clarke’s Third Law |
Arthur C. Clarke |
Any sufficiently advanced technology is indistinguishable from magic. |
| Conway’s Law |
Melvin Conway |
Any piece of software reflects the organizational structure that produced it. |
| Cope’s Rule |
Edward Drinker Cope |
There is a general tendency toward size increase in evolution. |
| Dilbert Principle |
Scott Adams |
The most ineffective workers are systematically moved to the place where they can do the least damage: management. |
| Ellison’s Law of Cryptography and Usability |
Carl Ellison |
The userbase for strong cryptography declines by half with every additional keystroke or mouseclick required to make it work. |
| Ellison’s Law of Data |
Larry Ellison |
Once the business data have been centralized and integrated, the value of the database is greater than the sum of the preexisting parts. |
| The Law of False Alerts |
George Spafford |
As the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases. |
| Fisher’s Fundamental Theorem |
R. A. Fisher |
The more highly adapted an organism becomes, the less adaptable it is to any new change. |
| Fitts’ Law |
Paul Fitts |
The time to acquire a target is a function of the distance to and the size of the target. |
| Flon’s Axiom |
Lawrence Flon |
There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs. |
| Gilder’s Law |
George Gilder |
Bandwidth grows at least three times faster than computer power. |
| Godwin’s Law |
Mike Godwin |
As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one. |
| Grosch’s Law |
Herb Grosch |
The cost of computing systems increases as the square root of the computational power of the systems. |
| Hartree’s Law |
Douglas Hartree |
Whatever the state of a project, the time a project-leader will estimate for completion is constant. |
| Heisenbug Uncertainty Principle |
Jim Gray |
Most production software bugs are soft: they go away when you look at them. |
| Hick’s Law |
William Edmund Hick |
The time to make a decision is a function of the possible choices he or she has. |
| Hoare’s Law of Large Programs |
C. A. R. Hoare |
Inside every large problem is a small problem struggling to get out. |
| Hofstadter’s Law |
Douglas Hofstadter |
A task always takes longer than you expect, even when you take into account Hofstadter’s Law. |
| Jakob’s Law of the Internet User Experience |
Jakob Nielsen |
Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know. |
| Joy’s Law |
Bill Joy |
smart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.” |
| Kerckhoffs’ Principle |
Auguste Kerckhoffs |
In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge. |
| Linus’ Law |
Eric S. Raymond, who named it after Linus Torvalds |
Given enough eyeballs, all bugs are shallow. |
| Lister’s Law |
Timothy Lister |
People under time pressure don’t think faster. |
| Metcalfe’s Law |
Robert Metcalfe |
In network theory, the value of a system grows as approximately the square of the number of users of the system. |
| Moore’s Law |
Gordon Moore |
The number of transistors on an integrated circuit will double in about 18 months. |
| Murphy’s Law |
Captain Edward A. Murphy |
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it. |
| Nathan’s First Law |
Nathan Myhrvold |
Software is a gas; it expands to fill its container. |
| Ninety-ninety Law |
Tom Cargill |
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. |
| Occam’s Razor |
William of Occam |
The explanation requiring the fewest assumptions is most likely to be correct. |
| Osborn’s Law |
Don Osborn |
Variables won’t; constants aren’t. |
| Postel’s Law (the second clause of the Robustness Principle) |
Jon Postel |
Be conservative in what you send, liberal in what you accept. |
| Pareto Principle (a.k.a. “The 80-20 Rule”) |
Suggested by Joseph Juran, named after Vilifredo Pareto |
For many phenomena, 80% of consequences stem from 20% of the causes. |
| Parkinson’s Law |
C. Northcote Parkinson |
Work expands so as to fill the time available for its completion. |
| Pesticide Paradox |
Bruce Beizer |
Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual. |
| The Peter Principle |
Laurence J. Peter |
In a hierarchy, every employee tends to rise to his level of incompetence. |
| Reed’s Law |
David P. Reed |
The utility of large networks, particularly social networks, scales exponentially with the size of the network. |
| Rock’s Law |
Arthur Rock |
The cost of a semiconductor chip fabrication plant doubles every four years. |
| Sixty-sixty Rule |
Robert Glass |
Sixty percent of software’s dollar is spent on maintenance, and sixty percent of that maintenance is enhancement. |
| Spector’s Law |
Lincoln Spector |
The time it takes your favorite application to complete a given task doubles with each new revision. |
| Spafford’s Adoption Rule |
George Spafford |
For just about any technology, be it an operating system, application or network, when a sufficient level of adoption is reached, that technology then becomes a threat vector. |
| Sturgeon’s Revelation |
Theodore Sturgeon |
Ninety percent of everything is crud. |
| Tesler’s Law of Conservation as Complexity |
Larry Tesler |
You cannot reduce the complexity of a given task beyond a certain point. Once you’ve reached that point, you can only shift the burden around. |
| Weibull’s Power Law |
Waloddi Weibull |
The logarithm of failure rates increases linearly with the logarithm of age. |
| Wirth’s Law |
Niklaus Wirth |
Software gets slower faster than hardware gets faster. |
| Zawinski’s Law |
Jamie Zawinski |
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. |