
TheApollo 11 lunar landingwould have been impossible
had it not been for software engineering. But today, with
commercial pressures, software engineering is in danger of becoming
a lost art.
Nasa needed checks and procedures to ensure software bugs could
not creep in and put the lives of astronauts Michael Collins, Buzz
Aldrin and Neil Armstrong at risk. Although the term software
engineering was coined midway through the Apollo programme, experts
today recognise the contribution those programmers on Apollo made
to improving software development.
Today, source code in software is written rather than
engineered. "Programmers do not apply engineering principles,"
warns Daniel Dresner, chairman of the Institute of Information
Security Professionals.
Formal approaches to software development have become
unfashionable with the advent of
rapid application development,
agile development and
extreme programming. These approaches take a user-centric view
to software projects to help IT align with business goals. However,
the pace at which software can be churned out using these
approaches has led to poorer quality source code.
"The quicker you roll out software, the less it is tested before
deployment, which increases the risk of a failure," Dresner
says.

Some experts argue that Nasa, Boeing and the aerospace industry
are in a different league when it comes to software engineering,
compared to the programming effort involved in producing software
for business. However, Microsoft, the world's most successful
software company, has perhaps belatedly demonstrated with its
Trustworthy Computing initiative how quality pays off.
Since 2002, Microsoft has worked to improve internal processes,
with the aim of building higher-quality software with fewer bugs.
It seems to be working. Microsoft claims Vista has fewer bugs than
Windows XP, and Windows 7 should have even fewer problems than
Vista.
In 1969 IBM described the 6Mbyte programs it produced for the
Apollo mission as "among the most complex ever written". The
current download for Windows 7 RC1 is around 2.3Gbytes -
approximately 380 times larger. Windows has often been described as
more complex than the software that took man to the moon. As such,
software engineering has become key to the way it develops
software.

While Microsoft continues on its
Trustworthy Computing mission to improve the way its software
is engineered, the British Computer Society hopes to raise the
level of professionalism in IT, which should see more focus on
turning programming into engineering.
"Software engineering is as important today as it was on Apollo
11. As computers affect more of our lives, we need to define
standards, training, certification and qualifications," says Adrian
Walmsley, vice-president, member services at the BCS.
There are more embedded computing devices in existence than
there are people on Earth, controlling and monitoring many aspects
of day-to-day life. As with the code in the Apollo mission, bugs in
these complex IT systems could potentially be life-threatening. As
such, software engineering will become increasingly important.
Apollo 11: 40th anniversary special report >>
Pictures taken from Rex Features.