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 be traced in both the forwards and backwards directions as illustrated below.
For example, if a Solution is being developed using the Microsoft Solution Framework model, Microsoft provides an ALM tool called ‘Microsoft Visual Studio Team Suite’ that provides a process template for the traceability as below:
Architects need this skill to ensure the ‘solution under development’ is being developed in an expected manners throughout the life cycle of the project. Through traceability, it gives a 360 view of the business requirement being realized in the solution.
One common tasks involved in this skill is identifying the right tool for managing the solution under development. The tool should be able to support establishing the bi-direction traceability between the various work-items produced during the software development life cycle (SDLC) at various stages i.e. Requirements Analysis, Design, Development, Test, Deploy, Operations.
Establishing traceability correctly gives a timely view of the current state of the ‘Solution under development’ and thereby helps Architect assess the stability of the Solution and help provide inputs to the stakeholders of the Solution in terms of triple constraints viz., Resource, Schedule, and Scope.
One of the daily activities during the SDLC is to generate a report of the forward traceability and backwards traceability of the Project. The adopted tool should support providing the report to facilitate an understanding of the current state of the Project.