Introduction: a software conspiracy?

Software company lawyers pack legal drafting committee meetings for over a decade to ensure that software firms don’t have to compete by the same rules as every other firm. Companies make software and sell it to the public despite the fact that there are hundreds or thousands of defects in the software, defects that the company is fully aware of when it sells it-but won’t tell you about. On the one hand, software companies call their software "mission critical"; on the other hand they deride the idea that they should strive to remove the defects from that software.

The conspiracy isn’t evil, it’s just single-minded: profit is the sole goal, quality (or anything else) is irrelevant. The side effects, however, are not irrelevant. Software defects have killed millions of staff hours. They’ve killed some great writing, some great figuring, some great ideas. People killed 65 million hours in 1996 waiting on hold when calling software firms for assistance. A lost e-mail message could kill a deal. There’s even evidence that it could kill the current economic boom.

And, yes, it’s even killed people. A seven-year-old boy was killed by bad software in a Chevy truck in Alabama. More than 200 people on a flight to Guam were killed by bad software in an altitude warning device. Twenty-eight Marines were killed when a missile just lost track of the time, thanks again to bad software. Cyber-murder, you might call it. And where there’s murder, you’ll. find journalists.

That’s why I wrote this book-I’m a computer journalist. I’ve been in the computer field for more than twenty years, having written my first program in 1973. Since 1987, I’ve been a columnist for BYTE, Windows NT Magazine, Nikkei NT, Compute, AI Expert, OS/2, and OS/2 Professional magazines, as well as a contributor to Computerworld, Teleconnect, Programmer’s Journal, and Computer Language magazines. I’ve written sixteen technical books on computers, with over a million and a half sold worldwide in twelve languages. I’m also a frequent speaker at computer conferences in North America and Europe, and do regular radio and TV appearances when hosts need someone who’s "technical" but who can speak English. In short, I watch the computer industry for a living. And what I see worries me.

I see word processors, e-mail packages, spreadsheets, and Web browser software shipped by large, well-established software companies while those pieces of software are still riddled with defects. Products that literally cannot be made to work reliably. Software entrepreneurs making millions of dollars in profits but claiming that they don’t have the time and money to include quality in their design specifications. An industry where 15 percent of the software firms don’t even test their software before selling it to you.

I wondered why software companies get away with this, particularly in a society as consumer oriented as the United States. So I talked to a lot of people in the business. And I got the same answer, over and over again: "We software firms ship buggy software because you consumers keep buying it. We could build reliable stuff, but no one cares." But I disagree; I think the reason we don’t demand quality is that most of us think that software’s just supposed to be this way, that it can’t be better. But it can.

That’s why I wrote this book. I have lost countless thoughts and ideas forever to software crashes, and I’ll bet you have too. I think we’re all tired of having our PCs lock up, forcing us to reboot and lose all of our work. We’re tired of calling a software vendor’s technical support line for assistance, only to be told in patronizing tones that there’s nothing wrong with the software, you just need to learn to use it properly, dummy. And I wrote this because I think that demanding good software is easy once you know a few things-things I’ve put in this book. The computer industry has traditionally used jargon and technical detail to separate itself from its consumers; in this book, I’ve done my best to keep things understandable to all and even, I hope, entertaining. I’ve also tried to make this as industry-wide an indictment as is possible. Many people I corresponded with seemed to think that this book would or should focus on Microsoft, but that’s not my intention: bugs are a problem for every software vendor, and Microsoft by no means has the corner on bugs. Yes, we hear a lot about bugs in Microsoft software, but that’s largely because Microsoft is so big-of course we’d be more aware of bugs in Microsoft software, as they affect so many people.

Chapter 1 is a short overview of the rest of the book, the "executive summary" for those who don’t have the time to absorb the whole book all at once. Chapter 2 looks at bugs in detail, asking why software has defects and what the common defects are, and provides some sensible advice on how to cope with common bugs in the software you use. Chapter 3 explodes the myth that software firms want you to believe-the myth that "it’s impossible to write software without bugs." Chapter 4 takes you into the world of software and the law, an area that’s become frightening recently with some proposed changes to U.S. laws-changes that would forever establish that it’s perfectly okay for software firms to sell you completely useless software and leave you no recourse whatsoever. Worse yet, those same software firms can show up at your door unannounced with a federal marshal and close down your business while ransacking your computers looking for software you didn’t pay for. Chapter 5 explains that bad software could have very large effects not just on each of us individually, but on the country as a whole. America essentially owns the software market, but if we’re not careful, we’ll lose it as we’ve lost so many others to our competitors across the seas. And Chapter 6 offers very specific, simple, step-by-step things you can do to help solve the problem of buggy software-everyday things anyone can do. Finally, Chapter 7 puts the rest of the book in perspective by offering a view of the possible futures-both good and bad-that could arrive if something does or doesn’t happen to change the quality of commercial software.

This book is only the starting point on a long journey to reliable software. To keep up on the latest in this area, or to offer comments or war stories of your own, e-mail me at help@minasi.com or visit www.softwareconspiracy.com.

In the software business, programs that sell extremely well are called "killer apps." Ready to meet a few killers? Then turn the page and join me for Chapter 1.