I have found these over the past couple of years and I decided that I
now have enough to post. (Sorry if you have seen some of these before
in one form or another.)
Gutterson's Laws
- Any programming project that begins well ends badly.
- Any programming project that begins badly ends worse.
Klienbrunner's Corollaries
- If a programming task looks easy its tough.
- If a programming task looks tough it's damn-well impossible.
Mungbright's Laws
- Any given program, when running, is obsolete.
- Any given program costs more and takes longer.
- If a program is useful it will have to be changed.
- If a program is useless it will have to be documented.
- Any given program will expand to fill all available memory.
- The value of a program is inversly proportional to the weight
of its output.
- Program complexity grows until it exceeds the capability of the
programmer who must maintain it.
- Not until the program has been released for six months will the most
harmful error be discovered.
- Machine independant code isn't.
- Adding man power to a late software project makes it later.
- The effort required to correct software problems increases
geometrically with time.
Edsel Murphy's Laws
- It is impossible to make anything foolproof because fools are so
ingenious.
- If something can go wrong, it will.
- Things get worse under preasure.
- Only after a task have proven completely impossible is it time to
read the reference book.
- When a system is designed so that fools can use it, only fools can
use it.
- When a program is working perfectly the programmer will not know
what the heck is going on.
- There is more than one way to crash a system.
- User friendly manuals aren't.
- A fast and efficient time-sharing system isn't.
- When a computer is most needed it will break down.
- All major bugs in a software project will turn up five minutes
before it is due.
- You will always find the bug in the last place you would look, the
least expected place.
Farvour's Law
- There is always one more bug.
Brunk's Law
- If a listing has a begining it has an end.
Zepplemier's Corollary
- The last four pages of a critical listing will be lost.
Pennington's Observation
- The probability that a given program will perform to expectations is
inversly proportional to the programmers confidence in his ability to
do the job.
Dunstone's Philosophy
- There is more than one way to boot a disk.
Dykstra's Observation
- If debugging is the process of removing bugs, then programming must
be the process of putting them in.
Dean Tregenza (deant@dmscanb.dms.oz)
{ed I know there are lots more, but I don't do followups }
(From the "Rest" of RHF)