Murphy's Laws of Computer Programming

Laws of Computer Programming

  1. Any given program, when running, is obsolete.
  2. Any given program costs more and takes longer.
  3. If a program is useful, it will have to be changed.
  4. If a program is useless, it will have to be documented.
  5. Any given program will expand to fill all available memory.
  6. The value of a program is proportional to the weight of its output.
  7. Program complexity grows until it exceeds the capability of the programmer who must maintain it.

Troutman's Programming Postulates

  1. If a test installation functions perfectly, all subsequent systems will malfunction.
  2. Not until a program has been in production for at least six month will the most harmful error be discovered.
  3. Job control cards that positively cannot be arranged in improper order will be.
  4. Interchangeable tapes won't.
  5. If the input editor has been designed to reject all bad input, some ingenious idiot will discover a method to get bad data past it.

Gilb's Law of Unreliability

  1. Computers are unreliable, but humans are even more unreliable.
  2. Any system which depends on human reliability is unreliable.
  3. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
  4. Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done.

Brook's Law

Adding manpower to a late software project will make it later.

Laws of Computerdom According to Golub

  1. Fuzzy project objectives are used to avoid the embarrassment of estimating the corresponding costs.
  2. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
  3. The effort required to correct course increases geometrically with time.
  4. Project teams detest weekly progress reports because it so vividly manifests their lack of progress.

Lubarsky's Law of Cybernetic Entomology

There's always one more bug.

Shaw's Principle

Build a system that even a fool can use, and only a fool will want to use it.
"Murphy"