Anforderungen verfolgen Wie Traceability von der Last zur Lust wird

Autor / Redakteur: Stefan Friedrich, Method Park* / Martina Hafner

Ohne Zweifel verursacht die Umsetzung von Konzepten für eine konsistente Traceablility (Anforderungsverfolgung) zunächst höhere initiale Kosten. Traceability ist jedoch unverzichtbar für Entwicklungsprozesse, die Iterationen nicht ausschließen. Über die Art der Implementierung, (z.B. durch eigene Skripte, Excel-Makros oder ein spezielles Traceability-Tool), die Tiefe der Integration (abhängig davon, welche Schnittstellen genutzt werden können) und den Umfang der umgesetzten Funktionen (Impaktanalyse, Metriken etc.) lässt sich ein dem Projekt angemessenes Verhältnis von Aufwand und Nutzen finden.

Anbieter zum Thema

Verifikation und Validierung sind zwei wesentliche Maßnahmen der Qualitätssicherung. Während bei der Verifikation die Ausgabe-Produkte gegen die Eingabe-Produkte einer Entwicklungsphase geprüft werden (Frage: Wurde der Entwicklungsschritt richtig durchgeführt?), wird bei der Validierung geprüft, ob das gesamte (Software-)System die übergeordneten Anforderungen erfüllt (Frage: Wird das System seiner Aufgabe gerecht?). Beide Tätigkeiten sind ohne Traceability nicht möglich. Denn nur über entsprechende Verweise können die zusammengehörigen Elemente gefunden werden, z.B. Anforderungen und Architekturelemente, die die Anforderungen umsetzen. Aus diesem Grund schreiben einschlägige Normen zur Entwicklung sicherheitsgerichteter Systeme (z.B. IEC61508 oder der ISO26262) die Verfolgbarkeit von Anforderungen zwingend vor.

Bild 1: Übersicht, welche Arten von Traces in einem einfachen Entwicklungsprozess entstehen. Die Anzahl der zu betrachtenden möglichen Verbindungen ergibt sich aus dem Produkt aus der Anzahl der Verbindungsquellen und Verbindungsziele. (Archiv: Vogel Business Media)

Auch wenn der Nutzen der Verfolgbarkeit für die Qualitätssicherung unbestritten ist, wird der mit ihr verbundene Aufwand häufig als Last empfunden. Das hat mehrere Gründe: Zuerst einmal ist die zusätzliche Arbeit umfangreich. Bild 1 gibt eine Übersicht, welche Arten von Traces selbst in einem einfachen Entwicklungsprozess entstehen. Dabei ist die Anzahl der zu betrachtenden möglichen Verbindungen einzelner Elemente das Produkt aus der Anzahl der Verbindungsquellen und der Verbindungsziele.

Der subjektive Eindruck eines hohen Arbeitsaufwandes wird dadurch verstärkt, dass die Verbindungen meist in einem zusätzlichen Arbeitsgang gezogen werden nachdem die zu verbindenden Elemente erstellt wurden. Darüber hinaus hat derjenige, der diese Arbeit oft mühevoll von Hand durchführt, im Allgemeinen nicht den Nutzen davon, sollen die Traces doch in der Hauptsache Verifikationsaufgaben ermöglichen, die durch (evtl. unabhängige) Dritte durchgeführt werden.

12982820

Warum Traceability den gesamten Entwicklungsprozess unterstützt

Verfolgbarkeit von Anforderungen sollte jedoch eher Lust als Last sein, denn richtig aufgesetzt reduziert sich der Aufwand auf ein erträgliches Maß. Zusätzlich unterstützt Traceability die Entwicklungsarbeit in dreierlei Hinsicht:

  • Impaktanalyse: Bei Iterationen (etwa wenn eine neue Release ansteht) kann errechnet werden, welche Teile der Entwicklung möglicherweise von Veränderungen betroffen sein werden oder nochmals überprüft werden müssen. Dies dient als Grundlage für die Entscheidung, ob und in welchem Umfang Änderungen durchgeführt werden.
  • Planung & Projektverfolgung: Über die Traces lässt sich der Projektfortschritt leicht messen, indem etwa folgende Fragen beantwortet werden können: Wie viele meiner Anforderungen sind bereits umgesetzt? Wie viele und genauer noch welche meiner Testfälle sind bereits implementiert oder gar ausgeführt (und vor allem wie viele noch nicht)?
  • Ein nicht zu vernachlässigender Aspekt ist die Motivation zu zielgerichtetem Arbeiten: Wenn die Möglichkeit, besser noch, Pflicht besteht, die Traces gleich bei der Erstellung neuer Elemente zu ziehen, kann das unnötige Arbeit vermeiden helfen, denn es werden tatsächlich nur die Anforderungen umgesetzt. Als positiver Nebeneffekt sinkt die Hemmschwelle, Traces zu ziehen, da sich diese Arbeit nun auf viele kleine Portionen verteilt und nicht in einem zusätzlichen Arbeitsgang mühevoll durchgeführt werden muss.

(ID:296369)