Opinion: Engineering values in IT could mean error-free software

A report published by the Royal Academy of Engineering (RAEng) on 31 July raises important issues for everyone who works in the UK computer industry or who relies on its products or services.

A report published by the Royal Academy of Engineering (RAEng) on 31 July raises important issues for everyone who works in the UK computer industry or who relies on its products or services, writes Martyn Thomas.

The RAEng is the UK's National Academy for Engineering, and the report, called Engineering Values in IT, is the result of a two-year study by a team drawn from the RAEng, BCS and IET. The report concludes that strong engineering methods, based on mathematics and computer science, are now sufficiently mature to be used in developing every important software-based IT system, and that this means every important IT project should be led by a chartered engineer or a chartered IT professional accredited in systems engineering.

Every technical profession from architecture to zoology has gone through a transition from being experience-based to being science-based, with dramatic improvements in safety, productivity and cost-effectiveness. That is why we no longer have to threaten to put to death an architect who builds a house that collapses, as Hammurabi did in ancient Babylon, and why we no longer depend on barbers to carry out major surgery, as most of Europe did in the Middle Ages.

The report says that software development has now reached that time of transition, illustrating the argument as follows:

Error-free software

It is often argued that software, by its nature, will always contain many errors and that manufacturers and importers of software products should not be subject to the same product liability and consumer protection regimes that apply to other products.

While there was some merit in this argument in the early days of the software industry, it is now possible to develop software products with very few errors and to do so cost-effectively, using science-based software engineering methods.

A high level of errors is therefore no longer inevitable and should not be tolerated in software-based systems to any greater extent than they are in other engineering artefacts.

An example of a project attempting to create an error-free IT system can be seen here. Although this is a modest system in comparison to those we are concerned with here, it is an important step towards developing complex software-based systems without errors.

Proof of competence

The report recommends that customers in industry and the public sector require that appropriately qualified chartered professionals should lead and manage major IT projects, and that IT professionals should aim to achieve chartered status.

For the most critical systems, involving safety or security for example, the RAEng recommends that an advanced qualification should be developed, as an addition to chartered status, to show that practitioners are competent. If this recommendation is followed to its logical conclusion, the qualification will, in effect, become a licence to practice for software engineers or systems engineers leading the most important IT projects.

The RAEng, BCS and IET do not expect these changes to occur immediately, but the report shows the direction that the computer industry must take if the UK is to maintain its leadership in software-based services, and if the huge expectations placed on future intelligent networks and autonomous systems are to be realised safety and cost-effectively.

Download the report here >>

Martyn Thomas CBE FREng is a visiting professor of software engineering at the University of Oxford, and a member of the study team.

Read more on Operating systems software