Computer industry's culture, production techniques and priorities all need to be rearranged, writes Simon London
Agilent Technologies, the Silicon Valley-based maker of testing equipment, last week blamed a $100 million (€102 million) third-quarter revenue shortfall on the implementation of a new computer system. It joined Nike, the sports goods group, and Hershey, the confectionery maker, on the growing list of US companies that have suffered multimillion dollar losses during epic struggles with software.
These high-profile cases only hint at the extent of the pain in the economy as a whole. Major software "bugs" - those big enough to disrupt operations or damage productivity - cost US companies about $60 billion last year, according to a recent study by the US Commerce Department's National Institute of Standards and Technology (Nist).
Even this does not tell the whole story. Most battles with poor-quality computer code are fought in private by individual users: personal computer crashes, disappearing data, machines with minds of their own.
"The real cost of faulty software is probably three to four times [the Nist figure\]," says Mr Bill Guttman, head of the Sustainable Computing Consortium at Carnegie-Mellon University in Pittsburgh.
This matters for two reasons. First, software has become so pervasive that "the economy's ability to develop and use new computer-based products will determine a major share of realised growth for the foreseeable future," says Mr Gregg Tassey, senior economist at Nist.
Second, advances in computer hardware are outstripping the ability of software to keep up. If this continues, the extra computing power promised by faster microprocessors and better storage technology will be squandered.
"Software is already the bottleneck. My feeling is that it is going to get worse," says Mr Bill Joy, co-founder and chief scientist at Sun Microsystems.
So what can be done to improve the quality of the computer code on which the economy depends? And is the industry doing enough to avert a crisis of confidence in its products?
To be fair, enterprise-wide systems of the kind that wounded Agilent, Nike and Hershey are extremely complex. The software underlying Agilent's new enterprise resource planning (ERP) system - supplied by Oracle, the second-largest software company after Microsoft - runs to millions of lines of code. Moreover, programs of this scale have to interact with old systems handling, say, payroll or invoicing. Such "legacy" applications often date from the 1960s or 1970s, and are written in outdated languages such as Fortran.
"The easiest way to make a system reliable and secure is to reduce the number of devices it interacts with or the number of features it has. The trouble is that you end up with a product no one wants," says Mr Steve Lipner, director of security assurance at Microsoft.
But the inherent complexity of software cannot wholly excuse the fact that it is often faulty, prone to breakdown and riddled with security flaws.
"If other industries had these error rates they would be buried by product liability suits," says Mr Tassey.
The software industry avoids this fate by writing into licensing agreements disclaimers covering "consequential damages", such as lost sales, from faulty code.
In addition, the process of implementation - during which software is customised to fit the buyer's business processes and interact with its legacy systems - means that liability is difficult to prove. Was a system failure caused by faulty code delivered by the vendor or sloppy customisation by the customer?
Until now, software buyers also have accepted the fact that new software is likely to contain bugs. After all, it always has.
But nearly 50 years after the dawn of commercial computing - an era that began in 1954 with the delivery of a Remington Rand Univac machine to General Electric's large appliances division in Louisville, Kentucky - there are signs that patience is wearing thin.
Mr Bill Gates, Microsoft's founder and chief software architect, responded in January by introducing a "trustworthy computing" initiative. In a memo to staff, Mr Gates admitted: "Computing today falls well short of this \, ranging from the individual user who isn't willing to add a new application because it might destabilise their system, to a corporation that moves slowly to embrace e-business because today's platforms don't make the grade."
Oracle has also stepped up the emphasis on security and reliability in its "Unbreakable" advertising campaign for database software.
Companies should not expect a a quick fix. Many of the problems stem from the tools and languages that programmers use, and it will take a long time to change those. "Software in many ways is pre-industrial