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)