17
Slide 1 “Software's Chronic Crisis” by W. Wayt Gibbs Presented by Daniel Thomasset EECS 810 - Fall 2005

“Software's Chronic Crisis” by W. Wayt Gibbs

  • Upload
    kosey

  • View
    44

  • Download
    2

Embed Size (px)

DESCRIPTION

Presented by Daniel Thomasset EECS 810 - Fall 2005. “Software's Chronic Crisis” by W. Wayt Gibbs. Organization. Software's chronic crisis Factors contributing to the crisis challenges of large software case studies impacts of software failures The need for software engineering - PowerPoint PPT Presentation

Citation preview

Page 1: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 1

“Software's Chronic Crisis”by W. Wayt Gibbs

Presented by Daniel Thomasset

EECS 810 - Fall 2005

Page 2: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 2

Organization

Software's chronic crisis

Factors contributing to the crisis• challenges of large software• case studies• impacts of software failures

The need for software engineering• software engineering defined

Software engineering techniques• CMM• Standardization

Concluding remarks

Page 3: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 3

Software's Chronic Crisis

The software crisis is chronic• chronic

- of long duration, continuing- marked by frequent reoccurance

• crisis- a crucial state of affairs in which a decisive change is

impending; especially one with the possibility of an undesirable outcome

Definitions: Merriam-Webster Dictionary, online

Page 4: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 4

Challenges of Large Software

Distributed and realtime systems• distributed software is complex and has more paths of failure

Human comprehension• No single person can completely comprehend a large project

Growth in hardware complexity• hardware complexity doubles every 18 months

Lack of standardization• interfaces and methods for software construction can differ

Lack of measurement• time and cost are hard to estimate without empirical

knowledge of the organization's capabilities

Page 5: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 5

Case Study: Denver Airport

A complex distributed software system• baggage delivered by 4000 automated “telecars”• 100 computers controlled movement using electric eyes,

bar-code sensors, and radio receivers• cost $193M for initial implementation

Over budget, operating failure• failure delayed airport opening one year (cost >$1M per

day)• canceled in August 2005

Reasons for failure• high maintenance costs: $1M per month• couldn't handle real-world errors

Sources: Johnson, 2005 and Gibbs, 1994

Page 6: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 6

Impacts of Software Failures

Business impacts from IBM Consulting Group survey

• 55% of projects cost more than expected• 68% took longer than estimated to complete• 88% of projects had to be substantially redesigned

Failed projects are not used• 75% of large projects are operating failures or not used at

all

Public safety can be affected• software controls trains, aviation, life support systems, and

nuclear power plants

Page 7: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 7

Case Study: Federal Aviation Administration (FAA)

Advanced Automation System (AAS)• replacement air-traffic control system• contracted to IBM in 1983 with a budget of $2.6 billion• >1M lines of code, 100s of computers

Over budget, late, and unfinished• in 1996, General Accounting Office (GAO) reports 57% of

the budget was wasted• 2/3 of project is canceled, the rest is late

Reasons for failure• FAA assumed that IBM would use engineering techniques• GAO reports that “human factors” were the main reason for

failure

Sources: House, 2001 and Gibbs, 1994

Page 8: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 8

Need for Software Engineering

Software development is preindustrial • “It's like musket making was before Eli Whitney”• artisans using little standardization• each piece is unique

Consistent software quality requires a process• “If we are ever going to lick this software crisis, we're going

to have to stop this hand-to-mouth every-programmer-builds-everything-from-the-ground-up, preindustrial approach”

Quotes: Brad Cox in Gibbs, 1994

Page 9: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 9

Software Engineering

First defined in1968 by the NATO Science Committee

• 50 software experts met to solve the software crisis• defined software engineering as “the application of a

systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”

Page 10: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 10

The Engineering Process

Important aspects of an engineering discipline• systematic

- establishes standard practices- allows repeatable results

• quantifiable- allows comparison of systems- allows estimation of time, cost,

The process of improvement• a systematic and quantifiable system allows for continuous

process improvement• the cycle

1. establish a system, do a project, measure the results2. evaluate and refine the system3. goto step 1

Page 11: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 11

Capability Maturity Model

The Capability Maturity Model (CMM)• developed by the Software Engineering Institute (SEI)• a quantifiable engineering process applied to software

development that “provides a vision of software engineering and management excellence”

• defines levels of maturity from 1 to 5.• updated version called Capability Maturity Model Integration

(SEI, 2005)

Results of Raytheon's transition from Level 1 to

3• most projects completed ahead of schedule and under

budget• productivity doubled• savings of $7.80 for every dollar invested in CMM

Quote: David Zubrow in Gibbs, 1994

Page 12: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 12

CMM Levels

Page 13: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 13

Other Techniques

Formal Methods• mathematically prove that the algorithm is correct

Growing Software• start simple and grow until complete

Cleanroom• combines formal methods, statistical quality control, and

evolutionary approach• analogous to a hardware clean room - don't let in the bugs

Page 14: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 14

Standardization

Standard software pieces• interfaces become simpler• allows standard tests

Standard processes• forces all software developers to use best-practices• may require government involvement and licensing

Results• increases reliability• reduces repeated mistakes• facilitates budget estimation

Page 15: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 15

Summary

Software's chronic crisis

Factors contributing to the crisis• challenges of large software• case studies• impacts of software failures

The need for software engineering• software engineering defined

Software engineering techniques• CMM• standardization

Page 16: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 16

Conclusions

Software development is hard• complexity will always cause challenges

Software engineering improves the process• continuous improvement possible with method and

measurement

Industry is making progress• in 1994, two CMM level 5 organizations• today, eighty-five CMM level 5 organizations (SEI, 2005)

Slow, directed growth• there's no “silver bullet”• research is required to make improvements in the process

Page 17: “Software's Chronic Crisis” by W. Wayt Gibbs

Slide 17

Bibliography

Gibbs, W. Wayt, “Software's Chronic Crisis”, Scientific American, September 1994.

House of Representatives, Aviation Subcommittee, “FAA's efforts to modernize the Air Traffic Control system”, March 14, 2001.

Johnson, Kirk, “Denver Airport Saw the Future: It Didn't Work”, New York Times, August 27, 2005. http://www.nytimes.com/2005/08/27/national/27denver.html

Software Engineering Institute, “Capability Maturity Model Integration (CMMI) Overview”, 2005 http://www.sei.cmu.edu/cmmi/adoption/pdf/cmmi-overview05.pdf