Capability Pattern: Identify and Refine Requirements
Detail a set of requirements (one or more use cases, scenarios or system-wide requirements).
DescriptionWork Breakdown StructureTeam AllocationWork Product Usage
Relationships
Context
Description

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.

Properties
Event Driven
Multiple Occurrences
Ongoing
Optional
PlannedYes
Repeatable