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,...
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,...
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...
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...
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...
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...
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...
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...
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...
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....
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...
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...
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...
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...
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...
Premature optimization is the root of all evil.
Commonly attributed to Donald Knuth, some say this principle is really a popularization of a...
All non-trivial abstractions, to some degree, are leaky.
This law points out that abstractions are imperfect. Hence, for example, SQL programmers must know...
Given enough eyeballs, all bugs are shallow.
This law is attributed to Linus Trovalds but was popularized by Eric Raymond in his...
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...
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...
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...
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...
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...
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...
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...
Software gets slower faster than hardware gets faster.
Commonly considered a rejoinder to Moore’s Law, this law comments on the tendency for software...
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...