- Advertisement -spot_img
HomeRequirements EngineeringVon Teufeln, die Eichhörnchen sind: Lückenlose Tracebility - von der Idee zur...

Von Teufeln, die Eichhörnchen sind: Lückenlose Tracebility – von der Idee zur Lösung

- Advertisement -spot_img

Autor: Pierre Wienke

Lückenlose Traceability sollte das Ziel jeder Entwicklung sein. Die Nachvollziehbarkeit von Idee, Projektziele, Anforderungen und Testfällen bis hin zum laufenden System bedient mehrere Zwecke und Ziele. Doch was steht dem im Wege? Was muss man beachten? Und was hat das Ganze mit Eichhörnchen zu tun? Dieser Artikel soll “Food for thought” liefern, zum Nachdenken anregen und mögliche Lösungsansätze aufzeigen.

Was ist Traceability?

Allgemein gesagt bezieht sich “Traceability” (zu Deutsch: “Nachverfolgbarkeit”) auf eine lückenlose, detaillierte, relevante und nachvollziehbare Verbindung zwischen verschiedenen Elementen in einem Projekt oder einer agilen Entwicklung. Es beinhaltet die vollständige Dokumentation und Überwachung dieser Beziehungen zwischen der Projektidee, den festgelegten Anforderungen, den erstellten Testfällen und dem entwickelten System.

Die Herausforderung

Die Herausforderung, eine solche Nachverfolgbarkeit herzustellen, ist die „Vielfalt“, die uns wie ein komplexes Puzzle in der Softwareentwicklung begegnet. Dieses Puzzle besteht aus Elementen wie Ideen, Projektzielen, Anforderungen, Tests und diversen anderen Aktivitäten der Entwicklung.

Das Schwierige dabei ist, nicht nur jedes einzelne Puzzleteil zu erfassen, sondern auch sicherzustellen, dass diese Puzzleteile korrekt miteinander verbunden sind und die Verbindung dabei die Richtige ist. Die Situation wird zusätzlich dadurch erschwert, dass viele Personen in verschiedenen Rollen an diesem Prozess mitarbeiten und jeweils andere Bereiche bearbeiten: Test, Business Analyse, Entwicklung, Architektur, etc.

Die Motivation der Nachverfolgbarkeit

Wie bereits angedeutet, bedient das Erreichen einer lückenlosen und vollständigen Traceability in der Softwareentwicklung mehrere Ziele: Wir wissen, welche Testfälle welche Anforderungen abdecken und welche Prozesse von welchen Systemen bedient werden. Wenn also externe Einflüsse auf das Unternehmen einwirken, wie es beispielsweise bei der DSGVO oder PSD2 (Payment Services Directive2) der Fall war, hat das Unternehmen die Fähigkeit, festzustellen, welche Abläufe wie angepasst werden müssen. Diese Fähigkeit zur effizienten Analyse der Auswirkungen ist jedoch nur einer der positiven Effekte, die sich aus der Nachverfolgbarkeit ergeben. Die erreichbaren Ziele und die dadurch entstehenden Effekte können wie folgt zusammengefasst werden.

Transparenz und Verständnis

Eine vollständige Traceability bietet ein transparentes Bild darüber, wie sich Anforderungen durch den gesamten Entwicklungsprozess bewegen. Dies schafft ein tiefes Verständnis für den Entwicklungszyklus und ermöglicht es den Teammitgliedern, die Zusammenhänge zwischen verschiedenen Artefakten zu begreifen und zu überblicken.

Fehlervermeidung und -behebung

Durch die lückenlose Nachverfolgbarkeit von Anforderungen bis zur Implementierung können Fehler und Unstimmigkeiten frühzeitig erkannt werden. Das erleichtert nicht nur die Fehlerbehebung, sondern minimiert auch das Risiko von Fehlern, die in späteren Entwicklungsphasen teurer zu beheben sind.

Effizienz und Zeitersparnis

Eine klare Traceability ermöglicht eine effizientere Arbeitsweise. Entwickler:innen können schneller und genauer arbeiten, da sie den Kontext und die Beziehungen zwischen verschiedenen Artefakten besser verstehen. Die bereits erwähnte Auswirkungsanalyse ist ein weiteres Beispiel: Mit einer klaren Verbindung zwischen den Elementen lässt sich effizienter feststellen, welche Systeme geändert werden müssen, um beispielsweise neue Vorschriften umzusetzen. Dies führt auch zu einem weiteren Vorteil.

(Ver-)änderungsmanagement

