If architects worked on the same principle, most buildings would end up looking like the Leaning Tower of Pisa.
Faulty software is costing industry phenomenal sums of money. A recent study by the National Institute of Standards and Technology (NIST), estimated the annual cost of software bugs - to the US economy alone - at almost £40bn.
Software bugs are having a particular impact in three major industries: automotive, aerospace and financial services, with an estimated total cost of £3.4bn a year. Is there any other scenario where such costs would be accepted as a result of what are, essentially, faulty goods?
The survey suggested that up to £15bn of these costs could be eliminated by improved testing to remove software defects. However, testing can only be guaranteed to uncover all bugs in the very simplest systems. It is also a very time-consuming and unpopular process.
With recently launched development tools, the production of mathematically verified software is straightforward. Software engineers can now produce proven software in popular object-oriented languages (Java and C++) without a knowledge of complex mathematics.
This not only guarantees quality, it makes the development process faster and more cost effective. By mathematically proving software systems to be correct, the sometimes endless cycle of testing, ironing out faults, retesting, ironing out more faults, becomes obsolete. The testing process is still important, but only as a final check.
The process of "Write, Beta, Test, Issue and Pray" is not only unprofessional, it is unnecessary. All consumers have a right to purchase non-faulty goods; the software industry should not be exempt.
Customer demand, the growing threat of legal action from bodies such as the Organisation for Internet Security (OIS) and the Health and Safety Executive, as well as the insurance risk of producing bug-ridden software, will force companies to take a more professional approach to software engineering and development.
This may start with the mission-critical market, but all developers can gain market advantage by looking at the alternatives.
What is your view?
What can be done to ensure bug-free software? Tell us in an e-mail >> CW360.com reserves the right to edit and publish answers on the Web site. Please state if your answer is not for publication.
Dr David Crocker is managing director of software development company Escher Technologies.