Ein Angebot von

So lässt sich effiziente Traceability sicherstellen

| Autor / Redakteur: Bernd Röser * / Sebastian Gerstl

Tracing ist in der modernen Softwareentwicklung aufgrund der explosionsartigen Zunahe der Kompexität von Systemen kaum mehr vorstellbar – zumindest dann nicht, wenn nicht nach einer stringenten Methodik vorgegangen wird. Entsprechende Toolsets sind hier fast unverzichtbar geworden.
Tracing ist in der modernen Softwareentwicklung aufgrund der explosionsartigen Zunahe der Kompexität von Systemen kaum mehr vorstellbar – zumindest dann nicht, wenn nicht nach einer stringenten Methodik vorgegangen wird. Entsprechende Toolsets sind hier fast unverzichtbar geworden. (Bild: gemeinfrei / CC0)

Software- bzw. Systementwicklung ist ohne einen methodischen Ansatz kaum mehr vorstellbar, allein schon hinsichtlich Produktsicherheit oder -qualität. Abhängigkeiten zwischen den jeweiligen Entwicklungsartefakten bzw. –aktivitäten sollten übersichtlich dargestellt sein. Ohne Tools ist das kaum noch zu bewerkstelligen.

In der Software- und Systementwicklung war es seit jeher mühsam und nur mit erheblichem manuellen Aufwand möglich, einen kontrollierten und vor allem tiefgreifenden Änderungsprozess in der Domäne des Anforderungsmanagements zu etablieren. In den meisten Fällen ist die Integration zwischen Anforderungs- und Änderungsmanagement beschränkt auf die einfache Verlinkung zwischen Anforderungen und Änderungsanträgen. Diese Verknüpfungen werden in der Regel manuell erstellt und haben eigentlich keinen verbindlichen oder nachweisenden Charakter. Denn wie soll dadurch sichergestellt werden, dass Anforderungen ohne Auftrag nicht geändert werden können oder, ob die tatsächlich gemachten Änderungen mit den geplanten wirklich übereinstimmen?

Das ändert sich mit dem Einsatz von entsprechenden Toolsets. Ein Werkzeug wie z.B. agosense.fidelia erlaubt, jede Änderung an einem Dokument/einer Anforderung aufzuzeichnen und darüber hinaus durchzusetzen, dass ein Dokument nur in Verbindung mit einer zugeordneten Aufgabe oder einem Änderungsantrag editiert werden kann.

In regulierten Industriezweigen ist es zwingend erforderlich jeden einzelnen Entwicklungsschritt zu erfassen, um zu jedem späteren Zeitpunkt die Entwicklungstätigkeiten exakt reproduzieren zu können. Um dies zu ermöglichen, werden Weiterentwicklungen und Änderungen erfasst, geplant und an die zuständigen Personen bzw. Gruppen verteilt. Später werden diese Entwicklungsschritte geprüft und im Rahmen des vorgegebenen Prozesses freigegeben.

„Change Sets“ sorgen für Traceability nach Plan

Das Werkzeug agosense.fidelia hat zum Ziel, diesen Vorgang so effizient wie möglich zu gestalten und vor allem sicherzustellen, dass die durchgeführten Änderungen auch tatsächlich der Planung entsprechen. Um dies zu erfüllen, werden hier sämtliche granularen Änderungen am Dokument (hier: „Sheet“) erfasst. Dazu wird vom System zu jeder Aufgabe bzw. jedem Änderungsantrag ein so genanntes „Change Set“ erstellt, in welchem automatisch die Bearbeitungen am Dokument granular aufgezeichnet werden - ähnlich wie dies bereits bei Software-Versionsverwaltungstools praktiziert wird.

Die mit den Change Sets verlinkten Änderungsanträge oder Aufgaben stammen da-bei in der Regel aus bereits vorhandenen Change Management Systemen (z. B. IBM RTC, Atlassian JIRA, usw.), welche mit Hilfe der bereitgestellten Schnittstellentechnologien direkt mit agosense.fidelia integriert werden. Diese Integration ermöglicht unter anderem, dass die zugeordneten Planungsartefakte aus dem Change Management direkt für den Benutzer auswählbar sind. Selbstverständlich können dabei auch Informationen über Änderungen, Change Sets, Freigaben und vieles mehr an das Change Management System zurückübertragen werden.

Change Sets stellen also eine isolierte Menge Änderungen an einem Dokument dar, die einer Aufgabe oder einem Änderungsantrag, usw. zugeordnet sind. Sie können dann in Folge, zum Beispiel über einen geregelten Freigabe-Prozess in das Dokument einfließen. Damit wird sichergestellt, dass eine Dokumentenversion genau der Planung entspricht und die Änderungen jederzeit bis auf Zeichenebene nachvollzogen werden können.

