Software requirements tracing

How important is requirements traceability?

Is requirements traceability important? If so, what's a good way to get started with traceability?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

Requirements tracing is the process of recording logical links between individual requirements and other system elements. You can trace a single functional requirement backward to its origin, such as a use case, product feature or business rule. You can also trace that functional requirement forward into the bits of design, code and tests that were created because of that requirement.

Collecting requirements traceability information as development progresses makes it almost impossible to inadvertently overlook a planned requirement during implementation. Reliable traceability data facilitates making changes correctly and completely during maintenance, which improves the team's productivity. For example, suppose you have traced a business rule into various functional requirements that implement the rule. If that rule ever changes, the maintainers can follow those links to quickly make the necessary software modifications. You can also use traceability data when certifying a safety-critical product to show that all requirements were implemented and that all requirements are covered by specific tests.

To do requirements traceability, the analyst must write requirements in a fine-grained fashion and give every requirement a unique and stable identifier. (No bullets!) Most people start performing traceability by linking functional requirements to individual tests that verify the correct implementation of those requirements. On a small project you can do this manually using a spreadsheet to identify which tests connect logically to which requirements. However, larger projects need automated support for traceability, such as using a commercial requirements management tool. As tracing requirements becomes established in your organization, you can begin to record the design elements and code segments that satisfy each requirement to make your traceability data richer and more valuable.

This was first published in February 2007