1. Any working program is already out of date.
2. Any program is more expensive and takes longer than it could.
3. If the program is of practical value, it has to be changed.
4. If the program is useless, you need to write it down.
5. Any program grows until it fills all the available memory.
6. The value of a program is proportional to the amount of data it provides.
7. The complexity of the program increases until it exceeds the capabilities of the programmer who must work with it.
1. If the trial system works flawlessly, all subsequent ones will not function.
2. The most dangerous error is detected when the program has been functioning for six months.
3. Cards in the HR department file that cannot be confused are confused.
4. Interchangeable films are not interchangeable.
5. If your computer has protection against writing unwanted data, there will be an ingenious idiot who will find a way to bypass it and enter his data.
New software plus employee equals legacy software.
1. Fuzzy statement of project objectives is used to avoid unpleasant moments in determining the estimated costs of achieving these objectives.
2. The implementation of a poorly planned project takes three times longer than it could; a carefully planned project - twice.
3. Efforts to adjust the course of project development are growing exponentially.
4. Project teams are very reluctant to submit weekly progress reports because it clearly demonstrates the lack of success.
There is always one more "bug" in the program (from the English "bug", here: a bug in the program).
If you have developed a system that even a fool can understand, then only a fool will use it.
The machine must work, and the person must think.
If debugging is the process of removing errors, then programming should be the process of introducing them.
A machine program does what you told it to do, not what you want it to do.
When putting something into a computer, remember where you put it.
Never identify errors in a program if you do not know what to do with them next.
Have you already reached the point where you do not have time to solve those problems that are taking you all the time?
It is human to make mistakes, but only a computer can finally confuse everything.
1. Computers are unreliable, but humans are even more unreliable.
2. Any system that depends on human reliability is unreliable.
3. The number of errors that cannot be detected is infinite, as opposed to the number of errors that can be detected - it is finite by definition.
4. In the search for increased reliability, funds will be invested until they exceed the amount of losses from inevitable mistakes or until someone demands that at least some useful work be done.
The machine counts, the person makes (decisions).
When it seems that everything is already working, everything is combined into a system - you still have four months to work.