|
The complexity of software is growing exponentially. According to
Remi H. Bourgonjon, director of SW technology at Philips Research
Labs, Eindhoven, (cited in ref.
(Gibbs, 1994)), the amount of code in most consumer
products is doubling every two years. TV sets contained up to 500
kilobytes of SW in 1994, electric shavers two kilobytes and power
trains in the (then, 1994) new GM cars ran 30,000 lines of computer
code. This general trend also applies to larger systems.
According to a NIST Study
NIST Study on the impact of software bugs, conducted in
2002, "Software bugs, or errors, are so prevalent and so detrimental that
they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6
percent of the gross domestic product. More than half of the costs are borne
by software users, and the remainder by software developers/vendors."
In the cited article (Gibbs, 1994), the author
wrote in 1994 that For every six new large-scale SW systems put into
operation, two others are cancelled, the average software development
project overshoots schedule by half, larger projects generally doing
worse, and three quarters of all large systems are "operating
failures" that either do not function as intended or are not used
at all.
The new Denver Airport baggage handling system is a software project whose
troubles were well publicised at the time (ref. Sci-Am94). On 21 miles of
steel track 4000 independent telecars were to route and deliver luggage
between counters, gates and claim areas for 20 different airlines. The
system was to comprise 100 computers, 5000 cameras, 400 radio receivers and
56 bar code scanners. At delivery time, BAE Automated Systems´ bill was
$193 million. Take-off was scheduled for Halloween 93, but due to software
bugs in the system, operation of the airport had to be postponed. In June
of 94 no prediction as to full operation was possible yet. At that time,
daily losses due to capital and operation costs of the non-functional
airport were $1.1 million. This is cited as a typical case, and several
similar debacles are described in the same reference.
Within conventional computer science, several remedies are
discussed: Algebraic methods of code development, better
software methods better (human) management
methods, and rigorous testing schedules. However, due to intensive
human involvement in the process, progress on all of these fronts is
very slow and costly (for instance, new software methods are said to
take on average 18 years before becoming standard practise), calling
for a radically new approach. There is an
interview with Jaron Lanier, which shows more
apects of this problem.
|