In agosense.fidelia wird die aktuelle, freigegebene Version eines Dokuments als „Base“ bezeichnet. Soll diese (oder auch eine ältere Version eines Dokuments – dann in einem Branch) bearbeitet werden, wählt der Anwender einfach eine ihm zugeordnete Aufgabe aus und beginnt mit dem Editieren. Dabei wird aus der Base-Version automatisch eine so genannte „Tentative“ Version des Dokuments generiert, welche als Arbeitskopie für die Bearbeitung dient.

Ab diesem Zeitpunkt werden damit auch alle Änderungen an der Dokumentversion automatisch im Change Set aufgezeichnet. Nachdem die Arbeit durchgeführt ist, kann der Anwender seine Change Sets – je nach gewünschtem Prozess – zur Überprüfung vorlegen bzw. direkt dem Dokument hinzufügen. Bei diesem Vorgang wer-den die Änderungen auf die Base Version als offiziell gültig übertragen („Apply“). Gleichzeitig erfolgt dann auch ein entsprechender Statuswechsel der anhängigen Aufgaben oder Änderungsanträge im jeweiligen verknüpften System.

Anknüpfungspunkte zur Einbettung des Anforderungsmanagements

Wie in den vorhergehenden Abschnitten bereits erwähnt, ist die Einbettung des Anforderungsmanagements in den Gesamt-Entwicklungsprozess von großer Bedeutung. Im Folgenden soll erläutert werden, wo die typischen Anknüpfungspunkte liegen und wie diese bestmöglich umgesetzt werden können, um die heutigen Anforderungen an Nachvollziehbarkeit und Traceability erfüllen zu können.

Inwiefern ist es heutzutage erforderlich, die Domäne des Anforderungsmanagements um eine geplante Änderungsverwaltung erweitern? Dies soll nachfolgend anhand einiger kleiner Beispiele erläutert werden.

Geht man von der Annahme aus, dass ein Anforderungsdokument freigegeben ist und das Produkt bereits anhand dieser Spezifikation entwickelt wird:

Was ist notwendig, um nachträglich geänderte Anforderungen bestmöglich einfließen zu lassen? Die Anforderungen können nicht einfach nur geändert werden, sondern müssen nun im Rahmen eines geplanten Änderungsprozesses in die Produktentwicklung eingesteuert werden:

  • Änderungen müssen zunächst anhand verschiedener Kriterien bewertet werden (z.B. Kosten, Risiko, ...)
  • Abhängigkeiten müssen überprüft werden: Testfälle, Use Case Modelle, etc. müssen ggf. ebenfalls geändert werden
  • Die Spezifikation selbst muss geändert und freigegeben werden
  • Geänderte Anforderungen müssen kommuniziert und für die Implementierung weitergegeben werden

Um alle diese Aufgaben effizient zu erledigen, ist eine tiefgreifende Integration des Anforderungsmanagements in alle weiteren direkt angrenzenden Domänen, besonders in das globale Änderungsmanagement, unerlässlich.

Anforderungsmanagement ist also inzwischen ein integraler Bestandteil des Entwicklungsprozesses und kann als solches nicht mehr isoliert betrachtet werden. Daher ist es für die meisten Unternehmen wichtig, dass das eingesetzte Requirements Management (RM) Werkzeug entsprechend offene Schnittstellen bietet und so in die bestehende Tool-Landschaft integriert werden kann (z.B. mit Test Management, Modellierung, Änderungsmanagement, usw.). Allerdings haben nur die wenigsten Anbieter eine Strategie für das Thema Integration parat, sobald dies über den Tellerrand des eigenen Produktportfolios hinausgeht. Dies führt oft zu erheblichen Aufwänden und Frustration auf Kundenseite, vor allem wenn es darum geht, diese (meist kundenspezifisch entwickelten) Integrationen zu warten und einen entsprechenden Support anzubieten. Darüber hinaus wird oft unterschätzt, dass beim Thema Tool Integration tiefgreifende Kenntnisse und Know how über alle zu integrierenden Werkzeuge erforderlich sind.

Idealerweise bieten also die Hersteller von Werkzeugen für Anforderungsmanagement zumindest offene Schnittstellen für alle möglichen Integrationstechnologien an und haben bestenfalls auch noch eine klare Strategie und entsprechendes Know-how in diesem Bereich.

Reifegrade garantieren

