Hold Software to Higher Standards
The New
York Stock Exchange’s software system crashed on June 8, 2001, closing
trading for almost an hour and a half while technicians scrambled to find and
fix the glitch. The cause is attributed to a system upgrade done the night
before.
Millions
of orders for shares went unfilled during that time, costing investors lots of
money.
Here’s
another horror story. Nike had a $100 million revenue loss because of software
problems in its electronic order entry system.
You’ve
heard stories like this before. In fact, this column has covered some of them.
Just change the loss number a bit and the name of the corporate
“victim,” and you know the rest.
Count
on this: Unexpected downtime due to software is going to get worse. And the
cost of this downtime is going to climb.
Software
has become the new “control.” How many programs did your company
purchase last year to manage inventory, oversee fulfillment, track logistics
operations, take in orders, find the lowest costs, order material, collaborate
with suppliers and so on? Businesses increasingly rely on software to operate.
Increasingly, though, software affects the bottom line.
Analysts,
such as the Yankee Group, Gartner and others, say downtime due to problem
software can cost anywhere from $10,000 a minute to hundreds of millions of
dollars a minute. This downtime is no longer just the cost of not producing
product, now it involves your ability to take in money in the form of orders as
the NYSE and Nike examples proved.
Why do
we allow software to have bugs? Why do we put up with upgrades that shut down
our systems? Why do we hold the quality of software to a different standard
than we hold hardware?
And we
all do. Discuss software problems with executives, and the usual comment is,
“Well, we can’t do much about it; that’s just the way it
is.”
Well,
that’s not good enough.
Software
does not have to come with bugs. There can be standards for data formats when
transmitting among various systems. Databases can be made to more easily store
and retrieve data. Software
doesn’t have to cause problems when you mesh programs. We let these
problems happen because we won’t hold software companies to higher
standards.
Software
may not be tangible, like hardware, but that doesn’t mean it can’t
be made to work right the first time. Yes, programming is complex. Yes, it
takes time — and money — to develop good code. Yes, really testing
our ever more complex programs and systems is hard. So what? Software
developers should just “do it.” We insist controls and other
hardware work out of the box. So should software. The software industry’s
practice of launching programs with the nonchalant attitude that problems can
be fixed later must stop.
But
only we can force this to happen. Here’s one technique to emulate.
Several companies are holding their software vendors financially accountable
for the unexpected downtime.
The
only way this problem will be resolved is if we demand better quality. And
there’s no time to lose. The more dependent we are on software —and
we’re becoming more so every day— the worse problems we will have.
Insist that software companies do a better job.
Leslie
Langnau
senior
technical editor
llangnau@penton.com