Requirements Tracing
Requirements tracing is a
requirements engineering
technique during which the
requirements are mapped to parts of other work products and
parts of other work products are mapped to the
requirements.
TBD
The typical objectives of requirements tracing are to:
- Support the determinination of whether or not all
stakeholder needs have been specified as analyzed
requirements.
- Support the determination of whether or not the specified
requirements does not unnecessarily exceed the needs of the
stakeholders.
- Support the determinination of whether or not all
requirements have been:
- Fullfilled by part of the architecture.
- Fullfilled by part of the design.
- Implemented by parts of the implementation (e.g., data,
hardware, or software components).
- Tested by one or more system-level test cases.
- Support the determinination of whether or not the
application, framework, or component implement no more than
what is specified in the requirements (i.e., no gold
plating).
- Help the change control board determine the impact of
changing one or more requirements.
- Help the development organization determine the impact of
application test failure on the application.
- Help the management team manage the scope of the
endeavor.
Requirements tracing can typically begin when the following
preconditions hold:
- The
project
team members have been adequately staffed and trained in
the requirements tracing technique.
Requirements tracing is typically complete if the following
postconditions hold:
During requirements tracing, the following producers
typically perform the following steps in an iterative,
incremental, parallel, and time-boxed manner:
-
Requirements Team:
- Trace stakeholder needs to features and features to
stakeholder needs.
- Trace stakeholder needs to requirements and
requirements to stakeholder needs.
- Trace features to requirements and requirements to
features.
-
Architecture Team:
- Trace requirements to components and components to
requirements.
- Trace requirements to architectural mechanisms and
architectural mechanisms to requirements.
-
Software Development Team:
- Trace requirements to classes and classes to
requirements.
-
Independent Test Team:
- Trace requirements to system-level test cases and
system-level test cases to requirements.
Requirements tracing typically results in the following work
products:
Requirements tracing is typically subject to the following
limitations:
- Requirements tracing can require a very large amount of
effort to perform if no tools are used because of the large
number of requirements to be traced and the large number of
things to trace them to.
- Requirements do not map one-to-one from needs to features
to use cases to architectural mechanisms/components to code
to test cases (and back).