Atwood's Law
Any application that can be written in JavaScript, will eventually be written in JavaScript.
Ultimately this law concerns software distribution: the web is the best mechanism for distributing software,...
Brooks's Law
Adding [human resources] to a late software project makes it later.
This law first appeared in a classic book, The Mythical Man-Month. The central insight is...
Choose Boring Technology
Consider how you would solve your immediate problem without adding anything new.
Though rarely cited as a law, McKinley’s essay on boring technology has crystallized a resistance...
Conway's Law
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.
Conway’s Law is considered a driving principle of software management. Once an engineering organization is...
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.
Cunningham’s formulation was apocryphally described in a comment on Ben Schott’s blog in 2010. As...
Doerr's Law
We need teams of missionaries, not teams of mercenaries.
The point of this law is that product teams should be mission-oriented: engaged, autonomous, and...
Fitt's Law
The time to acquire a target is a function of the distance to and the size of the target.
Originating in psychology and usability studies, this law studied the ease of grasping a physical...
Gall's Law
A complex system that works has evolved from a simple system that worked. A complex system built from scratch won’t work.
Originating in systems design, this law encourages software developers and product managers alike to begin...
Goodhart's Law
When a measure becomes a target, it ceases to be a good measure.
Originating in economics, this law posits a pessimistic view of measuring the success of software....
Greenspun's tenth rule
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
This “tenth” rule is not really preceded by nine other rules, and its original date...
Hofstadter's Law
It always takes longer than you expect, even when you take into account Hofstadter's Law.
First coined in Hofstadter’s book Gödel, Escher, Bach, this law nods at the difficulty of...
Hyrum's Law
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
Given enough use, there is no such thing as a private implementation. That is, if...
Kerchkhoff's principle
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.
This principle predates modern software development by several decades, but establishes an important principle that...
Kernighan's Law
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?
It’s commonplace to conclude that debugging is harder than writing a program; empirical studies have...
Knuth's optimization principle
Premature optimization is the root of all evil.
Commonly attributed to Donald Knuth, some say this principle is really a popularization of a...
Law of Leaky Abstractions
All non-trivial abstractions, to some degree, are leaky.
This law points out that abstractions are imperfect. Hence, for example, SQL programmers must know...
Linus's Law
Given enough eyeballs, all bugs are shallow.
This law is attributed to Linus Torvalds but was popularized by Eric Raymond in his...
Lady Lovelace's Objection
The Analytical Engine has no pretensions to originate anything. It can do whatever we know how to order it to perform.
This law received its title from Alan Turing, in his famous 1950 paper Computing Machinery...
Moore's Law
The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years.
It’s fairly commonplace to observe that the average smartphone today is more powerful than even...
Norvig's Law
Any technology that surpasses 50% penetration will never double again.
A somewhat tongue-in-cheek truism about technological adoption and numeracy in popular press. In point of...
Parkinson's Law
Work expands so as to fill the time available for its completion.
Originating in management studies, this law first observed the growth of bureaucracies over time. It...
Peter Principle
People in a hierarchy tend to rise to "a level of respective incompetence."
The Peter Principle, founded on research conducted by Laurence J. Peter, states that individuals rise...
Postel's Law
Be conservative in what you send, liberal in what you accept.
Established during the creation of the Internet Protocol, this principle encourages the development of robust...
Shirky principle
Institutions will try to preserve the problem to which they are the solution.
This law is really about business generally rather than software in particular. However, it has...
Wirth's Law
Software gets slower faster than hardware gets faster.
Commonly considered a rejoinder to Moore’s Law, this law comments on the tendency for software...
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.
This law is both comical and grim at once. Many programs are totally unrelated to...