Agiles Requirements Tracing mit Teamscale

Requirements (dt. Anforderungen) sind wichtige Artefakte im Software- und Systems Engineering. Sie beschreiben, welche Funktionalität ein System aufweisen muss und das korrekte Systemverhalten. Sie sind nicht nur Grundlage für Architektur, Design und Implementierung eines Systems, sondern auch eine wesentliche Voraussetzung für Verifikation und Test.

Als Teil des Anfordungsmanagements bezeichnet Requirements Tracing (dt. Rückverfolgbarkeit) die Maßgabe, Anforderungen zu jedweden anderen Artefakten zuordnen zu können. Ein Kernpunkt dabei ist, den Nachweis zu schaffen, dass vor allem kritische Anforderungen ausreichend abgesichert wurden. Dabei hilft es beispielsweise zu wissen, welcher Softwaretest welche Anforderungen prüft oder wo eine Anforderung im Code umgesetzt ist.

Für Branchen, in denen Anwendungen fast immer sicherheitskritisch sind, sind Standards beim Requirements Tracing vorgeschrieben. Bekannt sind zum Beispiel die

  • ISO 26262 im Automobilsektor,
  • DO-178C/ED-12C in der Avionik oder die
  • ISO 13485/IEC 62304 für die Medizintechnik.

Diese Standards nehmen im Regelfall Top-down-Entwicklungsprozesse (s. unten stehendes Bild) an: Ausgehend von stabilen Anforderungen sollen Informationen, die die Rückverfolgbarkeit ermöglichen, im weiteren Entwicklungsprozess festgehalten werden. Projekte, die sich in komplexen Domänen bewegen, folgen aber keinem strikt linearen Prozess, und Anforderungen erfahren häufige Änderungen. Dennoch sind sie zu Requirements Tracing angehalten oder verpflichtet.

Konsistenz
Anforderungen, Design, Quellcode und Tests immer synchron halten

Teamscale kann bei dieser Aufgabe kontinuierlich helfen: Finden Änderungen am Quellcode oder an Tests statt, zeigt Teamscale automatisch alle von den Änderungen betroffene Anforderungen und andere Elemente der Spezifikation auf. Die entstehende Liste an »Impacted Specification Items« (siehe Bild) wird zur Checkliste im Review:

Der Reviewer hat alle relevanten Teile der Spezifikation im Blick, ohne sie im Vorhinein kennen zu müssen oder hunderte Seiten zu lesen.

Technische Dokumentation  

 

Konformität
Anforderungskonformität in der DoD

Um die Konformität zwischen Anforderungen und anderen Systemartefakten zur Voraussetzung zu machen, bevor Änderungen ins Produkt einfließen, sollte diese in die Definition of Done (DoD) aufgenommen werden.

In modernen Projekten wird die DoD auf jeden Merge Request angewendet und dient als kleines Quality Gate vor dem Merge auf einen Release-Branch.

Wie andere Qualitätsmerkmale, annotiert Teamscale auch die Ergebnisse aus dem Requirements-Tracing direkt an Merge Requests (aktuell in Git-Hub, BitBucket, GitLab, Gerrit). Damit tauchen dort relevante Elemente der Spezifikation automatisch auf.

Sind alle Anforderungen erfolgreich getestet?

Teamscale erzeugt Verifikationsmatrix automatisch

In vielen Projekten werden auch heutezutage noch händisch Tabellen gepflegt, um festzuhalten, ob die Tests zu allen Anforderungen erfolgreich laufen. Besonderes Augenmerk liegt auf den Tests, die kritische Anforderungen prüfen. Das Requirements Tracing in Teamscale nimmt die aufwändige Arbeit ab, Anforderungen und Tests zusammenzubringen. Ein Highlight: Da die Berechnung automatisch stattfindet, sind die Daten immer aktuell.

Eine separate und manuelle Tabellenpflege dafür entfällt: Testfälle werden automatisch im Testcode erkannt oder aus Testmanagementwerkzeugen extrahiert. Die Verlinkung zwischen Test und Anforderung findet dabei entweder durch Annotation im Testcode statt oder wird im Testwerkzeug gespeichert. Teamscale liest diese Informationen ein, speichert deren Entwicklung über die Zeit und präsentiert sie allen Stakeholdern des Projekts in geeigneter Weise, z. B. in Form einer klassischen Verifikationsmatrix.

Die Anzeige lässt sich bei Bedarf auf eine bestimmte Menge von Anforderungen einschränken, z. B. die einer einzelnen Komponente. 

Typische Fragen wie:

  • “Für welche Anforderungen haben wir keine Tests?”
  • “Welche Tests prüfen zu viele Requirements?”
  • “Welche Tests von welchen Anforderungen failen?”

sind mit Teamscales Requirements-Tracing einfach zu beantworten. 

Federführend durch die Kollegen der CQSE America und in enger Zusammenarbeit mit unseren Kunden im Silicon Valley konzipiert, wird mit Teamscale 7.0 agiles Requirements-Tracing erstmals Realität. Auch in den nächsten Versionen sind zahlreiche Erweiterungen geplant, um den bürokratischen Aufgaben des Sicherheits- und Korrektheitsnachweises den Schrecken zu nehmen.

 

Kontakt
Wir helfen Ihnen gerne weiter

Sie haben noch Fragen zur Anwendbarkeit im Kontext Ihrer Softwareentwicklung? Fragen zu Requirements-Tracing, zu Methoden oder der Umsetzung in Teamscale? Kontaktieren Sie mich, ich helfe Ihnen gerne weiter.

Dr. Martin Feilkas leitet das Requirements Tracing Team und hat einen großen Erfahrungsschatz. Kontaktieren Sie ihn jetzt!