Speziell bei sicherheitsrelevanten Produkten ist es nicht zuletzt durch gesetzliche Regelungen gefordert, dass gewisse Reifegrade innerhalb des Produktentstehungsprozesses garantiert werden können. Dies soll grundsätzlich zu einer verbesserten Produktqualität führen, aber auch dabei helfen, im Sinne der Ursachenforschung je-derzeit eine mögliche Fehlerkette rekonstruieren zu können – bis hin zurück zum Ausgangspunkt, den Produktanforderungen. Das ist letztlich nur durch Integration darstellbar, da die Mehrzahl der Unternehmen über sehr heterogene Werkzeug-Umgebungen und -Datenspeicher verfügt.

agosense.fidelia unterstützt hierbei, indem Trace Informationen zu Daten aus anderen Werkzeugen direkt in einer Ansicht dargestellt und zudem auch darin erstellt bzw. bearbeitet werden können. Somit ist es also möglich, werkzeugübergreifende Traceability herzustellen und diese über Dashboards in agosense.fidelia in Form von Reports in Echtzeit darzustellen.

Organisationen, welche durch straff organisierte Planungs- und Entwicklungsprozesse geprägt sind, erhalten hier zum ersten Mal die Möglichkeit auf einfache Art und Weise eine durchgängige Nachvollziehbarkeit sämtlicher Aktivitäten bis hin zum Anforderungsmanagement sicher zu stellen.

Zusammenfassung

Nahezu alle Safety-Normen fordern heute die Nachverfolgbarkeit (Traceability) der Anforderungen über die verschiedenen Entwicklungs-Artefakte hinweg bis zum Source Code bzw. den Testergebnissen. Dies soll grundsätzlich zu einer verbesserten Produktqualität führen, aber auch dabei helfen - im Sinne der Ursachenforschung -jederzeit eine mögliche Fehlerkette rekonstruieren zu können.

Kommen hier Cross-Referenz-Listen in Excel zum Einsatz, wird schnell ersichtlich, dass der Aufwand für die Erstellung, vor allem aber für die Pflege sehr hoch werden kann. Ganz abgesehen davon gehört die Pflege von Excel-Listen nicht gerade zu den Lieblingsbeschäftigungen eines Entwicklers und ist fehleranfällig.

Wie in diesem Artikel aufgeführt lässt sich mit einer werkzeuggestützten Methodik diese Verbindung herstellen. Anforderungsmanagement kann auf diese Weise generell in den modernen Entwicklungsprozess vollständig eingebettet werden. Neben der Traceability inner-halb einer Domäne ist in vernetzten Systemen auch eine domänenübergreifende Sichtweise für die Änderungsanalyse wichtig. Damit können die Auswirkungen einer geplanten Änderung an einer Spezifikation auf andere Domänen, wie Testszenarien oder Normen, nachvollzogen werden. Durch diese neue Möglichkeiten, eine Traceability über Domänengrenzen hinweg zu etablieren und die Tiefe der Nachvollziehbarkeit in der Entwicklung nachhaltig zu steigern, werden die Kommunikation und Koordination zwischen unterschiedlichen Verantwortlichkeiten im Anforderungsmanagement bzw. des gesamten Entwicklungsprozesses deutlich verbessert.

Lösbarer Konflikt – Safety und Security in der Softwareentwicklung

Lösbarer Konflikt – Safety und Security in der Softwareentwicklung

23.10.17 - Sicherheit ist mehr als nur ein Wort: Safety und Security bei der Softwareentwicklung unter einen Hut zu bringen kann aufgrund unterschiedlicher Regelsätze eine Herausforderung darstellen. Aber sie kann gemeistert werden. lesen

Wie wird aus Anforderungen eine Software-Architektur?

Wie wird aus Anforderungen eine Software-Architektur?

28.06.17 - Mit der Harmony-Methode hat IBM ein Designverfahren entwickelt, das auf modellbasierte Entwicklung und frühzeitige Absicherung durch ausführbare Modelle setzt. Stetige Verifikation begleitet die einzelnen Entwicklungsschritte. lesen

Der Autor

Der Autor: Bernd Röser
Der Autor: Bernd Röser (Bild: agosense)

* Bernd Röser beschäftigt sich schon über 10 Jahren in verschiedenen Positionen mit dem Thema Requirements Management beziehungsweise Requirements Engineering. Zunächst unterstützte er mehrere Jahre als Consultant verschiedene Unternehmen aus den Branchen Automotive, Medical, IT und Transportation bei der Einführung diverser Systeme für Anforderungsmanagement. Ab 2010 war er zuständig für den Vertrieb und verantwortlich für die erfolgreiche Einführung im deutschsprachigen Markt eines inzwischen namhaften Requirements Management Werkzeuges eines nordamerikanischen Herstellers. Seit Mitte 2015 ist Bernd Röser bei der agosense GmbH als Business Development Manager im Team der Requirements Management Plattform agosense.fidelia tätig.

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45100155 / Requirements)