1. Programmer produces code he believes is bug-free.
2. Product is tested. 20 bugs are found.
3. Programmer fixes 10 of the bugs and explains to the testing departmentthat the other 10 aren't really bugs, they're features.
4. Testing department finds that five of the fixes didn't work anddiscovers 15 new bugs.
5. Repeat three times steps 3 and 4.
6. Due to marketing pressure and an extremely premature productannouncement based on
overly-optimistic programming schedule, theproduct is released.
7. Users find 137 new bugs.
8. Original programmer, having cashed his royalty check, is nowhere to befound.
9. Newly-assembled programming team fixes almost all of the 137 bugs, butintroduce 456 new ones.
10. Original programmer sends underpaid testing department a postcard fromFiji. Entire testing department quits.
11. Company is bought in a hostile takeover by competitor using profits fromtheir latest release, which had 783 bugs.
12. New CEO is brought in by board of directors. He hires a programmer toredo program from scratch.
13. Programmer produces code he believes is bug-free...(probably the original programmer)