Laws of Software Development

Published on February 10, 2008
This entry is quoting from BlueFlavor, GlobalNerdy and haacked. Very interesting and worthy-of-remembering laws regarding software development.
  • Sturgeon’s Revelation

    Ninety percent of everything is crud.

  • The Peter Principle

    In a hierarchy, every employee tends to rise to his level of incompetence.

  • Hofstadter’s Law

    A task always takes longer than you expect, even when you take into account Hofstadter’s Law.

  • Murphy’s Law

    If anything can go wrong, it will.

  • Brook’s Law

    Adding manpower to a late software project makes it later.

    A corollary:
    The bearing of a child takes nine months, no matter how many women are assigned.

  • Conway’s Law

    Any piece of software reflects the organizational structure that produced it

    Another way of putting it:
    If you have four groups working on a compiler, you’ll get a 4-pass compiler.

  • Linus’s Law

    Given enough eyeballs, all bugs are shallow.

  • Wirth’s law

    Software gets slower faster than hardware gets faster.

  • Fitt’s Law

    Time = a + b log2 ( D / S + 1 )

    Which means:
    The time to acquire a target is a function of the distance to and the size of the target.

  • Hick’s Law

    The time to make a decision is a function of the possible choices he or she has.

    Mathematically:
    Time = b log2(n + 1)

  • Lister’s Law

    People under time pressure don’t think faster.

  • Occam’s Razor

    The explanation requiring the fewest assumptions is most likely to be correct.

  • Hartree’s Law

    Whatever the state of a project, the time a project-leader will estimate for completion is constant.

  • Augustine’s Second Law of Socioscience

    For every scientific (or engineering) action, there is an equal and opposite social reaction.

  • Clarke’s Third Law

    Any sufficiently advanced technology is indistinguishable from magic.

  • Dilbert Principle

    The most ineffective workers are systematically moved to the place where they can do the least damage: management.

  • Joy's Law

    smart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.”

  • Pesticide Paradox

    Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.