It's time we got tough about defective software

Docility: Consumers should hold industry to the same standards as cars and microwaves, and demand quality.

November 28, 1999|By Mark Minasi

PICTURE THIS: You go into a store to buy a microwave oven. You plunk down $200 and take it home. You try to cook some things, but after a few hours you're still burning everything that you put into it -- that is, when it doesn't stop working in mid-preparation, requiring you to unplug it and then plug it back into the wall to get it to start responding to your commands again.

It's not a satisfying experience, but you tell yourself with resignation that the problem is you're just not "appliance literate," and perhaps you could get this thing to cook some great dishes if you'd sign up for those Microwave Science classes at the local community college.

Sound likely? Of course not; once that microwave started giving you trouble, you would take it back and demand a refund. Ah, but suppose you go to a computer store and spend the same amount of money on a piece of software, perhaps a word processor, an accounting program for your small business or a game for your child. You put the software on your computer, and two weeks later it still crashes now and then, or loses part of your document, or does something unexpected that wastes hours or days of your time.

Do you take that software back to the store and get a refund? Well, for most of us, the answer is no. When we buy microwaves, cars, hamburgers, houses or newspapers, we expect quality. We call the results of bad design, "defects." With software, we've been trained to replace the harsher-sounding word, "defect," with the cuter, more innocuous-sounding "bug."

That seems odd in a country where a court told McDonald's to pay a woman $14 million because she didn't know that spilling hot coffee on herself would hurt. But in a society of consumer-oriented lions, we meekly lie down like little lambs when faced with low-quality software. There's a great cost to that docility in terms of lost time. Help Desk Institute, an industry group based in Denver, says Americans spent 65 million minutes last year on "hold" waiting for help from software companies.

But it doesn't have to be that way. Software companies can produce high-quality, "bulletproof" software any time they want.

The average consumer thinks -- has been trained to believe -- that software and bugs go hand in hand. But it's possible to write high quality software.

Organizations such as Carnegie-Mellon's Software Engineering Institute (SEI) have been showing people how to do that for 15 years, and their techniques yield results. In one example, Motorola adopted SEI methods when building the software in its StarTac cellular phones. Believe it or not, the programs that control a StarTac phone are about the same size as Microsoft's popular Windows program was in 1990, in Windows version 3.0. But where Windows 3.0 had about 5,000 defects, the StarTac programs have 24. So why doesn't every vendor produce low-defect software?

Managing a software development project means trading off time, quality and features. As the old saying goes, "you can have it fast, cheap or good -- pick two." In the commercial software business, vendors are required by their competition to turn out a new version of their software roughly every one to three years. They must trade off time between adding new features to the software and fixing bugs in the software. Historically, software firms have decided that adding features is far more important than fixing bugs.

In an interview in 1995, Microsoft's Bill Gates emphasized that "the reason that we come up with new versions is not to fix bugs, ... absolutely not. It's the stupidest reason to buy a new version that I ever heard. ... You won't get a single person to say they'd buy a new version because of bugs."

Gates is not alone in that point of view. Nearly every software executive I interviewed while working on a recent book agreed with Gates' comment, unanimously saying they believe consumers make software purchase or upgrade decisions solely on the basis of glitzy new features rather than reliability.

Asked hypothetically if they thought a new version with no new features, but almost no bugs, would sell, every software bigwig emphatically said "no." Asked if they had ever tried it, none could come up with an example.

Just as common sense in the past has told us that the Earth was flat and that tomatoes were poison, so also does everyone in the software business know that quality won't sell.

Unfortunately, this story isn't restricted to the software industry. Virtually every technological industry spends its childhood fixated on flashy new bells and whistles rather than quality.

We saw it in the U.S. automobile industry in the 1950s and 1960s. Once Detroit had run out of nifty new features to add to cars, they ran out of selling points. Instead of moving their industry from its feature-obsessed childhood to a quality-conscious adulthood, automakers tried to extend the life of the feature wars, adding fins, power ashtrays and the like.