Post

Ch 11: Risk Management & Estimation

Risk management process, risk classification, and software estimation techniques.

Ch 11: Risk Management & Estimation

Chapter 11 — Risk Management & Estimation

(Sommerville Ch. 23)

Risk Management Process

1
2
3
4
5
6
7
8
┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
│  Risk        │──►│  Risk        │──►│  Risk        │──►│  Risk        │
│  Identifi-   │   │  Analysis    │   │  Planning    │   │  Monitoring  │
│  cation      │   │              │   │              │   │              │
└──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘
List potential     Assess             Strategies to      Monitor risks;
risks              probability &      avoid, minimize,   update analysis
                   impact             or manage          as project evolves

Known vs. Predictable Risk

Known RiskPredictable Risk
Identified and documented before project startsExtrapolated from past project experience
Can be planned for directlyEstimated from historical patterns
Example: a dependency on a library versionExample: staff turnover probability based on industry average

Risk Classification

Technology risks:

  • Components not delivering required performance
  • Immature technology not ready for production use
  • Off-the-shelf software not meeting requirements

Organizational risks:

  • Organizational restructuring affecting the project
  • Financial problems causing budget cuts
  • Key staff unavailable

People risks:

  • Inability to recruit staff with required skills
  • Staff illness or turnover
  • Training problems

Requirements risks:

  • Requirements changes causing rework
  • Unclear or misunderstood requirements

Estimation risks:

  • Underestimating time and effort required
  • Underestimating size of software to be developed

Example Risk Register

RiskProbabilityImpactStrategy
Staff turnoverMediumHighDocument processes; cross-train team
Requirement changesHighMediumUse agile; modular design
Technology immaturityLowHighPrototype early; have fallback
UnderestimationHighHighUse multiple estimation methods; add contingency

Software Cost & Effort Estimation Techniques

  1. Algorithmic cost modeling — COCOMO II: uses size (KLOC or function points) + cost drivers
  2. Expert judgment — experienced engineers estimate; Delphi method aggregates opinions
  3. Estimation by analogy — compare with similar completed projects
  4. Parkinson’s law — cost expands to fill available budget (avoid this approach)
  5. Pricing to win — quote what client will pay; dangerous without sanity check
  6. Function point analysis — count inputs, outputs, files, interfaces, queries
This post is licensed under CC BY 4.0 by the author.