requirement traceability

http://www.compaid.com/caiinternet/ezine/westfall-bidirectional.pdf


Traceability is one of the essential activities of good requirements management. Traceability is used to ensure that the right products are being built at each phase of the software development life cycle, to trace the progress of that development and to reduce the effort required to determine the impacts of requested changes. This article explores:
• What is traceability?
• Why is traceability a good practice?
• How is traceability performed?

What is Traceability?

The IEEE Standard Glossary of Software Engineering Terminology defines traceability as “the degree to
which a relationship can be established between two or more products of the development process,
especially products having a predecessor-successor or master-subordinate relationship to one another.”
[IEEE-610]

Traceability is used to track the relationship between each unique product-level requirement and its
source. For example, a product requirement might trace from a business need, a user request, a
business rule, an external interface specification, an industry standard or regulation, or to some other
source.

Traceability is also used to track the relationship between each unique product-level requirement and the
work products to which that requirement is allocated. For example, a single product requirement might
trace to one or more architectural elements, detail design elements, objects/classes, code units, tests,
user documentation topics, and/or even to people or manual processes that implements that requirement.
Good traceability practices allow for bidirectional traceability, meaning that the traceability chains can betraced in both the forwards and backwards directions as illustrated in Figure 1.