In der Softwareentwicklung sind Änderungen an der Tagesordnung. Eine lückenlose Traceability ermöglicht eine präzise Verfolgung von Änderungen und ihrer Auswirkungen auf andere Artefakte. Dies ist entscheidend, um sicherzustellen, dass Änderungen konsistent und ohne unerwünschte Nebeneffekte implementiert werden.

Compliance and Audits

In vielen Branchen sind Compliance-Anforderungen und Audits unerlässlich. Eine vollständige Traceability stellt sicher, dass alle Anforderungen erfüllt sind und erleichtert die Dokumentation für Audits. Dies ist nicht nur in manchen Branchen eine rechtliche Anforderung, wie die schriftlich fixierte Ordnung in der Finanzindustrie1, sondern schafft auch Vertrauen bei den Stakeholdern.

Verbesserte Qualitätssicherung

Eine lückenlose Traceability ist entscheidend für eine umfassende Qualitätssicherung. Testfälle können präzise auf die Anforderungen abgestimmt werden, und es wird sichergestellt, dass alle Aspekte der Softwareentwicklung den festgelegten Standards entsprechen.

Risikomanagement

Die klare Verfolgung von Anforderungen ermöglicht ein effektiveres Risikomanagement. Potenzielle Risiken können frühzeitig identifiziert und entsprechende Maßnahmen ergriffen werden, um negative Auswirkungen zu minimieren.Insgesamt fördert eine lückenlose Traceability die Zusammenarbeit im Team, verbessert die Qualität der Software und des Systems und trägt dazu bei, dass Entwicklungsprojekte termingerecht und im Rahmen des Budgets abgeschlossen werden können. So jedenfalls die Theorie.

Die Schwierigkeit und “Kein Mut zur Lücke”

Die Schwierigkeit der lückenlosen Traceability besteht nicht nur darin, Elemente zu erfassen und richtig miteinander zu verbinden, sondern sicherzustellen, dass es keine Lücken oder Unklarheiten gibt. Das Risiko von fehlenden oder falschen Verbindungen kann zu Fehlern, Missverständnissen und letztendlich zu einer nicht zufriedenstellenden Lösung führen.

Eine lückenlose Traceability bedeutet, es gibt kein Pareto-, kein 80/20-Prinzip. Jede Anforderung, jeder Testfall und jede Codezeile verdient gleichermaßen Aufmerksamkeit, da das Fehlen einer klaren und richtigen Verbindung zwischen ihnen das gesamte Projekt gefährden könnte. Eine Entwicklung ohne einen fachlichen Auftrag kann nur in den wenigsten Fällen akzeptiert werden.In der Welt der Traceability ist Korrektheit und Vollständigkeit der Beziehungen der Schlüssel zur Vermeidung von potenziellen Risiken und zur Gewährleistung einer erfolgreichen Software- oder Systementwicklung.

Das Motto „Kein Mut zur Lücke“ unterstreicht diese Notwendigkeit, jede mögliche Lücke im Traceability-Prozess zu vermeiden. Jede Leerstelle in der Verfolgbarkeit und jeder Fehler kann einen Dominoeffekt auslösen, bei dem eine kleine Unklarheit zu großen Unsicherheiten führt. Dieser Mangel an Transparenz kann das gesamte Projekt beeinträchtigen und zu Verzögerungen, zusätzlichem Aufwand und Qualitätsproblemen führen.

Daher erfordert das Erzeugen der Traceability nicht nur Präzision, sondern auch den unbedingten Willen von allen Beteiligten, jede potenzielle Lücke zu schließen und so eine robuste Grundlage für den gesamten Entwicklungsprozess zu schaffen.Doch wie verhält es sich bei Änderungen und neuen oder gelöschten Anforderungen mit der Nachverfolgbarkeit? Das auf einmal eine Anforderung mehr oder weniger da ist, das fällt in jedem Tool schnell auf, doch was ist, wenn sich der Anforderungsinhalt geändert hat, und so auf einmal eine ganz andere Anforderung entsteht? Muss wirklich alles, direkt oder indirekt, miteinander verbunden werden?

Der Aufwand wächst bei genauerer Betrachtung

In der Theorie ist es simpel; die Anzahlder Elemente erscheint überschaubar – am Ende habe ich 42 Testfälle, die zehn Anforderungen abdecken. Wie ich die Elemente verbinden muss, ist offensichtlich und einfach. Wir alle wissen aber, dass der Teufel, wie so oft, im Detail liegt und sich erst offenbart wenn man sich eingehend mit der Materie beschäftigt. Projekte beinhalten nicht zehn, sondern hunderte, oder tausende von Anforderungen, die sich wie flinke Eichhörnchen geschickt im Dickicht der Stakeholder, Dokumente und Tools verbergen.

