Software

Steve steve at advocate.net
Wed Jun 23 10:02:00 PDT 1999


x-no-archive: yes

====================

Cars and toasters are expected to work. But bad software is a norm,
and the industry wants to keep it that way.

Charles Palson
Boston Globe 6/20/99


The engine in your new car self-destructs after a five-minute drive.
The dealer later tells you the manufacturer knowingly produced the
defect, but you have to pay for a new engine anyway. That's because
the automakers convinced Congress that consumer protection laws would
drive up car prices beyond the reach of the average buyer, so the
laws were changed to exempt the companies.

Sound like B-grade fiction? Unfortunately, the answer is: not for
the American software industry. Their intention is clearly stated in
the licensing agreement displayed on your monitor when you install
new software. Clicking OK means you agree that the manufacturer bears
no responsibility for defects.

Did you find features that don't work as advertised?
Truth-in-advertising laws don't apply. Did the program erase your
hard drive? So what. Did the manufacturer have prior knowledge of 95
percent of all the defects beforehand, the industry average?
Irrelevant. You might be able to return the product, but your time,
whatever it is worth, is lost. It's the law.

But not according to some courts, which have recently declared these
licenses illegal because they contradict provisions in the Uniform
Commercial Code, the grandfather of all consumer-protection laws. The
software industry, seeing where this liability could lead, now wants
to exclude itself from the minimal consumer protections offered under
the code. Its argument? Perfect or error-free software would be
either impossible or too expensive to produce.

''Perfect'' was carefully chosen for its emotional effect. After
all, everyone knows that achieving perfection is beyond any mortal.
But it's a false argument. The Uniform Commercial Code doesn't
mention anything about perfection; it states in essence that a
product should be fit for ordinary use and conform to printed claims.
If other American industries have managed to conform to the code, why
should software be any different?

Several reputable specialists this writer interviewed don't think it
should be. One of these, Ken Johnson, who is director of Minnesota's
Rochester Technology Center, a division of D.H. Andrews Inc., and who
is a former IBM software executive, is sure that software companies
can produce top-quality products.

Johnson should know. He helped manage a now legendary project that
produced the IBM AS400 computer. A huge effort at the time, the
developers delivered on schedule, and any significant defects were
fixed in a timely manner. And the price was reasonable. Actually,
counting both direct and indirect costs, the AS400 still costs
significantly less than comparable products from other companies, and
it delivers more reliability.

The lesson is that, contrary to what industry spokesmen claim, high
quality at reasonable prices is indeed possible. 

With a few notable exceptions, however, the industry as a whole
chooses to continue producing software riddled with defects that
often make a mockery of extravagant advertising claims.

Microsoft, for example, shows every intention of continuing the
practice of publicizing features that don't necessarily work. Not one
word on the well-known issue can be found in company president Steve
Ballmer's recent lengthy announcement that quality will take center
stage. When this writer questioned spokewoman Marla Polenz on the
issue, she couldn't find anyone to talk about it.

Perhaps nothing more eloquently illustrates the problems in
Microsoft than the fact that it cannot readily use its own flagship
business product, NT Server, for some mission-critical applications,
such as shipping, because it is too unreliable. According to several
people close to IBM and Microsoft, the latter uses AS400s when
reliability really counts. Gartner Group studies tracking computer
reliability say that average downtime for NT Servers is more than a
half-hour per day, compared with a fraction of a second for the
AS400. That's a lot of lost revenue in a year.

But it should be emphasized that this is not just a Microsoft
problem. Cem Kaner, lawyer, former software engineer, and nationally
known spokesman on software quality, stresses that the great majority
of companies knowingly issue software with substantial defects. He,
along with many other observers, estimates that software
manufacturers already know 95 percent of all the bugs when they put
their programs on the market.

Why the quality gap between IBM and so many other companies?
According to Kaner, the answer in principle is simple: Product
quality sometimes takes a back seat to getting products out the door
for immediate profit. The whole story, however, is more complex. The
problem starts at the beginning of a project when managers invariably
underestimate the development time requirements by a wide margin.

When the projected completion date arrives, pressure builds from
anxious marketing and financial departments that have made
commitments based on the promised date. Often, the product is finally
released under pressure despite defects.

The nature of the problem is well known in the industry. Roger
Sherman, former Microsoft director of testing, acknowledged, for
example, that bad schedules are responsible for most quality
problems.

How has IBM largely found a resolution? According to Johnson, the
operative word is experience. Lots of it. Key development personnel
at IBM have carefully worked in different capacities on many
successful projects. These people have acquired through experience
the knowledge it takes to make useful time estimates. They know it is
a little more expensive to take such necessary measures to produce
the first product version, but they also know that, in the long run,
it is less expensive because the considerable costs associated with
defects drop dramatically. ''The AS400 development team created and
still adheres to meticulous quality practices,'' says Johnson.

A shift to more reliable software will not be easy. In any industry
described by observers as freewheeling, young and brash, the word
''meticulous'' might as well be Sanskrit. Computer science
departments don't teach its practical meaning, and most software
developers lack even the awareness that quality, accurate scheduling,
and reasonable cost are not mutually contradictory.

But the point remains: Optimal software quality is doable, and any
protestations to the contrary are, well, whining.

Without even the currently minimal penalties under the Uniform
Commercial Code, the industry would have even less incentive to
reform itself. Indeed, some observers, such as Mark Paulk, professor
at the computer science department of Carnegie Mellon University,
believe that the code should have stricter provisions to increase the
penalties for poor software quality. If the industry felt the pain
currently only felt by consumers, the pain would be a positive
impetus for change.

c Copyright 1999 Globe Newspaper Company. 
* * * * * * * * * * * * * *  From the Listowner  * * * * * * * * * * * *
.	To unsubscribe from this list, send a message to:
majordomo at scn.org		In the body of the message, type:
unsubscribe scn
==== Messages posted on this list are also available on the web at: ====
* * * * * * *     http://www.scn.org/volunteers/scn-l/     * * * * * * *



More information about the scn mailing list