I am quite confused. Is a Requirements Traceability Matrix (RTM) a requirements validation technique or a requirements specification technique?
If you are tracing a component to a requirement, are you specifying the requirement or validating its existence and fit for use? An RTM is a tool; what would you use it for?– David EspinaMar 2, 2014 at 12:10
@Tiago, yeah, probably better as a comment. :)– David EspinaMar 2, 2014 at 22:56
BABOK v2.0 (Business Analysis Body of Knowledge) section 4.2.2 says the following:
Requirements traceability identifies and documents the lineage of each requirement, including its backward traceability (derivation), its forward traceability (allocation), and its relationship to other requirements. Traceability is used to help ensure solution conformance to requirements and to assist in scope and change management, risk management, time management, cost management, and communication management. It also is used to detect missing functionality or to identify if implemented functionality is not supported by a specific requirement.
My experience with documents labeled "Requirements Traceability Matrix (RTM)" has been spreadsheets assigning unique identifiers to decomposed system requirements and organizing those requirements into a hierarchical tree. Those requirements also list the approved change requests that spawned them and should list (but often don't) the test cases that test them.
If you break it down, the RTM is a tool for finding related requirements, tests, approvals, and any other work items you care to track.
In practice, you will likely use the RTM while specifying the system in order to make sure that your requirements are cohesive and work together, and also to see how your requirements are meeting your high-level business requirements. Where it should be most useful is validating all requirements by ensuring that every requirement has at least one test.
Final answer: both.
Traceability is a project control that is useful for tracking complex requirements and (in some cases) for measuring the completeness of a set of requirements. However, it is rarely intrinsically useful for validating a specification.
What Tracing Does and Doesn't Buy You
A traceability matrix is primarily useful for tying complex requirements together. To the extent that:
A requirements traceability matrix may be used to check to see if the current project requirements are being met[.]
you might conceivably view it as a tracking tool. However, while requirements traceability can be used to trace verification by tying test artifacts to requirements, the mere existence of the matrix itself provides no actual means of validation.