Komplexität beherrschbar machen! 5 Bausteine für Ihr Kompatibilitätsmanagement

Speziell für Produkte mit „Embedded Systems“ (Kombination aus Hardware und Software) wie in der Automotive, Elektronik oder Smart Home Branche ist ein Kompatibilitätsmanagement inzwischen unerlässlich geworden. Für Fahrzeuge wird es über die UNECE-Norm (ECE/TRANS/WP.29 bzw. ISO 24089) sogar zur Pflicht. Die Produkte werden immer vernetzter, die Entwicklungszyklen immer kürzer und es wird immer mehr Flexibilität gefordert. Um hierauf schneller reagieren zu können, erhalten immer mehr Produkte eine Updatefähigkeit. D.h. eine Softwareversion kann durch eine Neuere ersetzt werden. Aufgrund dieser vielen Faktoren entstehen immer mehr Kompatibilitätsrisiken. Angefangen bei offensichtlichen Problemen z.B. Software kann nicht geflasht werden, bis hin zu teils schwerwiegenden Funktions- und ggf. Sicherheitsrisiken Aufgrund intransparenter Abhängigkeiten.

Durch die steigende Varianz ist die Entwicklung nicht mehr in der Lage, die vielen unterschiedlichen Kombinationen an möglichen späteren Kundenkonfigurationen abzutesten. Die Konsequenz sind dann häufig massive Probleme im Feld, welche oft nur mit sehr hohem Aufwand behoben werden können. Der dabei entstehende Imageschaden ist meist enorm.

Das Kompatibilitätsmanagement schafft zum einen Transparenz über die Vernetzungen und Abhängigkeiten der Verschiedenen Versionen und hilft dabei kompatibel zu entwickeln und den Absicherungsaufwand für das Variantenmanagement auf das Notwendigste zu reduzieren.

Wie führt man also ein Kompatibilitätsmanagement ein?

Das Kompatibilitätsmanagement muss über alle Phasen des V-Modells hinweg integriert werden und ist daher immer ganzheitlich zu betrachten. Die Kompatibilität hat außerdem unterschiedliche Dimensionen, die einbezogen werden müssen (s. auch folgende Abbildung).

  • Horizontale Kompatibilität: Kompatibilitätsbetrachtung/Änderungen gegenüber den Vorgänger- oder Nachfolgerversionen
  • Vertikale Kompatibilität: Kompatibilitätsbetrachtung einer oder mehrere Systemkonfigurationen, d.h. die Kompatibilität mit den verschiedenen Schnittstellenpartnern
Kompatibilitätsmanagement_Horizontal_Vertikal

Abbildung: Horizontale und Vertikale Kompatibilität

 

Um die Komplexität beherrschen zu können, müssen für das Kompatibilitätsmanagement zwei wesentliche Prinzipien angewandt werden.

1. „Teilen und herrschen“: Dies gilt zum einen für das System und zum anderen für die Kompatibilitätsbetrachtung. Ein System besteht aus unterschiedlichen Bestandteilen. Diese Elemente und ggfs. auch Subsysteme müssen eigens beschrieben und betrachtet werden und dann wieder Schritt für Schritt im Systemzusammenhang bewertet wird. Nur wenn die einzelnen Bestandteile differenziert betrachtet werden, kann die Komplexität und der Aufwand auf den verschiedenen Systemebene betrachtet und damit reduziert werden.

 

Abbildung: Bestandteile Kompatibilitätsmanagement

 

Die Kompatibilität muss darüber hinaus in ihre einzelnen Wirkungsaspekte zerlegt werden. d.h. z.B. geometrisch kompatibel, funktional kompatibel, elektrisch kompatibel, kommunikativ kompatibel.

 

Kompatibilitätsmanagement_Arten

Abbildung: Arten von Kompatibilitäten

2. „Je früher desto besser“: Wird das Thema Kompatibilität im Entwicklungsprozess zu spät betrachtet, wird der Aufwand (z.B. durch Testen) und die Risiken immer größer. Kompatibilitätsmanagement beginnt daher ganz links im V-Modell im Anforderungsmanagement. Durch die Festlegung von Kompatibilitätsanforderungen und der Festlegung ob, wozu und wie eine Kompatibilität entwickelt werden soll, werden bereits die wesentlichen Weichen gestellt.

Im Nachfolgenden werden die 5 essenziellen Bausteine für ein durchgängiges Kompatibilitätsmanagement kurz beschrieben.

5 essenzielle Bausteine für das Kompatibilitätsmanagement:

Kompatibilitätsmanagement_Bausteine

Abbildung: Essenzielle Bausteine im Kompatibilitätsmanagement

