Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Traceability - oft gefordert, selten effizient

Autor: Bernd Röser, agosense GmbH

Beitrag - Embedded Software Engineering Kongress 2017

 

Die Software- bzw. Systementwicklung ist heutzutage ohne einen methodischen Ansatz – nicht zuletzt aus Gründen der Produktsicherheit bzw. Produktqualität und der damit verbundenen Nachvollziehbarkeit der Aktivitäten und Ergebnisse – kaum mehr vorstellbar. Abhängigkeiten zwischen den jeweiligen Entwicklungsartefakten bzw. –aktivitäten sollten übersichtlich dargestellt sein, damit eine schnelle Analyse bei Veränderungen der Artefakte möglich ist.

Bisher war es 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 agosense.fidelia. Der methodische Ansatz dieses Werkzeuges erlaubt es, 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 (siehe auch Abbildung 1, PDF).

Um diesen Vorgang so effizient wie möglich zu gestalten und vor allem sicherzustellen, dass die durchgeführten Änderungen auch tatsächlich der Planung entsprechen, werden bei agosense.fidelia 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 dabei in der Regel aus bereits vorhandenen Change-Management-Systemen (z. B. IBM RTC, Atlassian JIRA usw.), welche mit Hilfe der von agosense bereitgestellten Schnittstellentechnologien direkt mit agosense.fidelia integriert werden. Diese Integration ermöglicht unter anderem, dass die zugeordneten Planungsartefakte aus dem Change Management in agosense.fidelia 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 Freigabeprozess 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 (siehe auch Abbildung 2, PDF).

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 werden die Änderungen auf die Base-Version als offiziell gültig übertragen ("Apply"). Gleichzeitig erfolgen dann auch ein entsprechender Statuswechsel der anhängigen Aufgaben oder Änderungsanträge im jeweiligen verknüpften System (siehe auch Abbildung 3, PDF).

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:

  • Ä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, insbesondere 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 Toolintegration 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. agosense hat hierzu eine klare Strategie, jahrelange Erfahrung in der Toolintegration und bietet als optimale Ergänzung die Integrationsplattform agosense.symphony an.

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 jederzeit 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 Werkzeugumgebungen und Datenspeicher verfügt.

agosense.fidelia unterstützt hierbei optimal, 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 sicherzustellen.

Zusammenfassung

Nahezu alle Safety-Normen fordern heute die Nachverfolgbarkeit (Traceability) der Anforderungen über die verschiedenen Entwicklungsartefakte 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.

Der Artikel verdeutlicht, wie mit einer werkzeuggestützten Methodik diese Verbindung hergestellt und Anforderungsmanagement generell in den modernen Entwicklungsprozess vollständig eingebettet werden kann. Neben der Traceability innerhalb 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.

 

Beitrag als PDF downloaden


Requirements - MicroConsult Trainings & Coachings

Wollen Sie sich auf den aktuellen Stand der Technik bringen?

Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum Thema Requirements /Embedded- und Echtzeit-Softwareentwicklung.

 

Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.


Requirements - Fachwissen

Wertvolles Fachwissen zum Thema Requirements/Embedded- und Echtzeit-Softwareentwicklung steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.