Requirements traceability is a technique used in software development projects to ensure that user needs are fully met and that defects are minimized. When using this project management technique, the user needs will dictate requirements, development, and quality assurance. Basic implementations may make use of spreadsheets to create matrices, and sophisticated implementations often use special requirements management applications.
A business or systems analyst will meet with various stakeholders to determine user needs for a particular project. These needs will be documented and often entered into a requirements management application. From the user needs, the analyst will develop a set of product features.
The analyst will connect user needs to the associated product features, establishing traceability between these two elements. From product features, the analyst may develop use cases as a part of requirements analysis. Use cases are documents that depict a user’s interaction with the system, showing the steps the system is required to handle. The analyst will trace product features to required steps in the use case that fulfill these features.
Not all user needs can be described through users’ interactions with a system, so a different type of specification document may be also needed. These supplementary specifications can include system reliability and usability requirements. The requirements should also be traced to the relevant user needs to maintain requirements traceability.
Many organizations make use of a document called a traceability matrix. This matrix can compare user needs to product features, and product features to requirements. The comparison allows the business analyst to verify that each user need is being met by a product feature, and that each feature has supporting use cases or supplementary requirements. It can also help the analyst determine if superfluous requirements have been created.
Approved requirements are handed off to quality assurance staff. The quality assurance staff will use the requirements to develop test cases, and the staff will trace test cases to the requirements. A traceability matrix can be used to ensure that all requirements have a supporting test cases and that no unnecessary test cases have been added.
Implementing requirements traceability for systems engineering can provide benefits to an organization. It can help ensure the system meets user requirements and reduce rework costs. Systems that are developed using requirements traceability should also be more easily updated. If additional development is done on the system, the traceability matrix can help the project team locate user needs, product features, requirements, and test cases that may need to be updated.