Iteration
80/20 Rule (Rule of Thumb)
- Also known as the Pareto principle.
- Roughly 80% of the effects come from 20% of the causes.
- Plan to specify 80% of requirements at start of project.
- 20% of code does 80% of work.
Iterative vs. Sequential
Iterative
- Iterative approaches are generally more useful; work better for most projects.
- Requirements are poorly understood or unstable.
- Design is complex or challenging.
- Team is unfamiliar with application.
- Even worse when application is complex.
- Substantial risk.
- Long term predictability is not important.
- Cost of change is low.
Sequential
- Stable requirements (no need to iterate).
- Design is well understood.
- Team is familiar with application.
- Little risk.
- Long term predictability is important.
- When cost of later changes is high (ie. hardware).
Managing Change
- Studies at IBM show projects change ~25% during development.
- Check requirements for appropriateness.
- Explain cost of change.
- Recall cost is not static throughout development process.
- Use a change control procedure.
- Cancel the project if doomed to fail.
- Determine if change is necessary for business.