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