Does It Have To Be This Hard?

In which Auntie rails at the sorry state of software—and what we can do about it.

I got up early this morning to finish my column for the month. The plan was to spend a leisurely morning writing about the reasons why Microsoft’s latest tools still turn out non-compliant HTML, followed by a lunch with my sweetie and a trip to the spa to reward myself for a job well done.

Instead, Fabio came home with the croissants to find me with my feet up on the keyboard, the computer off, and the newspaper open to the want ads. Was it too late, I wondered, to follow my mother’s advice and become a neurosurgeon?

You see, my computer told me this morning that it needed to install some updates to Windows. So I told it to do so and rebooted. Apparently, that was my fatal mistake, because the computer hung on boot. Two hours later, after numerous trips to safe mode, I’d finally isolated and removed the offending component and was able to get into my e-mail once again. By now lunch was lukewarm and I was steaming, thinking about the sorry state of software today.

It’s not like Auntie is the only one thinking about this, of course. In July, MIT’s respected Technology Review published an article by Charles C. Mann titled, “Why Software Is So Bad” (www.technologyreview.com/articles/
mann0702.asp
). Mann argues that poor design and market pressures account for the fact that every shipping program has bugs in it and suggests that it’s time for either a big class-action lawsuit or government regulation.

Maybe so, though this bon vivant is always suspicious of attempts to fix things by more regulation. Since I’ve got lunch on my mind at the moment (and now Fabio is eating the kiwis without me!), let’s look at an analogy from the world of food. A quick survey of the meals most eaten at lunch would suggest that the state of food is bad. It’s not that all food is bad, or that we don’t know how to prepare good food; it’s that there is more of a market for cheap food. More people would rather eat a 39-cent taco than pay the premium for a five-star creation.

It’s the same way with software. There are techniques for producing software with far fewer bugs than most Windows users experience. But such techniques require more planning, more review and testing during the development process, and better follow-up when quality problems are found. As a result, they’re limited to problem domains where quality is more important than innovation or flashiness. For example, the software that handles reconciling check transactions between banks is largely trouble-free. But its development cycle is tightly constrained, and its features are limited to those necessary to do its job.

Even so, if we’re going to pay fast-food prices (I love a good analogy, don’t you?), it would be nice to get fast food rather than rotten fruit. It really seems like something is out of whack these days. What can we do about this? While waiting for the lawyers to awaken to the opportunities, it’s time to think about when to say, “no.” Pick a stable configuration and, except for necessary security patches, stick to it. Get serious about testing patches before you roll them out. Lock down the corporate desktops to prevent rogue installations. Tell your vendor reps you’ll upgrade when a new version offers improved stability rather than new features. Vote with your checkbook.

Of course, none of that will help those of us who live on the cutting edge, whose job it is to see which bits are safe to roll out to the masses. But I feel better now that I’ve vented, and sometime this week I’ll reinstall Windows and start over again. Meanwhile, Fabio says he’ll take me out to dinner, because the croissants seem to have vanished. See you next month!

About the Author

Em C. Pea, MCP, is a technology consultant, writer and now budding nanotechnologist who you can expect to turn up somewhere writing about technology once again.

Featured