Agile Requirements Tracing with Teamscale

Requirements are important artifacts in software and systems engineering. They describe which kind of system functionality is required as well as the correct system behavior. They are not only the foundation for architecture, design and implementation of a system but also an essential prerequisite for verification and testing.

Requirements Tracing is a part of Requirements Management and means that requirements can be linked to all other kinds of artifacts. Here, a crucial factor is proving that critical requirements, in particular, have been sufficiently covered. In such a case, it helps to know which software test verifies which requirements or where a specific requirement has been implemented in the code.

Requirements Tracing is heavily used in the engineering of safety-critical systems and described in various industry standards. Among the most common are

  • ISO 26262 for automotive software
  • DO-178C/ED-12C for avionic systems
  • ISO 13485/IEC 62304 which is used for medical devices

Standards like the ones mentioned above often use top-down development processes as their underlying mental model: Assuming the requirements are stable, data to facilitate traceability is to be collected during the subsequent development process. However, projects from complex domains do not necessarily follow a strictly linear process and their requirements are subject to change. Nevertheless, in these cases Requirements Tracing is still encouraged or even obligatory.

Everything in Sync

Keeping requirements, design, code and tests in sync

Teamscale can continuously help with this task: If changes are made to the source code or to tests, Teamscale automatically displays all requirements affected by those changes as well as other elements of the specification. It creates an “Impacted Specification Items” list (see figure on the left) which becomes a review checklist:

The reviewer is able to see all relevant specification items without needing to know about them from the start and without having to read hundreds of pages.
Visit technical documentation       

Ensuring Conformity

Requirements in the Definition of Done (DoD)

In order to make conformity between requirements and other system artifacts a prerequisite before making changes to the product, it should be included in the Definition of Done (DoD).

For modern projects, DoD is applied to all Merge Requests and is used as a type of small Quality Gate before the merge to a Release Branch.

Just like with other quality features, Teamscale also directly annotates the results from Requirements Tracing in Merge Requests (currently in GitHub, BitBucket, GitLab, Gerrit). As a result, relevant specification items show up there automatically.

Have all requirements been tested successfully?

Teamscale automatically creates a Verification Matrix

Even today, many people still manually maintain spreadsheets in order to record whether their tests have successfully covered all requirements. Tests verifying critical requirements are treated as particularly important. Requirements Tracing in Teamscale saves you all the hard work of bringing requirements and tests together. A highlight is that calculation is done automatically which means your data will always be up-to-date.

Maintaining spreadsheets separately and manually is no longer necessary: Test cases are detected automatically within the test code or are extracted from test management tools. Linking tests and requirements can either take place via annotation within the test code or is saved within the testing tool. Teamscale reads this information, saves its development over time and presents it to all the project’s stakeholders in an appropriate form, for example, in the shape of a classic verification matrix:

If necessary, the number of requirements displayed can be limited, for example, to only a single component.

Typical questions, such as:

  • “Are there any requirements without associated tests?”
  • “Which tests verify too many requirements?”
  • “Which tests of a given requirement fail?”

are easy to answer with the help of Teamscale’s Requirements Tracing.

Our colleagues in the US have played a leading role in designing Agile Requirements Tracing in close collaboration with our clients in Silicon Valley and starting with Teamscale 7.0, this has finally become a reality. Numerous extensions are planned for the coming versions, taking the fear out of the bureaucracy of security and accuracy verification.

 

Demo: Requirements Tracing with Teamscale

Get in touch

How can we help?

Do you have questions about Requirements Tracing, about methods and/or how they are implemented in Teamscale? Get in touch with me, I am happy to assist.

Dr. Martin Feilkas leads the requirements tracing team and has a lot of experience. Contact him now!