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.
senior technical editor