Randbedingungen, Entscheidungstabellen, Testfälle, Fachdatenmodelle – jede Einzelheit ist ein wuseliges Eichhörnchen, das es zu erhaschen gilt.

In diesem Wald von Artefakten entstehen die wahren Herausforderungen in der Entwicklung.
Die vielen möglichen Beziehungen zwischen den Elementen machen selbst die akribischste Planung und Dokumentation zu einem Balanceakt, in dem das kleinste Detail den Verlauf des gesamten Vorhabens beeinflussen kann. Der Teufel steckt nicht nur im Detail, sondern verbirgt sich in einem Wald voller flinker Eichhörnchen, jedes ist ein potenzieller Stolperstein
auf dem Weg zu einer erfolgreichen Traceability.

Lösungsansätze

Doch genug von den Hindernissen, und den Dingen, die es zu beachten und zu bewältigen gilt. Wie könnten wir eine vollständige Traceability erreichen? Welche Lösungsansätze gibt es?

Modellbasierte Tracebility

Nutzen Sie modellbasierte Ansätze, um eine klare und visuelle Darstellung der Beziehungen zwischen Ideen, Anforderungen und Lösungen zu schaffen. Modelle helfen dabei, den Überblick zu behalten. Es ist deutlich einfacher, in Bildern eine Bedeutung zu erkennen, als in Fließtext oder verzweigten Jira Tickets. Vor allem, wenn die Modelle mit einer standardisierten Modellierungssprache erstellt wurden.

Klare Kommunikation und Zusammenarbeit

Etablieren Sie klare Kommunikationskanäle und fördern Sie die Zusammenarbeit zwischen den verschiedenen Teams, Rollen und Stakeholdern. Es muss ein gemeinsames Ziel sein, die Traceability zu erstellen, und auch über die Zeit stabil und aktuell zu halten.

Tool-Unterstützung

Setzen Sie auf Tools, die eine effiziente Verwaltung und Verknüpfung der verschiedenen Elemente ermöglichen.Von Requirements-Management bis hin zu Entwicklungs- und Test-Tools –die richtige Werkzeugauswahl ist entscheidend.

KI-Unterstützung

Durch den Einsatz von künstlicher Intelligenz kann die lückenlose Traceability durch automatisierte Analyse von Artefakten, intelligenteGenerierung von Traceability-Links und die frühzeitige Erkennung von Unstimmigkeiten verbessert werden. Adaptives Anforderungsmanagement, kollaborative KI-Plattformen und Prädiktive Analyse versprechen eine effizientere und präzisere Verfolgung von Anforderungen und ihren „Nachfahren“ über den gesamten Softwareentwicklungsprozess. Allerdings ist dies noch unter Vorbehalt gesagt. Der Einsatz von KI
ist immer noch mit rechtlichen und ethischen Aspekten behaftet, die es zu klären gibt. Hier seien nur der Datenschutz und das Urheberrecht als zwei Fragestellungen genannt, die aktuell
diskutiert werden. Für sich allein gesehen ist keiner der Lösungsansätze ausreichend, um
die Traceability vollständig, effektiv, effizient und vor allem nachhaltig herzustellen. Es kommt darauf an, eine sinnvolle Kombination einzusetzen, die das bestmögliche Ergebnis liefert.

Fazit

Die Reise von der Idee zur Lösung ist zweifellos herausfordernd. Das Erzeugen und
Aufrechterhalten einer lückenlosen Traceability ist sehr aufwendig und kann nur gemeinsam erreicht werden. Doch dieser Aufwand sollte unbedingt in Kauf genommen werden,
da die Vorteile wie oben beschrieben, dies mehr als rechtfertigen. Durch modellbasierte Ansätze, effektive Kommunikation und die richtige Tool-Unterstützung kann die Komplexität
und der enorme Aufwand dieser Reise bewältigt werden und man kann erfolgreich zu einer durchdachten Lösung gelangen.


Artikel teilen
Redaktion
Redaktion
Die SQ-Magazin Redaktion ist Ihr Ansprechpartner für alle Fragen, Anregungen und Ideen rund um das SQ-Magazin. Kontaktieren Sie uns gern unter redaktion@sq-magazin.de Wir freuen uns auf Ihre Nachricht!
- Advertisement -Certified DevOps Portfolio
Neueste Artikel
Weitere interessante Artikel
- Advertisement -spot_img
[js-disqus]