Troutman's Laws of Computer Programming
Troutman's Laws of Computer Programming
- Any running program is obsolete.
- Any planned program costs more and takes longer.
- Any useful program will have to be changed.
- Any useless program will have to be documented.
- The size of a program expands to fill all available memory.
- The value of a program is inversely proportional to the weight of output
- The complexity of a program grows until it exceeds the capability of the maintainers.
- Information necessitating a change in design is always conveyed to the implementors after the code is written. Corollary: Given a simple choice between one obviously right way and one obviously wrong way, it is often wiser to choose the wrong way, so as to expedite subsequent revision.
- The more innocuous a modification appears, the more code it will require rewriting.
- If a test installation functions perfectly, all subsequent systems will malfunction.
- Not until a program has been in production for at least six months will the most harmful error be discovered.
- Interchangeable modules won't.
- Any system that relies on computer reliability is unreliable.
- Any system that relies on human reliability is unreliable.
- Investment in reliability increases until it exceeds the probable cost of errors, or until someone insists on getting some useful work done.
- Adding manpower to a late software project makes it later.
- There's always one more bug.