Traceability Management im Projektalltag (Teil 2)

Im ersten Teil unserer Serie zum Thema “Traceability Management im Projektalltag” haben wir anhand von drei Use Cases gezeigt, welche diversen Vorteile Traceability für Software-Projekte bietet. Wir wollen jedoch nicht verschweigen, dass das Aufsetzen und Durchführen von Traceability auch das gesamte Team betreffenden Mehraufwand bedeutet und somit zusätzliche Kosten generiert. Diese sind umso höher je größer der Projektumfang ist: Bei steigender Artefakt-Anzahl (z.B. der Anzahl der relevanten Anforderungen) erhöhen sich der Traceability-Aufwand und die damit verbundenen Kosten exponentiell. Nur wenn Zeit und Kosten über den gesamten Projektzeitraum eingespart werden können, ist dieser Mehraufwand im Projektumfeld trag- und vertretbar.

Zeit und Kosten sparen – aber wie?

Wenn der Einsatz von Traceability doch zusätzliche Kosten und Zeitaufwände verursacht, wie sollen Zeit und Kosten gleichzeitig wieder eingespart werden können? Einige Möglichkeiten ergeben sich direkt aus den Vorteilen, die Traceability für Ihr Projekt mit sich bringt:

  • Probleme innerhalb des Projekts können früher erkannt und damit kostengünstiger behoben werden. Das gilt insbesondere für sich widersprechende oder vergessene Anforderungen, fehlende Tests, etc.
  • Aufwandsschätzungen können schneller und genauer durchgeführt werden. Die für die Umsetzung benötigten Ressourcen können dadurch genauer geplant und angefordert werden – die Gefahr der Unter- oder Überdeckung wird minimiert. Dadurch kann die gesamte Projektplanung in Bezug auf Meilensteine und Budget präziser ausgeführt werden.
  • Bei der Umsetzung von Change Requests sinkt die Wahrscheinlichkeit, unerwartete Arbeiten einplanen zu müssen und dadurch in bzw. sogar aus dem Risikobudget zu laufen.
  • Projektbeteiligte können zwischen den verlinkten Entwicklungsartefakten schneller navigieren. Die Effizienz der darauf basierenden Arbeitsprozesse steigt.

Zeit und Kosten für Traceability minimieren

Auch Aufwand und Kosten der Traceability selbst können gesenkt werden. Hier gibt es zwei Möglichkeiten:

  • Der größte Aufwand entfällt beim Traceability Management auf das Anlegen und die Pflege von Traces. Durch eine Automatisierung dieses Prozesses lassen sich viel Zeit und damit Kosten sparen. Diesen Aspekt schauen wir uns später näher an.
  • Durch die sogenannte “value-based traceability” können die Gesamtkosten der Traceability gesenkt werden. Bei diesem Vorgehen werden nur noch die wichtigsten Entwicklungsartefakte verbunden; die Gesamtzahl der Traces wird entsprechend reduziert – oft jedoch auf Kosten der Vollständigkeit. Die Durchführbarkeit der value-based traceability sollte daher von Projekt zu Projekt individuell beurteilt werden.

Yakindu_Traceability_Vorteile.jpg

Anforderungen an die optimale Traceability-Anwendung

Traceability Management lässt sich im einfachsten Fall mit einer zweidimensionalen Matrix durchführen, in der zwischen zwei Entwicklungsartefakten ein symbolischer Trace gesetzt wird – zum Beispiel zwischen einer Implementierung und einem dazugehörigen Testfall. Allerdings wird in mittleren und großen Projekten schnell klar, dass diese Vorgehensweise zu fehleranfällig und unzureichend für ein effizientes Traceability Management ist. Es wird also eine dedizierte Anwendung benötigt, die die Projektbeteiligten in allen Phasen des Traceability Managements möglichst gut unterstützt und folgende Aspekte berücksichtigt bzw. bereitstellt:

  • Unterstützung anwendungsübergreifender Traces
  • Automatisiertes Anlegen von Traces
  • Gute Unterstützung beim manuellen Anlegen von Traces
  • Möglichkeiten Traceability-Daten einfach auszuwerten 
  • Verifizierung von Traceability-Daten
  • Frei konfigurierbare Report-Templates

Vor allem die beiden ersten Punkte wollen wir näher betrachten, sind sie doch entscheidend für ein erfolgreiches Traceability Management.

Entwicklungsartefakte liegen in einem typischen Software-Projekt üblicherweise in Anwendungen (IDEs, Modellierungs- oder Requirementtools) oder verschiedenen Formaten (Text-, Word- oder Exceldateien) vor. Beim Verlinken dieser Artefakte müssen daher zwangsläufig Format- bzw. Anwendungsgrenzen überwunden werden. Bietet die zu nutzende Traceability-Anwendung diese Möglichkeit nicht, wird sich ein effizientes und damit tragfähiges Traceability Management nicht etablieren lassen. Auch helfen Traceability-Anwendungen, die Artefakte aus anderen Anwendungen importieren, nur bedingt weiter. Zwar kann auch mit einer solchen Lösung die Traceability gewährleistet werden, allerdings mit erhöhten Kosten und Nachteilen: Durch den Import liegen die Artefakte jeweils doppelt in den Ursprungsanwendungen und in der Traceability-Anwendung vor und müssen fortlaufend synchronisiert werden. Um eine optimale Traceability zu garantieren, müssen daher anwendungsübergreifende Traces unterstützt werden. 

Des Weiteren muss eine Traceability-Anwendung in der Lage sein, aufgrund von gemeinsamen Merkmalen, wie z. B. gleichen IDs, automatisiert Traces zwischen Artefakten aus vorgegebenen Artefakttypen zu erstellen. Gibt es für solche gemeinsamen Merkmale entsprechende Vorgaben im Projekt und werden diese konsequent bei der Artefakt-Erstellung angewendet, lassen sich die zugehörigen Tracedaten schnell und mit wenig Aufwand automatisiert erstellen. Somit entfällt das größte Argument gegen die Nutzung von Traceability – nämlich der enorme Zeitaufwand durch das manuelle Anlegen von Traces .

Der Einsatz lohnt sich

Traceability Management ist eine große und nicht zu vernachlässigende Hilfe im täglichen Projektalltag. Zwar bedarf es einer sorgfältigen Planung, einer konsequenten Durchführung und einer entsprechenden technischen Unterstützung, damit Traceability zu einem Mehrwert für das jeweilige Projekt wird – die Vorteile für den gesamten Projektverlauf sprechen allerdings für sich. Der Einsatz lohnt sich!

Über den Autor

Christoph Borowski works as a product and project manager for itemis AG in Lünen, Germany. He is interested in agile software development and user experience (UX). In his role as a product manager he is responsible for the YAKINDU product line. For more information visit http://www.yakindu.com