Requirements’ traceability is the ability to track requirements throughout the product’s life cycle. This includes linking requirements with other higher and lower-level requirements, test cases, use cases, risks, and deliverables etc.
Table of Content
ToggleWhy Do We Need Requirement Traceability?
In the case of Embedded system development, you need requirement traceability for the audits of the certification process. For example, OEMs need to demonstrate that they are implementing Automotive SPSICE processes properly, which includes maintaining traceability, to get ASPICE certification. Similarly, medical and aerospace embedded products require traceability for their corresponding certification audits.
With requirement traceability we can ensure that each stakeholder need is linked to a requirement, and that each requirement is linked to solution(s), use case(s), test case(s) and deliverable(s). In reverse, the implemented solutions can be traced back to an actual stakeholder need. This ensures that the requirements and solutions have an actual purpose, are implemented, and verified correctly.
Tools Used for Requirement Traceability
You can use Microsoft Excel or Word to keep a record for simple projects. For complex projects, Requirement Management Tools (RMTs) are recommended to maintain requirements and document requirement traceability.
Types of Traceability
We can implement the following types of traceability
- Forward traceability from customer needs to requirements: This ensures that each need is linked to one or more requirements that can be implemented
- Backward traceability from requirements to customer needs: This ensures that each requirement can be traced back to a customer need and no requirement is unnecessary
- Traceability of relationships among requirements: We can track how a given requirement was derived from a higher-level requirement and how it is allocated / decomposed further into lower-level requirements.
- Traceability between requirements and project artifacts: We can track the relationship between requirements and artifacts like use case(s), test case(s), design elements, risk(s), code, deliverable(s), report(s) etc.
Examples
Example 1
The following table provides an example of requirement traceability matrix (RTM) linking requirements to other requirements, use cases, code, and test cases.
Requirement ID | Description | Use Cases | Software Module | Test Cases |
RQ1 | Requirement 1 | UC1, UC2, UC3 | SM1, SM2, SM3 | TC1, TC2, TC3 |
RQ2 | Requirement 2 | UC4, UC5 | SM4 | TC4, TC5 |
RQ3 | Requirement 3 | UC6 | SM5 | TC6 |
RQ4 | Requirement 4 | UC7, UC8, UC9 | SM6, SM7 | TC7, TC8, TC9 |
Example 2
The following table provides an example of requirement traceability matrix (RTM) linking use cases to requirements, code, and test cases.
Use Case ID | Description | Requirement | Software Module | Test Cases |
UC1 | Use Case 1 | RQ1 | SM1, SM2, SM3 | TC1 |
UC2 | Use Case 2 | RQ2 | SM4 | TC2 |
UC3 | Use Case 3 | RQ3 | SM5 | TC3 |
UC4 | Use Case 4 | RQ4 | SM6, SM7 | TC4 |
Benefits of Requirement Traceability
Benefits of requirements traceability include:
- Successful Audit of Software Development Process: Maintaining traceability allows your company to have a successful audit of the software development process.
- Improved Project Quality: Traceability improves overall project quality by ensuring that all the activities during design, development and testing are aligned with customer needs.
- Improved Requirement Coverage: Traceability can help to ensure comprehensive requirement coverage and hence coverage of customer needs.
- Effective Tracking of Requirement Status: Traceability allows effective tracking of the status of requirements during development, integration and verification of the system components.
- Keep Projects on Schedule/Budget: Teams can avoid unnecessary iterations and rework, keeping projects on track and on budget.
- Better Impact Analysis: Teams can effectively determine the impact of changing customer needs on the requirements and project artifacts.
- Better Problem Resolution: When problems arise, traceability can help in pinpointing the root cause, and help in impact analysis due to any needed changes.
Summary
Requirement traceability is the ability to track requirements throughout a product’s lifecycle, linking them to higher and lower-level requirements, test cases, use cases, risks, and deliverables. It is crucial for embedded system development, particularly for passing certification audits in automotive, medical, and aerospace industries. Specialized Requirement Management Tools (RMTs) are available used to maintain traceability, but simpler projects can be traced using text editors like MS Word. This practice ensures stakeholder needs are met, improves project quality, facilitates tracking, keeps projects on schedule, enhances impact analysis, and aids in problem resolution.