Less Room for Bugs in Shrinkwrapped Software
Reader response to Those Damned Bugs! by Gene Callahan
Dear Dr. Dobb's,
I agree that program users have an artificially high expectation for bug-free performance. But I do divorce off-the-shelf software from its custom-written cousin. I have a higher expectation for the software in a box. I didn't get a say in how it was designed and I expect it to perform to the lowest common denominator: stability. On the other hand, I have the role of ringmaster when writing for clients and I have had identical experiences to Mr. Callahan in terms of using beta versions. In my most strikingly similar example, I was asked to come in and save a company I had previously done work for. About two years earlier, I had agreed with the decision to go with a packaged solution to their systems software needs as a cost- and time-efficient solution to my needing to learn several skills I didn't have at the time. Unfortunately, the package was nothing like the glossy brochure and was driving the client close to bankruptcy. Hourly crashes were common. So, when I delivered the first beta a weekend later, the office workers summarily threw away the other package and started to use my beta. This was absurd. It was feature-poor.
But it did not crash. That was all they were interested in. That particular project went through 279 revisions. At least once I was forced to work weeks to accomodate a feature the client wanted, but did not ask for initially for fear of "putting too much on my plate." Needless to say, a mention of it at the start would have reduced those weeks to hours, maybe even minutes. They were paying the freight and that earned them the right to change their mind and again and again. Because the users grew with the program, they understood the almost bio-mechanical lifespan of the program. They still cling to it, even as we are slowly introducing a GUI re-write that they make every excuse not to beta test. By putting things off, they hope one day to throw a switch and leave the old comfortable program behind and start using a fully-realized replacement ... that will probably have 200-300 updates in its life cycle.
As long as I adhere to my stability and paranoid inclination to keep multiple copies and generations of data, they'll be happy. On the other hand, I as the consumer, will always be upset with the continual cycle of featuritis before stability and speed coming from the programming houses. They don't understand less is more, or worse, refuse to think of themselves as consumers really using their product rather than showing it off at some [show like] Comdex. The other writers cited in the article do have it right. Bugginess created from ego is inexcusable. And it only works when you don't stare your victim in the eye. Bugginess in programs when both sides understand it to be a growing experience is real life.
Gary Mugford
[email protected]
If you have comments, questions, or would like to contribute your own opinions, please contact us at [email protected]