Software Crisis
Definition
The Software Crisis refers to the set of severe problems the software industry faced (starting late 1960s) as software systems grew larger and more complex, and traditional ad-hoc development methods failed to keep pace.
Symptoms of the Software Crisis
- Project overruns — projects running over budget and over schedule
- Low-quality software — poor reliability, frequent bugs and failures
- Software often did not meet user requirements
- Inconsistent and poor documentation
- Difficulty maintaining existing code
- Increasing cost of hardware was cheap, but software costs kept rising ("software costs exceeded hardware costs")
- Late delivery, cancelled projects
Classic Examples
- IBM OS/360 — massively over budget and delayed, documented in Fred Brooks' The Mythical Man-Month
- Many government/defense software projects of the 1960s–70s failed outright
Root Causes
- Increasing size and complexity of software
- Lack of systematic development methods (ad-hoc "code and fix")
- Poor requirement gathering
- Absence of proper project management and estimation techniques
- Lack of skilled software professionals relative to demand
Response to the Crisis
The crisis directly led to:
- The 1968 NATO Conference and the coining of "Software Engineering"
- Development of formal SDLC models (Waterfall, etc.)
- Emphasis on documentation, testing, and process discipline
Exam tip: A favorite question is "What is Software Crisis? List its symptoms and causes." Structure your answer as: Definition → Symptoms → Causes → How SE addresses it.