A soap factory had a problem. They sometimes shipped empty boxes without the bar inside. This challenged their perceived quality with the buyers and distributors. Understanding how important these relationships were, the CEO of the company assembled his top people. Six months and $8 million later, they had a fantastic solution - on time, on budget, and high quality. Everyone in the project was pleased.
They solved the problem by using a special scale that would sound a bell and flash lights whenever a soap box weighed less than it should. The line would stop, someone would walk over, remove the defective box, and then press another button to re-start the line. As a result of the new package monitoring process, no empty boxes were being shipped out of the factory.
A while later, the CEO decides to look at the first week report. Since the scales were put in place, no empty boxes had been shipped out of the factory. Each day about a dozen defective boxes were being removed, which was consistent with the projections. There were almost zero customer complaints and they were gaining market share. The CEO felt the $8 million was well spent.
However, the number of defective boxes picked up by the scales dropped to zero after three weeks. He filed a bug against it and after some investigation, the engineers came back saying the report was actually correct. The scales really weren't picking up any defects because all boxes that got to that point in the conveyor belt were good.
Puzzled, the CEO traveled down to the factory, viewed the part of the line where the precision scale was installed, and observed just ahead of the new $8 million dollar solution sat a $20 desk fan blowing the empty boxes off the belt and into a bin. He asked the line supervisor what that was about.
"Oh, that," the supervisor replied, "Bert, the kid from maintenance, put it there because he was tired of walking over, removing the box and re-starting the line every time the bell rang."
What did 2 tell 3 when he saw 6 acting like an idiot? Don’t worry about him. He’s just a product of our times.
The Programmer's Cycle
Software development cycle:
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 department that the other 10 aren't really bugs.
4. Testing department finds that five of the fixes didn't work and discovers 15 new bugs.
5. Repeat three times steps 3 and 4.
6. Due to marketing pressure and an extremely premature product announcement based on overly-optimistic programming schedule, the product is released.
7. Users find 137 new bugs.
8. Original programmer, having cashed his royalty check, is nowhere to be found.
9. Newly-assembled programming team fixes almost all of the 137 bugs, but introduce 456 new ones.
10. Original programmer sends underpaid testing department a postcard from Fiji. Entire testing department quits.
11. Company is bought in a hostile takeover by competitor using profits from their latest release, which had 783 bugs.
12. New CEO is brought in by board of directors. He hires a programmer to redo program from scratch.
13. Programmer produces code he believes is bug-free.