This activity describes the tasks you perform to gather, specify, analyze, and validate a subset of the system's
requirements prior to implementation and verification. This does not imply that all requirements are detailed prior to
commencing implementation. Rather, this activity is performed 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 regarding 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
most value to stakeholders, that are particularly challenging or risky, or that are architecturally significant (See Task: Find and Outline Requirements). Requirements that were prioritized for
implementation in the early iterations (via the Work Items List) are then
described in sufficient detail to:
-
Validate the development team's understanding of the requirements
-
Ensure concurrence with stakeholders
-
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 needed to drive implementation and verification, and managing requirements
change (see activity Ongoing Tasks).
|