I. Any given program, when running, is obsolete.
II. Any given program costs more and takes longer.
III. If a program is useful, it will have to be changed.
IV. If a program is useless, it will have to be documented.
V. Any program will expand to fill available memory.
VI. The value of a program is proportional to the weight of its output.
VII. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
VIII. Any non-trivial program contains at least one bug.
IX. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
X. Adding manpower to a late software project makes it later.
Lubarsky's Law of Cybernetic Entomology: There's always one more bug.
Shaw's Principle: Build a system that even a fool can use, and only a fool will want to use it.
Woltman's Law: Never program and drink beer at the same time.
Gallois' Revelation:
If you put tomfoolery into a computer, nothing comes out but tomfoolery.
But this tomfoolery, having passed through a very expensive machine, is
somehow enobled, and no one dares to criticize it.
jwalker@cs.oberlin.edu |