Requirements traceability: What, why and how
Traceability is one of the lesser understood aspects of business analysis. It is indeed quite hard to maintain good traceability unless automated.
This is why BABoK® warns us being theoretical about traceability.
In this article, I would like to explain traceability concepts with the help of an example.
BABoK® definition of traceability:
Traceability is the ability to look at a requirement and others to which it is related, linking business requirements to stakeholder and solution requirements, to artifacts and solution components.
Traceability identifies and documents the lineage of each requirement, including its backward traceability (derivation), forward traceability (allocation) and its relationship to other requirements.
Traceability ensures that the solution conforms to the requirements. It also helps in managing scope, risk, time, requirement changes, cost, and communication. It can be used to detect missing functionalities or to identify whether the implemented functionality is supported by a specific requirement.
Reasons for creating traceability are:
Assist in impact analysis for requirements changes.
Ensure requirements coverage: Understand how business objectives are implemented. Business objectives not traced to detailed components have not been analyzed and hence not included in the solution.
Requirements allocation.
Relationships
Derive
When one requirement is derived from the other. Stakeholder requirements are derived from business requirements. Solution requirements are derived from stakeholder requirements.
Depends
One requirement can be implemented only if the other has been implemented or easier to implement if the other is implemented.
Satisfy
The relationship between an implementation element and the requirements it is satisfying.
Validate
A relation between a requirement and its test case to validate whether the solution fulfills the requirement.
Let’s take a practical example of a requirement to list all products on an eCommerce store.
Requirement
To list products in the e-commerce portal with their price
Derived from (Parent requirement)
Enable e-commerce for business
Dependent requirement (Prerequisite)
Payment gateway to collect payment from customers
Satisfied by (Allocated to Solution component)
Storefront end
Validated by (Tested by test component)
Test cases to test store functionality.
This is a simple template to capture requirements traceability. You may transpose the same to handle multiple requirements in the template.