Software's Chronic Crisis
W. Wayt Gibbs
Scientific American, Sept. 1994
As of 1994:
Denver airport
twice size of Manhattan
10x Heathrow
land 3 planes simultaneously
Baggage handler is automated
21 miles of steel track
4000 cars moving under computer control
shuttles bags among gates, counters, claims for 20 airlines
100 computers networked
5000 electric eyes
400 radio receivers
56 bar-code scanners
$193 million to develop whole system
Opening was 9-months delayed due to failed software
scheduled for October... slipped to Dec... to March... to May
by June cost was $1.1 million in interest and op costs
Studies show that 2 of every 8 large software projects are canceled
Average project overshoot schedule by half
larger projects do worse
3/4 of all large systems are "failures" in that they do not
operate as intended, or not at all
This is after 50 years of development of the SE discipline
Our "profession" is as musket-making before the industrial revolution
non-specialized
no interchangeability
max crafsmanship
special case production
slow, time-consuming
You can build a cabin with a few carpenters (me, e.g.)
You can build a skyscraper with carpenters
Modular components, interoperability is very hard:
see #2 California Motor Vehicles horror story in paper
see #3 American Airlines reservation system in paper
The changing nature of computers is changing programming practices
"When computers are imbedded in light switches, you have to get
the programming right the first time" Mary Shaw, SEI/CMU
Getting right first time is very hard:
see #1 DoD Satellite horror story in paper
The amount of code in consumer products is doubling every two years
(my truck brakes... for example)
TVs have 500 Kbytes
electric shavers: 2 Kbytes
power train in GM cars: 30,000 LOC
Conditions change, problems remain the same
today the tough issues are RT and distrib. sysy
IBM Consulting survey of 24 leading companies making dist.sys
55% cost more than expected
68% overran schedules
88% had to be substantially redesigned
Another horror story: FAA replacement air traffic control system
> 1 MILLION LOC
distributed over hundreds of computers
embedded in hardware (radar, etc.)
real time
safety critical
IBM FedSym was chosen to build it in mid 80's (since bought by Loral)
FAA expected to pay $500 per LOC developed
this is 5x industry average for large projects
FAA expected IBM to estimate well cost and schedule
FAA expected state-of-the-art review of design to find flaws early
finally paid $900 per LOC
every line written needed to be re-written at least once
didn't even work
tests showed the half completed system to be unreliable
FAA canceled 2 of the 4 major components, scalled down a 3rd (cost)
$144 million has been spent of these failed parts
has already spent $1.4 billion on the 4th (central) part:
controller workstation software
as of 1994 is 5 years late, $1 billion over budget
code was examined by a team from SEI/MIT/CMU to see if ANY of
it could be salvaged