1. Baustein Anforderungsmanagement

Das Ziel der Entwicklung muss sein, von vornherein kompatibel zu entwickeln. Beim „design for compatibility“ ist es essenziell, dass alle Schnittstellenpartner klar definierte Anforderungen haben, welche miteinander abgestimmt sind. Kompatibilitätsguidelines und sogenannte Querschnittslastenhefte z.B. für Energiemanagement, sorgen dafür, dass die einzelnen Entwicklungen am Ende miteinander kompatibel sind. Die Einhaltung dieser Anforderungen und Guidelines kann bereits im Rahmen von Konzeptreviews geprüft werden. Es soll also schon früher im Entwicklungsprozess möglich sein, Teilumfänge abzusichern, um sowohl Aufwand als auch Komplexität für die Validierung in späteren Phasen zu reduzieren.

Darüber hinaus sind zentrale Vereinbarungen hilfreich, die zum Beispiel technologische Standards beschreiben. In der initialen Projektphase sollte zudem ein Kompatibilitätskonzept erstellt werden, um für alle Beteiligten eine Informationsbasis zu schaffen, zu welchen Umfängen die Kompatibilität sichergestellt werden soll. So können auch Schnittstellenanforderungen abgeleitet werden, die für alle Schnittstellenpartner einsehbar und gültig sind.

Ein durchgängiges Anforderungsmanagement kann durch Tools wie z.B. Polarion unterstützt werden. Es ermöglicht unter anderem, die Anforderungen sauber zu versionieren („Baselining“) und Änderungen der Kompatibilitätsanforderungen sowie die ggf. notwendigen resultierenden Anpassungen transparent ableiten zu können.

 

2. Baustein Vernetzungswissen

Um einen Überblick über die Elemente/ Komponenten der Produkte und Systeme und deren Abhängigkeiten zu bekommen, ist eine Darstellung der Vernetzung erforderlich. Dafür eignet es sich am besten einen sogenannten digitalen Zwilling (Digital Twin) der bestehenden und derzeit in Entwicklung befindlichen Systeme aufzubauen. Für so eine digitale Abbildung können semantische Netze und Graph-Datenbanken wie z.B. Neo4J oder GraphDB genutzt werden. Durch diese können basierend auf bereits bestehenden Informationen des Architekturmanagements und Informationen zu den einzelnen Komponenten sowie deren Versionen, die auf dem Markt verfügbaren Systeme abgebildet und analysiert werden.

Neben der strukturellen Vernetzung (z.B. Welche Software gehört zu welcher Hardware?) werden hier auch Vernetzungen hinsichtlich Wirkketten, Kommunikation, Versionen und Konfigurationen zusammengeführt. Dieses Vernetzungswissen hilft zum einen, Abhängigkeiten überhaupt zu erkennen und Kompatibilitätsrisiken abzuleiten. Zum anderen ist dies die Basis für die Dokumentation von (In)kompatibilitäten.

Kompatibilitätsmanagement_Vernetzung

Abbildung: Vernetzungen im Kompatibilitätsmanagement

3. Baustein Änderungsmanagement

Im Änderungsmanagement werden alle geplanten Weiterentwicklungen, Bugfixes etc.  dokumentiert, hinsichtlich ihrer Kompatibilitätsauswirkungen betrachtet und übergreifend synchronisiert. Für die Änderungen findet jeweils eine Bewertung statt, die die Auswirkungen auf andere Komponenten und Schnittstellenpartner über verschiedene Wirkungsaspekte der Kompatibilität hinweg analysiert. In der nachfolgenden Darstellung werden mögliche Betrachtungsebenen für die Kompatibilität dargestellt.

Kompatibilitätsmanagement_Betrachtungsebenen

Abbildung: Kompatibilitätsmanagement Betrachtungsebenen

Für potenzielle Kompatibilitätsrisiken wird ergänzend dazu eine Kategorisierung (Auswirkung & Eintrittswahrscheinlichkeit) durchgeführt. Diese Bewertung liefert eine optimale Basis für die Entscheidung, ob und in welchem Umfang Änderungen umgesetzt werden sollten.

Kompatibilitätsmanagement_Auswirkungen

Abbildung: Kompatibilitätsmanagement Auswirkungen

Es wird die notwendige Voraussetzung geschaffen, um den Abstimmprozess mit den relevanten Schnittstellenpartnern durchzuführen. Durch die Dokumentation und Bewertung der geplanten Änderungen und die Nachverfolgung der tatsächlich umgesetzten Umfänge, wird eine durchgängige Transparenz für die Neu- und Weiterentwicklung von Produkten erzeugt.

