Requirements traceability


Requirements traceability is a sub-discipline of requirements management within software development and systems engineering. Traceability as a general term is defined by the IEEE Systems and Software Engineering Vocabulary 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; the identification and documentation of derivation paths and allocation or flowdown paths of work products in the work product hierarchy; the degree to which each element in a software development product establishes its reason for existing; and discernible association among two or more logical entities, such as requirements, system elements, verifications, or tasks.
Requirements traceability in particular, is defined as "the ability to describe and follow the life of a requirement in both a forwards and backwards direction ". In the requirements engineering field, traceability is about understanding how high-level requirements – objectives, goals, aims, aspirations, expectations, needs – are transformed into low-level requirements. It is therefore primarily concerned with satisfaction relationships between layers of information. However, traceability may document relationships between many kinds of development artifacts, such as requirements, specification statements, designs, tests, models and developed components. For example, it is common practice to capture verification relationships to demonstrate that a requirement is verified by a certain test artifact.
Traceability is especially relevant when developing safety-critical systems and therefore prescribed by safety guidelines, such as DO178C, ISO 26262, and IEC61508. A common requirement of these guidelines is that critical requirements must be verified and that this verification must be demonstrated through traceability.

Tracing towards and beyond the requirements

Pre-requirements traceability. Requirements come from different sources, like the business person ordering the product, the marketing manager and the actual user. These people all have different requirements of the product. Using requirements traceability, an implemented feature can be traced back to the person or group that wanted it during the requirements elicitation. This can be used during the development process to prioritize the requirement, determining how valuable the requirement is to a specific user. It can also be used after the deployment to see why certain unused features found during user studies were required in the first place.
Post-requirements traceability. Not only the requirements themselves should be traced but also the requirements relationship with all the artifacts associated with it, such as models, analysis results, test cases, test procedures, test results and documentation of all kinds. Even people and user groups associated with requirements should be traceable. Requirements are realized into design artifacts, implementation, and finally, verified. Artifacts tied to the latter stages should be traced back to the requirements as well. This is typically done via a requirements traceability matrix.
Establishing traceability beyond requirements into design, implementation, and verification artifacts can become difficult. When implementing software requirements for instance, the requirements may be in a requirements management tool, while the design artifacts may be in a tool such as MagicDraw, Mathworks Simulink, Rational Rhapsody, and Microsoft Visio.
Furthermore, implementation artifacts will likely be in the form of source files, links to which can be established in various ways at various scopes. Verification artifacts such as those generated by internal tests or formal verification tools
Repository or tool stack integration can present a significant challenge to maintaining traceability in a dynamic system.

Usage of traceability information

The usage of traceability, especially when tracing beyond requirements to all artifacts located in the tool chain, can bring several benefits:
A more complete overview of development activities supported by traceability and their relevance is given in.

Practical use of traceability information

Extensive studies document the effectiveness, but also the difficulties of capturing traceability information:
One goal of traceability is to visualize the relationship between artifacts. As the number and complexity of trace links increases, techniques for traceability visualization are necessary. A visualization can include information about the artifacts and links.
Common visualizations for traceability information are matrices, graphs, lists, and hyperlinks.
Visualizations can be combined to overcome their specific limitations.

Technical realization

Manual traceability

Traceability is realized by capturing traces either entirely manual or tool supported, e.g. as spreadsheet in Microsoft Excel. Though widely applied, this process is cumbersome, error-prone, and often leads to traceability information that is of insufficient quality due to the various involved development tools and the typically very high number of artifacts to be traced.

Tool-supported traceability

Tool-supported traceability requires that development information that is distributed across a whole chain of development tools to be homogenized and aggregated. The following approaches exist for reaching this state:
Homogenization of the tool environment via an ALM tool – ALM tool chains cover the whole life-cycle of a system and manage all artifacts of the development process in a holistic approach. Issue trackers implementing the Volere requirements template have been used successfully in distributed environments. The advantage of this approach is that the homogenization of artifacts allows managing and analyzing them easily with dedicated tools of the ALM tool. The disadvantage is that it is necessary to implement the whole ALM tool chain. If introduced, it is difficult to replace specific tools in the tool chain.
Homogenization of data via surrogate requirementsRequirements management tools allow storing, organizing, and managing all requirements of a system's specifications and typically arrange them in a specification tree that links each requirement to its parent requirement in the higher specification. Typical analysis functions based on recorded traceability information are, e.g., completeness checks i.e. do all system level requirements go down to equipment level, assessment of requirements deviations over all levels, and qualification status presentation. In order to ensure traceability to artifact types beyond requirements, RM tools often allow to import other artifacts as surrogate requirements that can then be traced with the tool's requirements tracing methods. The disadvantage of this approach is that different adapters or converters for the different artifact types are necessary that need to have a consistent version and data format. In contrast to ALM tools this consistency must be carried out oneself.
Homogenization of data via a dedicated traceability tool -
The basic concept of dedicated traceability tools consists of three essential steps:
The approach unions the advantages of the aforementioned approaches: It covers all tools and artifacts in a holistic approach, homogenizes data and avoids the risk of inconsistencies caused by outdated surrogates. The disadvantage is that this approach implies the extension of a toolchain by another tool.