Traceability Management im Projektalltag (Teil 1)

Traceability Management ist heute ein wichtiger Bestandteil von Hard- und Softwareprojekten – insbesondere in den Bereichen Automotive, Aerospace und Healthcare, in denen Standards wie ISO 26262 oder IEC 61508 lückenloses Traceability Management fordern. Die Art und Weise wie Traceability in konkreten Projekten angewendet wird, sei es organisatorisch und technisch, ist jedoch bezüglich der Ausprägung und Intensität sehr unterschiedlich. Ein Grund dafür ist die Tatsache, dass Traceability Management von vielen Projektbeteiligten häufig nicht als Vorteil, sondern als zusätzliche Belastung angesehen wird – und das nicht nur auf operativer Ebene, sondern auch im Management. Dabei wird oft unterschätzt, was Traceability Management, richtig angewendet, für ein Projekt leisten kann.

Traceability Management? Was ist das eigentlich?

Der Definition nach geht es beim Traceability Management um die Nachverfolgbarkeit von Anforderungen. Ziel ist es, zu verstehen, woher Anforderungen kommen und wie die resultierenden Entwicklungsartefakte miteinander in Beziehung stehen. Dieses Verständnis führt zu einer verbesserten Prozess-Transparenz – oder schafft diese in einem Projekt erst. Fragen wie “Wer hat diese Anforderung gestellt?”, ”Ist diese Anforderung noch relevant?” oder “Ist diese Anforderung bereits umgesetzt/getestet?” lassen sich schneller und genauer beantworten. Diese Transparenz gibt letztendlich allen Projektbeteiligten die Gewissheit und Sicherheit, “das Richtige zu tun”.

Das ist jedoch nur die Grundlage für weitere Use Cases, die vom Traceability Management profitieren können. Die wichtigsten wollen wir uns im Folgenden ansehen.

Tag cloud: Traceability management

Use Case: Umsetzung von Anforderungen validieren und verifizieren

Auf Basis der Anforderungen, die im Rahmen des Requirements Managements eines Projekts erhoben wurden, werden, vereinfacht dargestellt, die Spezifikation, die Architektur, die Implementierung und die zugehörigen Tests erstellt. Dabei muss sichergestellt werden, dass alle Anforderungen vollständig und auch korrekt umgesetzt wurden. Konkret bedeutet das, dass es zu jeder Anforderung einen entsprechenden Code und Test geben muss: Der Code zeigt an, dass die jeweilige Anforderung tatsächlich umgesetzt wurde, durch den Test wird sichergestellt, dass die Anforderung getestet wurde.

Verlinkt man im Laufe der Projektlaufzeit die Anforderungen mit den zugehörigen Codestellen und diese wiederum mit den zugehörigen Tests, lassen sich auf Basis dieser sogenannten Tracedaten entsprechende Coverage Reports erstellen, über die die Umsetzung der Anforderungen verifiziert und validiert werden kann. Zusätzlich kann über die Coverage Reports auch der Kunde jederzeit über den Projektstatus informiert werden und bekommt die Gewissheit, dass das Produkt entwickelt wird, welches er haben möchte. Ohne Traceability kann eine Verifizierung und Validierung, zumindest in mittleren und großen Projekten, nicht zu 100% zugesichert werden.

Use Case: Projektfortschritt ermitteln

Auch für die klassischen Aufgaben eines Projektleiters bringt Traceability Vorteile. Eine der wichtigsten Tätigkeiten des Projektleiters ist die regelmäßige Ermittlung des Projektfortschritts und als Folge dessen die weitere zeitliche Planung. Normalerweise wird zum Fertigstellungsgrad der aktuell anfallenden Aufgaben das Projektteam befragt. Aus den aggregierten Informationen wird dann der Projektfortschritt ermittelt. Liegen allerdings aktuelle Tracedaten vor, lässt sich der Projektfortschritt auch auf Basis dieser Tracedaten ermitteln. Die Daten werden ausgewertet und entsprechende Reports generiert. Dieses Vorgehen hat vor allem dann Vorteile gegenüber dem klassischen Ansatz, wenn das Projektteam groß bzw. über mehrere Standorte verteilt ist. Voraussetzung dafür ist jedoch, dass die Tracedaten selbst möglichst aktuell sind. Das Projektteam muss entsprechend dafür sorgen, dass neue Enwicklungsartefakte wie Anforderungen, Sourcecode, Tests etc. zeitnah sinnvoll miteinander verlinkt werden.

Use Case: Change Requests bewerten

Change Requests, also Änderungswünsche, gehören im Projektalltag, speziell im agilen Projektumfeld, zur Normalität. Die dazugehörige Aufwands- und Risikoabschätzung ist eine wichtige und kritische Aufgabe. In Projekten mit einer großen Anzahl von Entwicklungsartefakten ist es nicht einfach, alle zu einem Change Request zugehörigen Artefakte zu identifizieren. Für eine korrekte Aufwandsbewertung und Minimierung der zugehörigen Risikoabschätzung ist dies jedoch absolut notwendig. Werden nicht alle relevanten Artefakte identifiziert und zur Bewertung herangezogen, ist aufgrund der dann notwendigen Anpassungen zum späteren Zeitpunkt im Entwicklungsprozess (z. B. in der Testphase) mit einem deutlich erhöhten, zeitlichen und finanziellen Mehraufwand zu rechnen.

Auch hier ist Traceability hilfreich. Durch eine so genannte Impact Analyse werden alle relevanten Artefakte ermittelt, die mit dem von Change Requests betroffenen Artefakt verlinkt sind. Somit steigt die Chance, eine adäquate Bewertung durchzuführen und die Risikoabschätzung möglichst gering zu halten.

Die verschiedenen Use Cases zeigen, dass Traceability Management in vielen Bereichen eines Softwareprojektes nicht nur hilfreich, sondern notwendig ist und sowohl Zeit- als auch Kostenaufwände senken kann. Selbstverständlich ist die Integration von Traceability Management in den Entwicklungsprozess (zunächst) mit einem das gesamte Team betreffenden Mehraufwand verbunden. Wie Sie Traceability trotzdem in Ihren Projektalltag integrieren können und welche langfristigen Vorteile sich für Sie bieten, erläutern wir in einem zweiten Teil zum Thema “Traceability Management im Projektalltag”.
Über Christoph Borowski

Christoph Borowski works as a project manager for itemis AG in Paderborn, Germany. He is interested in agile software development and user experience (UX). He is also the head of the Paderborn itemis office.