This activity describes the tasks you perform to gather, specify, analyze, and validate a subset of system's
requirements prior to implementation and verification. This does not imply that all requirements are detailed prior to
commencing implementation. Rather, you perform this activity throughout the lifecycle with stakeholders and the entire
development team collaborating to ensure that a clear, consistent, correct, verifiable, and feasible set of
requirements is available, as needed, to drive implementation and verification.
During Inception, the focus is on gaining agreement on the problem to be solved, gathering stakeholder needs,
and capturing high-level system features.
During Elaboration, the focus shifts to defining the solution. This consists of finding those requirements that
have the most value to stakeholders, that are particularly challenging or risky, or that are architecturally
significant. You then describe requirements (that are prioritized, via the work items list, for implementation in the
early iterations) in sufficient detail to validate the development team's understanding of the requirements, to ensure
concurrence with stakeholders, and to permit software development to begin. For each of these requirements, define
associated test cases to ensure that the requirements are verifiable, and to provide the guidance needed for
verification and validation.
During Construction, the focus shifts to refining the system definition. This consists of detailing the remaining
requirements and associated test cases as necessary to drive implementation and verification, and managing requirements
change.
|