Tuesday, December 31, 2013

Moral for engineers: always look for the simple answer...

Moral for engineers: always look for the simple answer...  Via reader Sean H.  For some reason I haven't been able to pin down, software engineers seem to be particularly susceptible to the siren's call of overly complex solutions for problems that actually have a simple solution.  Here's a parable that nicely illustrates this engineering challenge, and it's in a form that anyone can understand:
A toothpaste factory had a problem: Due to the way the production line was set up, sometimes empty boxes were shipped without the tube inside. People with experience in designing production lines will tell you how difficult it is to have everything happen with timings so precise that every single unit coming off of it is perfect 100% of the time. Small variations in the environment (which can't be controlled in a cost-effective fashion) mean quality assurance checks must be smartly distributed across the production line so that customers all the way down to the supermarket won’t get frustrated and purchase another product instead.

Understanding how important that was to his bottom line, the CEO of the toothpaste factory gathered the top people in the company together. Since their own engineering department was already stretched too thin, they decided to hire an external engineering company to solve their empty boxes problem.

The project followed the usual process: budget and project sponsor allocated, requests for proposal sent out, third-parties were selected, and six months (and $8 million) later a fantastic solution was delivered — on time, on budget, high quality and everyone in the project had a great time. The problem was solved by using high-tech precision scales that would sound a bell and flash lights whenever a toothpaste box came off the production line weighing less than it should have. The line would stop, and someone had to walk over and yank the defective box off the line, then press another button to re-start the line.

A short time later, the CEO decided to have a look at the ROI (return on investment) of the project: amazing results! No empty boxes ever shipped out of the factory after the scales were put in place. There were very few customer complaints, and they were gaining market share. “That was some money well spent!” he said, before looking closely at the other statistics in the report.

The number of defects picked up by the scales was zero after three weeks of production use. How could that be? It should have been picking up at least a dozen a day, so maybe there was something wrong with the report. He sent an email asking why, and after some investigation, the engineers indicated the statistics were indeed correct. The scales were NOT picking up any defects, because all boxes that got to that point in the conveyor belt were good.

Perplexed, the CEO went down to the factory and walked up to the part of the line where the precision scales were installed. A few feet before the scale, a $20 desk fan was blowing any empty boxes off the belt and into a bin. Puzzled, the CEO turned to one of the workers who said, “Oh, that … one of the guys put it there because he was tired of walking over every time the bell rang!”

The moral is obvious: simple, obvious solutions are not always possible – but when they are, they are better.
A personal aside: I've seen the fan-blowing-empty-boxes-off-the-line solution in actual use, on a production line for paper clips.  There was a machine that took small boxes of paper clips and stuffed a dozen of them into a larger box.  That machine sometimes spit out an empty box (if it couldn't get 12 little boxes in time), and a nozzle squirting compressed air would blow those empties off the conveyor carrying the “full” boxes out of the machine.  It worked great!

No comments:

Post a Comment