4. Baustein Release- und Konfigurationsmanagement

Durch die Planung und Freigabe von Releases und Konfigurationen kann der Entwicklungsprozess der unterschiedlichen Komponenten und Produkte miteinander synchronisiert werden. So können die Umfänge, die durch das Kompatibilitätsmanagement geprüft und abgesichert werden, zeitlich eingetaktet und paketiert werden. Vorab definierte Integrationsstufen, welche den Reifegrad abbilden und als Meilensteine für die Kompatibilitätsvalidierung dienen, sorgen für eine klare Steuerung. Über diese kann eine stufenweise Validierung und Verifizierung der Umfänge sichergestellt werden. So wird wiederum das Frontloading unterstützt, die Entwicklung der verschiedenen Schnittstellenpartner synchronisiert und die Qualität im Endprodukt erhöht.

Durch das Schneiden von Konfigurationen und die Definition von Regeln für potenziell mögliche Konfigurationen kann die Komplexität deutlich reduziert werden. Es ermöglicht einen Überblick über alle verfügbaren Konfigurationen und eine detaillierte Dokumentation der enthaltenen Umfänge. Es müssen dann jeweils nur die gültigen/ freigegeben Konfigurationen geprüft und abgesichert werden und nicht alle potentiell möglichen Variationen.

5. Baustein Kompatibilitätsvalidierung und -verifizierung

Ein zentraler Mehrwert des Kompatibilitätsmanagements ist es, die Aufwände für Validierung und Verifizierung auf frühere Phasen des V-Modells zu verteilen (z.B. Konzeptreviews) und das bereits vorhandene Kompatibilitätswissen von Vorgängerprodukten in der frühen Phase nutzbar zu machen. Vermeintlich entstehen hier zwar zusätzliche Aufwände, doch durch die durchgängige Dokumentation dieses Wissens wird insgesamt die Effizienz deutlich gesteigert und die Qualität der Produkte verbessert. Zentral ist hierbei vor allem die Dokumentation der Schnittstelleninformationen. Für alle Komponenten werden durch unterschiedliche Validierungs- und Verifizierungsverfahren die Kompatibilitäten dokumentiert, um diese Informationen für spätere Kompatibilitätsvalidierungen wiederverwenden zu können. Man muss also nicht jedes Mal von neuem alle Umfänge absichern, sondern nur die, die aufgrund neuer Konfigurationen noch nicht geprüft wurden.

Durch eine Klassifizierung der potenziellen Risiken kann auch die Güte des erforderlichen Nachweises definiert werden. Es ist also nicht immer zwingend erforderlich Nachweislücken z.B. durch physisches Testing abzusichern. Oft ist auch eine referenzielle Bewertung (logische Ableitung einer Kompatibilität auf Basis der nachgewiesenen Abhängigkeiten), Simulationen oder Expertenaussagen ausreichend.

Fazit zu Kompatibilitätsmanagement:

Ein Kompatibilitätsmanagement wird für viele Unternehmen immer wichtiger. Der Aufwand für die Absicherung der Kompatibilität und damit die Sicherstellung der Funktionsfähigkeit der Produkte steigt stetig. Bald wird es nicht mehr möglich sein, diese Komplexität, ohne ein integriertes Kompatibilitätsmanagement zu beherrschen.

Auch wenn die Einführung dieser Prozesse und Methoden einen initialen Aufwand darstellt, sind die langfristigen Mehrwerte, die dadurch geschaffen werden, immens. Mit einem durchgängigen Kompatibilitätsmanagement werden verfügbare Produktumfänge zugänglich dokumentiert und können so als Wissensbasis für neue Entwicklungsumfänge sowie Änderungen herangezogen werden. Die Qualität der Produkte steigt und der Entwicklungsaufwand kann langfristig reduziert werden.

Das Kompatibilitätsmanagement ist eine ganzheitliche Aufgabenstellung, welche sich über das gesamte V-Modell erstreckt und alle Disziplinen betrifft. Um eine effiziente, performante Gesamtlösung bereitzustellen, müssen sowohl die Prozesse, die Methoden, die Tools als auch die bestehenden Strukturen bei der Konzeption und Umsetzung betrachtet werden.

Wenn Sie die Komplexität auch zukünftig beherrschen und die Kompatibilität Ihrer Produkte im Markt sicherstellen wollen, kontaktieren Sie uns. Gemeinsam mit Ihrem Team entwickeln wir gerne ein auf Ihre Produkte und Ihr Unternehmen zugeschnittenes, integriertes Konzept und helfen gerne bei der Umsetzung.