8.3. Process: Planning the Next Iteration
Planning and project management are important but large topics. A few ideas are briefly presented here, and there are some more tips starting on p. 673.Organize requirements and iterations by risk, coverage, and criticality.
- Risk includes both technical complexity and other factors, such as uncertainty of effort or usability.
- Coverage implies that all major parts of the system are at least touched on in early iterationsperhaps a "wide and shallow" implementation across many components.
- Criticality refers to functions the client considers of high business value.
These criteria are used to rank work across iterations. Use cases or use case scenarios are ranked for implementationearly iterations implement high ranking scenarios. In addition, some requirements are expressed as high-level features unrelated to a particular use case, such as a logging service. These are also ranked.The ranking is done before iteration-1, but then again before iteration-2, and so forth, as new requirements and new insights influence the order. That is, the plan of iterations is adaptive , rather than speculatively frozen at the beginning of the project. Usually based on some collaborative ranking technique, a grouping of requirements will emerge. For example:
Rank | Requirement (Use Case or Feature) | Comment |
---|---|---|
High | Process SaleLogging… | Scores high on all rankings.Pervasive. Hard to add late.… |
Medium | Maintain Users… | Affects security subdomain.… |
Low | … | … |