Many of these advances have been pioneered in UK universities; many current research programmes are aiming to improve further our software engineering capabilities. In industry, most of the expenditure on software is consumed not in the initial production of the software, but in subsequent maintenance, which is the evolution of the software to meet changing user requirements. Again we know how to do this.
Of course, it is much cheaper to produce bad rather than good, well-engineered and maintainable software, and competitive tendering which considers only price will inevitably lead to problems. Such short-term cost savings will also lead to huge maintenance bills later on. So we should not be prepared to accept the folklore that software projects cannot deliver. We certainly have the engineering capability, but you get what you pay for.
K. H. BENNETT
Centre for Software Maintenance,
Computer Science Department
University of Durham