Introduction: a
software conspiracy?
Software company lawyers pack legal drafting committee meetings for over a
decade to ensure that software firms dont 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 wont 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 isnt evil, its 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. Theyve
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. Theres even evidence
that it could kill the current economic boom.
And, yes, its 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 theres murder, youll.
find journalists.
Thats why I wrote this book-Im a computer journalist. Ive been in
the computer field for more than twenty years, having written my first program
in 1973. Since 1987, Ive 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, Programmers Journal, and
Computer Language magazines. Ive written sixteen technical books on
computers, with over a million and a half sold worldwide in twelve languages.
Im also a frequent speaker at computer conferences in North America and
Europe, and do regular radio and TV appearances when hosts need someone whos
"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 dont have the time and money to
include quality in their design specifications. An industry where 15 percent of
the software firms dont 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 dont demand quality is that most of us think that softwares just
supposed to be this way, that it cant be better. But it can.
Thats why I wrote this book. I have lost countless thoughts and ideas
forever to software crashes, and Ill bet you have too. I think were all
tired of having our PCs lock up, forcing us to reboot and lose all of our work.
Were tired of calling a software vendors technical support line for
assistance, only to be told in patronizing tones that theres 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 Ive put in this book. The computer industry has traditionally
used jargon and technical detail to separate itself from its consumers; in this
book, Ive done my best to keep things understandable to all and even, I hope,
entertaining. Ive 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 thats 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 thats largely
because Microsoft is so big-of course wed 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 dont 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 "its impossible to
write software without bugs." Chapter 4 takes you into the world of
software and the law, an area thats become frightening recently with some
proposed changes to U.S. laws-changes that would forever establish that its
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 didnt 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 were not careful, well lose it as weve 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 doesnt 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.