Recently I've noticed a trend that is disturbing to someone with a 1970's mainframe training. It's what I call the "good enough" design philosophy.
In the mainframe world data integrity was (and mostly still is) the most important issue. z/OS probably has more code devoted to data integrity and error recovery than anything else. To a gray haired mainframe person the idea of losing data is their worst nightmare.
This is not necessarily the case today. I see more and more systems designed around the "good enough" philosophy. That is to say, the system works for a few test cases and seems to be "good enough" to get the job done. No safe guards or redundancy is designed into the system. At best, some kind of logging and auditing is tacked on as an after thought.
Most businesses can run on "good enough" systems. If a few orders get missed, so what? The customer can serve as quality control. If the customer really wants the product he'll call back when it doesn't show up. (I did on a pair of orthopedic shoes.) The worst that may happen is a little wasted time, an irate customer who doesn't have another source and maybe some lost profit.
There are places where "good enough" just doesn't cut it. Things we used to call "mission critical" systems. Life safety issues come immediately to mind. Hospitals, pharmacies, doctors, anything in the medical professions have a high cost of failure if they get it wrong. Same for physical infrastructure facilities like dams, power plants, water treatment plants or traffic light control systems. A failure in any of these leads to a bit more than an inconvenienced customer.
How did we get to the point of people settling for "good enough"? We, the customers, have driven vendors to this point by concentrating only on low cost. If it isn't cheap, we won't buy it. We expect decent solutions for cents, not dollars. This applies to both our business and personal lives.
So the next time you see a traffic light, drink from your local water system or visit your doctor, hope that the person who designed the system in use made it better than "good enough". Maybe all of us building these systems should all consider buying a little better equipment than we think we need.
About John Weinhoeft:
For the past 30-plus years John Weinhoeft has had his hand in the computer industry. He recently retired from designing and managing the State of Illinois' centralized computer systems that served 100 agencies. John has authored and edited a number of analytical books published by Computer Technology Research Corporation. He is, or has been, a member of several computer organizations including the Computer Measurement Group and Central Illinois Personal Computer Users Group.
Send John your comments
Do you want to see more articles by John Weinhoft or insights from noted industry observers? Visit the complete Bits & Bytes column library.