(openPR) Die Bedeutung von Traceability in der Softwareentwicklung
(Marion Eickmann, Business Development Manager Europe, NCH International,
)
In unserer voll automatisierten Welt, in der die Informationen von heute morgen schon Schnee von gestern sind, wird Kontrolle und Planbarkeit immer wichtiger, denn Änderungen sind an der Tagesordnung. Die Auswirkungen von Änderungen genau abschätzen zu können, ist die Herausforderung speziell bei Softwareprojekten. Denn nur wer die Auswirkung von Änderungen, neuen Anforderungen oder auch von Fehlern genau nachvollziehen und planen kann, stellt die Kontrolle über die Projekte sicher.
Und hinter allem steht dabei der Anspruch der Qualität.
Gesetzliche Vorschriften und Qualitätsstandards, wie 21CFR820.60 (www.fda.gov), CMMI (http://www.sei.cmu.edu/cmmi/) u.a. werden von Behörden, Standardisierungsgremien oder Interessengemeinschaften aufgestellt und etablieren sich zunehmend in den unterschiedlichsten Märkten. Firmen, die diese Standards nicht umsetzen, werden sich über kurz oder lang dem Wettbewerb nicht mehr stellen können, sprich, sie werden z. B. von Großunternehmen nicht mehr als Zulieferer zugelassen.
Beschäftigt man sich mit Vorgehensmodellen und Qualitätsstandards (z B. CMMI, ISO 15504 (SPICE) u.a.), so stößt man immer wieder auf den Begriff Traceability, der Nachverfolgbarkeit. Aber was genau ist mit Traceability gemeint?
Traceability beginnt mit den Anforderungen
Ob in Form eines Lastenheftes oder eines Anforderungsdokuments, die Anforderungen des Kunden sind die Basis für jedes Produkt und der Einstieg in jedes Projekt. Die Darstellungsformen sind dabei häufig unterschiedlich, wobei Microsoft Word und Microsoft Excel Dokumente wohl am häufigsten anzutreffen sind. Unterstützende Werkzeuge für das Anforderungsmanagement sollten daher über eine Integration mit den entsprechenden Werkzeugen verfügen. Unter Berücksichtigung von zukünftigen Entwicklungen wie zum Beispiel des RIF der HIS (Herstellerinitiative Software der Automobilhersteller, http://www.automotive-his.de) ist auch eine Unterstützung der gängigen Datenaustauschformate (z. B. XML) wünschenswert.
Die zugrundeliegenden Prozesse, die in Firmen bezüglich des Anforderungsmanagements gelebt werden, sind im Detail häufig unterschiedlich, Phasen wie:
? Erhebung
? Analyse
? Spezifikation
? Verifikation
? Validierung
von Anforderungen sind jedoch in jedem Projekt usus.
Die Anforderungen durchlaufen in jeder dieser Phasen verschiedene Stati, die durch den eingeführten Prozessablauf bestimmt werden. Nur wenn die Vernetzung, sprich die Traceability, zwischen den einzelnen Ergebnissen, der oben genannten Prozessschritte durchgängig hergestellt wird, können spätere Änderungen oder Ergänzungen nachvollzogen und geplant werden. Ebenso verschafft die Traceability im Anforderungsmanagement die Möglichkeit fundierte Vereinbarungen mit dem Kunden zu schließen, um sicher zu stellen, dass die spätere Umsetzung der Anforderungen auch den Wünschen des Kunden entspricht.
Traceability muss Disziplinen übergreifen
Nach der Vereinbarung der Anforderungen durchläuft die Entwicklung eines Produktes verschiedene Disziplinen wie Design, Implementierung, Test, Bug tracking, etc..
Änderungsanfragen können ständig auftreten und dabei alle Artefakte dieser Disziplinen betreffen. Dies kann unter Umständen kritische Projektverschiebungen nach sich ziehen. Unabhängig davon, ob neue Anforderungen gestellt werden oder Probleme während der Entwicklungsphase auftreten, die Auswirkungen von Änderungen müssen zu jedem Zeitpunkt genau benannt werden können. Nur dann können die Verantwortlichen fundierte Planungsentscheidungen treffen. Nur die vollständige Traceability über alle Disziplinen und alle Projektartefakte hinweg verschafft diese Planungssicherheit, denn nur sie zeigt auf, ob eine Änderung beispielsweise eine bereits umgesetzte Spezifizierung betrifft oder ob sie lediglich eine Änderung im Anforderungsdokument erfordert.
Wenn wir über Traceability sprechen, müssen wir auch über Prozesse, über Technologien und nicht zuletzt über Menschen sprechen.
Flexible Prozesse – ein Widerspruch?
Effizienzsteigerungen können heutzutage nicht mehr ausschließlich durch eine
Optimierung der einzelnen Werkzeuge oder einer technischen Integration dieser Werkzeuge untereinander alleine gewährleistet werden. IT-Systeme, die nicht in der Lage sind, bestehende oder auch neue Geschäftsprozesse zu unterstützen und
womöglich auch zu automatisieren, sind nicht geeignet, Unternehmen den nötigen Wettbewerbsvorteil zu verschaffen. „Time to market“ muss dabei die treibende Kraft sein, denn die Wettbewerbsfähigkeit entscheidet sich nicht mehr nur allein über die Qualität der angebotenen Produkte oder Dienstleistungen sondern zunehmend über die schnelle Anpassungsfähigkeit der Prozesse an veränderte Rahmenbedingungen.
Auf der einen Seite müssen Prozesse also entsprechend der Rahmenbedingungen der einzelnen Unternehmen erarbeitet, eingeführt, und konsequent in der Praxis umgesetzt und kontrolliert werden. Auf der anderen Seite müssen sie aber auch flexibel genug sein um auf Veränderungen schnell und effektiv reagieren zu können.
Werkzeuge können bei der Einführung und Kontrolle von Prozessen unterstützen, sofern Sie flexibel genug sind, um auf die im Unternehmen eingeführten Prozesse, einstellbar zu sein. Häufig ist jedoch genau der umgekehrte Fall an der Tagesordnung.
Heterogene Werkzeuglandschaften
Die herkömmlichen Werkzeuge, die bei Softwareentwicklungsprojekten zum Einsatz kommen, sind in der Regel spezialisiert auf einzelne Teildisziplinen wie beispielsweise Projektmanagement, Anforderungsmanagement, Änderungsmanagement und Versionsmanagement. Für jede dieser Disziplinen lassen sich eine Vielzahl von Werkzeugen auf dem Markt finden.
Diese Werkzeuge versprechen alle eine Verbesserung der Projektabläufe und Projektergebnisse zu ermöglichen.
Wie aber unterstützt beispielsweise ein Werkzeug für Anforderungsmanagement die Projektplanung, wie werden Änderungen an die Entwicklung kommuniziert und wie bekommt der Projektleiter die Übersicht über alle Disziplinen? Und um genauer zu fragen: Wo bleibt dabei die Traceability über das gesamte Projekt?
Auf der einen Seite versuchen die Werkzeughersteller die fehlende Durchgängigkeit bezüglich Projekt- und Prozessoptimierung durch zusätzliche Funktionalitäten innerhalb der disziplinenspezifischen Werkzeuge auszugleichen. Dies hat jedoch den Effekt, dass viele Funktionalitäten dieser Werkzeuge aus ihrer Disziplin heraus immer mehr in die Breite wachsen. Dieser auf den ersten Blick vermeintliche Vorteil entwickelt sich häufig schnell zum Nachteil, denn mit jedem neuen Werkzeug steigt die Redundanz der Funktionalitäten.
Auf der anderen Seite versuchen die Anbieter von sogenannten Werkzeug-Suiten der Problematik mit sogenannten „Life-Cycle-Solutions“, Herr zu werden.
Diese Lösungen sind jedoch häufig sehr aufwendig und damit teuer. Darüber hinaus halten sie im Allgemeinen nicht, was sie versprechen, denn die einzelnen Tools dieser Suiten basieren meist auf den oben genannten Werkzeugen, wurden häufig von ursprünglich verschiedenen Herstellern entwickelt und haben somit unterschiedlichen Architekturen. Sie kommunizieren nicht durchgängig miteinander und verwalten die spezifischen Informationen der jeweiligen Disziplinen häufig getrennt.
Darüber hinaus ist es mitunter schlicht unmöglich (Budget, Organisation, Training...) in einer bestehenden Umgebung, eine vollständige Werkzeug-Suite einzuführen.
Fazit: Jeweils das Werkzeug mit der größten Funktionsfülle oder immer das Neueste am Markt zu beschaffen, reicht nicht aus, denn die Tools unterstützen alle auf Ihre Art in den einzelnen Disziplinen. Eine durchgängige Traceability über das komplette Projekt können sie jedoch nur schwerlich ermöglichen.
Der Faktor Mensch
Unabhängig davon wie groß der Funktionsumfang der Werkzeuge ist, wie stark automatisiert die Arbeiten heute ablaufen oder wie leistungsfähig die verwendete Software auch immer ist, die Projektteams sind verantwortlich für den Erfolg oder den Misserfolg in den Projekten. Technologie kann immer nur so gut sein wie diejenigen die mit ihr arbeiten. Allerdings muss die fachliche Kompetenz der Projektmitglieder durch gezielt eingesetzte und gut strukturierte Kommunikationsmechanismen unterstützt werden. Denn nur Besprechungen, die aufgrund von fundierten Informationen durchgeführt werden sind zielführend, nur Aufgaben, die im Gesamtkontext eingebunden sind werden nachvollziehbar und nur ein aktueller Projektstatusbericht spiegelt die Projektwirklichkeit wieder.
Aber wie sieht die Realität häufig aus? Informationen werden per E-Mail versendet, sind nicht versioniert und häufig nicht wieder auffindbar, Änderungsanfragen werden am Telefon entgegengenommen und nicht in den Projektplan eingebunden, und die ersten zwei Stunden in jeder Besprechung werden benötigt um mit allen Beteiligten den aktuellen Projektstatus abzustimmen.
Genau definierte und gelebte Prozesse machen effektives Arbeiten möglich, und ein Traceability Werkzeug, welches in den Gesamtkontext eines aktuellen Prozesses eingebettet und auf ihn abgestimmt ist, unterstützt die Teams um die notwendigen Informationen ohne Mehraufwand und dabei schnell und aktuell zur Verfügung zu stellen.
Qualität ist nicht kostenlos
Ist Qualität teuer? Ja – wenn sie fehlt auf jeden Fall!
Daher sollte man genau überlegen, welche Maßnahmen erforderlich sind und welche Werkzeuge den Anforderungen genügen. Aber welche Werkzeuge sind die Richtigen?
Wenn das Ziel die Verbesserung innerhalb einer Einzeldisziplin ist, dann zeigt häufig schon eine Evaluierung welches Tool die gewünschten Eigenschaften hat, oder die gewünschte Bedienerfreundlichkeit besitzt. Will man jedoch einer Verbesserung des Gesamtprojektes, also Disziplinen übergreifend erreichen, so sollte man sich über Traceability Werkzeuge informieren.
Die N.C.H International GmbH hat sich mit dem Traceability System Miro.BAS dieses Themas angenommen. Projekttransparenz, Kosten und Zeitkontrolle über alle Disziplinen hinweg stehen bei dieser Lösung neben umfassenden Disziplinenfunktionalitäten im Fokus. Infos:
NCH International
Dieselstr. 18/1
70771 Stuttgart
www.nch-international.com
Kontakt: Marion Eickmann
0711/22040711













