Previous Page of 2Next Page

Laws of Software Development

spinner.gif

Laws of Software Development 

by Joey deVilla

Inspired by Phil Haack's article 19 Eponymous Laws of Software Development, I decided to collect laws, axioms and rules pertaining to mainstream software development. This is by no means a complete list of laws; I've purposely stuck to the ones that apply to everyday software development and steered clear of the more theoretical ones. Maybe I'll compile a more complete list someday. You'll notice that some of the laws come from the world of biology - they also appear in some lists of software laws, and I think they still apply.

The Law  

Who Said It  

What it Says

Amdahl's Law  

Gene Amdahl  

The speedup gained from running a program on a parallel computer is greatly limited by the fraction of that program that can't be parallelized.

Augustine's Second Law of Socioscience  

Norman Augustine  

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

Brooks' Law  

Fred Brooks  

Adding manpower to a late software project makes it later.

Clarke's First Law  

Arthur C. Clarke  

When a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong.

Clarke's Second Law  

Arthur C. Clarke  

The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

Clarke's Third Law  

Arthur C. Clarke  

Any sufficiently advanced technology is indistinguishable from magic.

Conway's Law  

Melvin Conway  

Any piece of software reflects the organizational structure that produced it.

Cope's Rule  

Edward Drinker Cope  

There is a general tendency toward size increase in evolution.

Dilbert Principle  

Scott Adams  

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

Ellison's Law of Cryptography and Usability  

Carl Ellison  

The userbase for strong cryptography declines by half with every additional keystroke or mouseclick required to make it work.

Ellison's Law of Data  

Larry Ellison  

Once the business data have been centralized and integrated, the value of the database is greater than the sum of the preexisting parts.

The Law of False Alerts  

George Spafford  

As the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases.

Fisher's Fundamental Theorem  

R. A. Fisher  

The more highly adapted an organism becomes, the less adaptable it is to any new change.

Fitts' Law  

Paul Fitts  

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

Flon's Axiom  

Lawrence Flon  

There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs.

Gilder's Law  

George Gilder  

Bandwidth grows at least three times faster than computer power.

Godwin's Law  

Mike Godwin  

As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.

Grosch's Law  

Herb Grosch  

The cost of computing systems increases as the square root of the computational power of the systems.

Hartree's Law  

Douglas Hartree  

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

Heisenbug Uncertainty Principle  

Jim Gray  

Most production software bugs are soft: they go away when you look at them.

Hick's Law  

William Edmund Hick  

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

Hoare's Law of Large Programs  

C. A. R. Hoare  

Inside every large problem is a small problem struggling to get out.

Hofstadter's Law  

Douglas Hofstadter  

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

Jakob's Law of the Internet User Experience  

Jakob Nielsen  

Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.

Joy's Law  

Bill Joy  

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

Kerckhoffs' Principle  

Auguste Kerckhoffs  

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.

Linus' Law  

Eric S. Raymond, who named it after Linus Torvalds  

Given enough eyeballs, all bugs are shallow.

Previous Page of 2Next Page

Comments & Reviews

Login or Facebook Sign in with Twitter
Vote library_icon_grey.png Add

Recommended

Take Your Hand In Mine (sequel to WATFA BVB fanfic)KidnappedFeathers and Fangs scene 2Free Falling!! (Josh Hutcherson/One Direction Fanfic)