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 (see activity Initiate Project).
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
(See Task: Find and Outline Requirements). 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 (see Task: Detail Requirements). 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 (see Task: Create Test Cases).
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 (see activity Ongoing Tasks).
|