Software Engineering Laws
CSC 205


These laws are part humor and part exaggeration but they illustrate important points in Software Engineering.

Law Statement Citation
Brook's Law Adding manpower to a late software project makes it later. Mythical Man-Month, pg. 25
Experience Law The devil isn't smarter; he's just been around longer. Leon Presser, UCSB Professor
Fisher's First Law Never trust the programmer Gene Fisher, Cal Poly CSC Dept.
Gilb's Law of Unreliability Any system that depends upon human reliability is unreliable. Tom Gilb
Meeting Law Meetings are a waste of time fundamental law of nature
Meldal's Law Trying to be smart is too ambitious. Try not to be stupid. Sigurd Meldal, Cal Poly Professor
Murphy's Law If anything can go wrong, it will. fundamental law of nature
New Tool Rule Don't use new tools on new projects! Dan Stearns (he probably read it somewhere but forgot )
Second System Effect Plan to throw [the 1st version] away; you will anyhow. Mythical Man-month, pg. 116
Users 1st Law Do what the user wants, not what he says he wants Chris Buckalew, Cal Poly CSC Department
Users 2nd Law Users change their minds, most often after the system is deployed. fundamental software engineering law
Weiler's Law Nothing is impossible for the man who doesn't have to do it himself. Citation unknown
Weinberg's Programmer Laws If a programmer is indispensable, get rid of him as quickly as possible Weinberg, The Psychology of Computer Programming, pg. 100


Last updated on 10/29/98