Software Laws
Atwoods's Law
Any application that can be written in JavaScript, will eventually be written in JavaScript.
Brook's Law
Adding human resources to a late software project makes it later.
Conway's Law
Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organisations.
Cunningham's Law
The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer.
Finagle's Law
Anything that can go wrong, will—at the worst possible moment
Gall's Law
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Goodhart's Law
When a measure becomes a target, it ceases to be a good measure.
Hanlon's Razor
Never attribute to malice that which is adequately explained by stupidity.
Hofstadter's Law
It always takes longer than you expect, even when you take into account Hofstadter's Law.
Hyrum's Law
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviours of your system will be depended on by somebody.
Kerchkhoff's Principle
A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.
Knuth's Optimization Principle
We should forget about small efficiencies, say about 97% of the time: premature optimisation is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Linus's Law
Given enough eyeballs, all bugs are shallow.
Metcalfe's Law
The effect of a telecommunications network is proportional to the square of the number of connected users of the system.
Miller's Law
The number of objects an average human can hold in working memory is 7 ± 2.
Moore's Law
The number of transistors in a dense integrated circuit doubles about every two years.
Muphry's law
If you write anything criticizing editing or proofreading, there will be a fault of some kind in what you have written.
Murphy's Law
Anything that can go wrong will go wrong.
Ninety-ninety rule
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
Norvig's Law
Any technology that surpasses 50% penetration will never double again (in any number of months).
Pareto Principle
Roughly 80% of the effects come from 20% of the causes
Parkinson's Law
Work expands so as to fill the time available for its completion.
Putt's Law
Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand.
Putt's Corollary
Every technical hierarchy, in time, develops a competence inversion.
Robustness Principle
Be conservative in what you do, be liberal in what you accept from others.
Roseberg's Law
Software is easy to make, except when you want it to do something new. [...] The only software that's worth making is software that does something new.
Sayre's Law
In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake.
The Peter Principle
People in a hierarchy tend to rise to their level of incompetence.
Wiio's Laws
Human communications usually fail except by accident.
Wirth's law
Software is getting slower more rapidly than hardware becomes faster.
Zawinski's Law
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.