Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Bereit für MBSE?

Autoren: Dr. Maximilian Junker, Qualicen GmbH, Prof. Dr. Andreas Vogelsang, Dr. Wolfgang Böhm, Technische Universität Berlin

Beitrag - Embedded Software Engineering Kongress 2017

 

Viele Unternehmen wollen die zunehmende Komplexität ihrer Produkte sowie die steigenden Anforderungen an Wiederverwendbarkeit und Kosteneffizienz durch den Einsatz von modellbasierten Ansätzen in den Griff bekommen. Die Einführung dieser Ansätze stellt jedoch eine große Herausforderung für die Organisation dar, die nicht auf einen Schlag erfolgen kann und auch nicht sollte. In diesem Beitrag stellen wir ein Reifegradmodell vor, das speziell auf die schrittweise Einführung von modellbasiertem Systems-Engineering (MBSE) zugeschnitten ist. Dabei berücksichtigt das Modell die besonderen Gegebenheiten des Unternehmens.

Einführung

In der Software- und Systementwicklung sind wir heute immer häufiger mit vernetzten und hochkomplexen Systemen konfrontiert. Der traditionelle, dokumentenzentrierte Ansatz zur Entwicklung und Beschreibung von solchen Systemen ist nicht mehr in der Lage, mit dieser Komplexität umzugehen. Auch in Bezug auf Wiederverwendbarkeit und die Fähigkeit, mit einer Vielzahl an Varianten umzugehen, stößt der dokumentenzentrierte Ansatz an seine Grenzen. Modellbasiertes Systems-Engineering (MBSE) verspricht eine Antwort auf diese Herausforderungen. Durch Ablösen von Dokumenten durch durchgängige Systemmodelle, in denen Systemteile (z.B. Funktionen und Komponenten) explizit als Modelle repräsentiert und auch die Abhängigkeiten durchgehend modelliert sind, lässt sich die Komplexität großer Systeme beherrschen. Anders als reiner Text lassen sich Modellelemente mit eindeutig modellierten Schnittstellen leichter und sicherer wiederverwenden. Schließlich ermöglichen Modelle fortgeschrittene Qualitätssicherungstechniken, wie beispielsweise Simulation. Fehler und Inkonsistenzen, lassen sich damit schon früh ermitteln und beheben. Insgesamt verspricht MBSE eine Reduktion der Entwicklungskosten, eine Beschleunigung der Entwicklungszeit (z.B. durch einfachere und schnellere Qualitätssicherung) und eine Anhebung der Qualität.

Der Weg zur Einführung von MBSE ist jedoch oft steinig. Neue Methoden und Werkzeuge müssen etabliert und die Prozesse für MBSE angepasst werden. Die MBSE-Einführung stellt zudem hohe Anforderungen an das Change Management in einer Organisation. Eine schlagartige Einführung eines vollumfänglichen MBSE-Ansatzes ist daher häufig nicht möglich und auch nicht ratsam. Doch auch bei einer Schritt-für-Schritt-Einführung von MBSE stellen sich zahlreiche Fragen: Welche Themenbereiche (z.B. Anforderungen, Funktionen, Architektur) sollen zuerst in eine MBSE-Methodik überführt werden? Welche Inhalte sollten in den Modellen erfasst werden und in welchem Detailgrad? Welche Modellierungstechniken bieten sich hierfür an?

Reifegradmodelle bieten hierzu eine Richtschnur, indem sie einen Fahrplan für die schrittweise Verbesserung aufzeigen. Generelle Rahmenwerke, wie beispielsweise CMMI oder SPICE, helfen jedoch bei der Einführung von MBSE meist nicht weiter, da sie zu generisch und oft auch zu schwergewichtig sind. Daher schlagen wir ein Reifegradmodell vor, das speziell für die Einführung von MBSE zugeschnitten ist. Das Reifegradmodell erlaubt es, die Ziele einer Organisation in Bezug auf MBSE zu definieren und ihre aktuellen MBSE-Fähigkeiten zu messen. Durch Vergleich von Ist- und Soll-Zustand lassen sich aus dem Modell konkrete Schritte ableiten (z.B. Einführung spezifischer Methoden), die eine Organisation als nächstes angehen kann.

Wir orientieren uns für unser Reifegradmodell an dem Focus Area Maturity Model (FAMM) [1], einer generischen Methode zur Entwicklung von Reifegradmodellen, mit Schwerpunkt auf inkrementeller Einführung und Verbesserung. Bei der konkreten Ausgestaltung des Models nehmen wir Bezug auf den SPES-Ansatz [2], einen umfassenden Ansatz für modellbasiertes Software- und Systems-Engineering. Das Reifegradmodell selbst ist jedoch generisch und nicht abhängig von der Nutzung von SPES.

In diesem Artikel geben wir zunächst einen Überblick über die Struktur und die Inhalte des Reifegradmodells. Anschließend gehen wir auf die konkrete Verwendung bei der Reifegradbewertung ein. Zum Schluss beschreiben wir unsere Erfahrungen beim Einsatz des Modells in der Praxis und berichten von Herausforderungen, auf die man dabei stößt.                

Überblick über das Reifegradmodell

Das Kernelement in dem MBSE-Reifegradmodell sind Capabilities (dt. Fähigkeiten). Eine Capability beschreibt eine Fähigkeit, die durch den Einsatz von Modellen und modellbasierten Techniken erreicht werden kann. Ein Beispiel für eine Capability in unserem Modell ist "Die Beziehung zwischen Anforderungen und Systemfunktionen ist modelliert". Fähigkeiten sind immer unabhängig von einer konkreten Modellierungssprache (z.B. SysML) beschrieben und können durch verschiedene konkrete Modellierungstechniken implementiert werden. Capabilities können aufeinander aufbauen, d.h. eine Capability kann für eine zweite Capability eine Vorbedingung sein.

Focus Areas fassen Capabilities zusammen und beschreiben ein Feld oder eine Aktivität im Rahmen von MBSE. Ein Beispiel für eine Focus Area ist System Function Modeling. Innerhalb einer Focus Area werden die Capabilities nach ihrer MBSE Maturity (dt. Reife) aufsteigend geordnet, indem man ihnen Reifegrade zuordnet. Die Reifegrade der Capabilities stehen dabei nie in Konflikt mit den Abhängigkeiten. Baut also eine Capability auf einer anderen auf, so hat sie auch einen höheren Reifegrad.

Focus Areas werden in Engineering Functions zusammengefasst. Die Engineering Functions in unserem Reifegradmodell decken sich mit den Sichten auf ein System, wie sie bspw. in SPES beschrieben sind, und beinhalten Context Analysis, Requirements und System Functions und einige mehr.

Engineering Functions, Focus Areas und Capabilities zusammengenommen bilden die MBSE Maturity Matrix. In ihr bilden die durch Engineering Functions gruppierten Focus Areas die Zeilen und die Reifegrade die Spalten. Die einzelnen Capabilities sind in den Zellen der Maturity Matrix angeordnet.

Wichtig ist, dass das Reifegradmodell situativ an die jeweilige Situation in einer Organisation angepasst werden kann und auch sollte. Sind beispielsweise bestimmte Focus Areas für eine Organisation im Rahmen von MBSE nicht relevant (z.B. Testen), so können diese Teile des Modells ausgeblendet werden.

Abb. 1 (s. PDF) zeigt ein Beispiel für eine generische, nicht angepasste Maturity Matrix. Man sieht darin, dass beispielsweise die Engineering Function Context Analysis zwei Focus Areas beinhaltet. Die erste davon, Operational Context, definiert sieben Fähigkeiten (A-G)*. Den Fähigkeiten sind aufsteigend Reifegrade (Maturity Levels) zugeordnet. Die leeren Zellen in der Matrix entstehen dadurch, dass Capabilities, die von einer anderen Capability abhängen, stets einen höheren Reifegrad haben als die Capability von der sie abhängen.

Ableitung einer Einführungsstrategie mit dem MBSE Reifegradmodell

Wir nutzen das MBSE Maturity Model zur Ermittlung einer MBSE Einführungsstrategie. Unser Vorgehen dabei illustriert Abbildung 2 (s. PDF). In einem ersten Schritt führen wir einen oder mehrere initiale Workshops mit den wichtigen Stakeholdern von MBSE in einer Organisation durch. Typischerweise nehmen pro Workshop ein bis drei Personen aus einem Entwicklungsteam teil, die insgesamt mehrere der Engineering Functions repräsentieren (z.B. Requirements Engineering, Funktionsentwicklung, Software-Entwicklung etc.).

Ein initialer Workshop orientiert sich an einem Fragebogen, der aus dem Maturity Modell abgeleitet ist. Der Fragebogen beinhaltet für jede Capability des Modells eine Beschreibung sowie ein Beispiel für eine mögliche konkrete Umsetzung der Capability. ­Anhand des Fragebogens werden im Rahmen des Workshop alle Capabilities durchgegangen und festgehalten ob die jeweilige Capability in dem untersuchten Bereich (z.B. Abteilung oder Team) umgesetzt ist oder nicht. Zusätzlich gibt es die Möglichkeit anzugeben, dass eine Capability für den Organisationsbereich nicht relevant ist oder dass der Interviewte über diese Capability keine Kenntnisse hat. Die so erhobenen Informationen reflektieren den Ist-Zustand des Bereiches mit Bezug auf den Einsatz modellbasierter Techniken.

Neben den aktuell vorhandenen Fähigkeiten werden im Workshop die Ziele der Organisation bzgl. einer Einführung von MBSE ermittelt. Diese sind meist auf einem deutlich höheren Abstraktionslevel als die Capabilities. Ein Beispiel für ein Ziel, das wir in einem vergangenen Interviews erhoben haben, ist die Unterstützung einer "Digitalen Integration", d.h. dass schon auf Basis der Modelle weitgehende Aussagen über das Zusammenspiel der Systemkomponenten getroffen werden kann. Ein weiteres, konkreteres Ziel wäre beispielweise eine stärkere Wiederverwendung bei der Beschreibung von technischen Komponenten (z.B. Sensoren).

In einem zweiten Schritt werden die Ergebnisse des Workshops auf die Maturity Matrix abgebildet. Das heißt einerseits, dass die vorhandenen Capabilities in der Matrix eingetragen werden. Weiterhin werden die erhobenen Ziele auf die Capabilities abgebildet, die zur Erreichung der Ziele notwendig sind. Diese Ziel-Capabilities werden ebenfalls in der Matrix eingetragen. Das Ergebnis dieses Schrittes ist eine befüllte Maturity Matrix, die die aktuellen Fähigkeiten und Ziele der Organisation abbildet.

Im nächsten Schritt wird auf dieser Basis eine Analyse angestellt. Wir ermitteln dabei, an welchen Stellen eine Diskrepanz zwischen den vorhandenen Capabilities und den Zielen vorliegt bzw. wo sie sich aktuell schon überdecken. Weiterhin identifizieren wir Lücken, wo zu bestehenden Capabilities die notwendigen Vorbedingungen fehlen. Schließlich benennen wir Quick-Wins. Dies sind Situation in denen nur wenige Capabilities zur Erreichung des Ziels der Organisation (oder zu einem wichtigen Meilenstein) fehlen, die aber einen großen Schritt in Richtung der Zielerreichung bewirken.

Sowohl die Matrix an sich wie auch die konkreten Verbesserungsvorschläge werden anschließend in einem weiteren Workshop mit der Organisation validiert und diskutiert. Im Rahmen dieses Workshops entwickeln wir eine Roadmap, die beschreibt, welche der Fähigkeiten, die zur Zielerreichung nötig sind, nun Schritt-für-Schritt entwickelt werden sollen. Häufig sind dabei die identifizierten Quick-Wins ein guter Startpunkt. Weiterhin helfen die in dem Maturity Modell hinterlegten Abhängigkeiten für die Erstellung der Roadmap.

Erfahrungen beim Praxiseinsatz

In diesem Abschnitt berichten wir über die Erfahrung mit dem MBSE-Reifegradmodell aus ersten Anwendungen in der Industrie. Insbesondere konzentrieren wir uns hier auf die Herausforderungen, auf die wir bei der Anwendung gestoßen sind.

Ein großes initiales Hindernis bei der Anwendung des Reifegradmodells ist häufig die Terminologie. Begriffe wie Kontext, Funktion, Komponente, Szenario und ähnliche sind nicht standardisiert und werden in verschiedenen Organisationen (teilweise sogar in verschiedenen Teams der gleichen Organisation) unterschiedlich verwendet. Ein einheitliches Verständnis der Kernbegriffe ist jedoch für eine aussagekräftige Bewertung des Ist-Stands und der Ziele unerlässlich. Um diesem Problem zu begegnen, haben wir konkrete Beispiele in den Fragebogen aufgenommen, die dem Interviewpartner eine bessere Vorstellung über die Capability vermitteln sollen. Darüber hinaus empfehlen wir vorbereitende Workshops bei denen unter anderem ein Abgleich der Terminologie durchgeführt wird.

Ein zweites Problem ist, das die Ist-Stand-Analyse hauptsächlich auf Basis von Interviews geschieht. Nicht immer entsprechen die Antworten der tatsächlichen Situation. Stattdessen gehen die Wünsche und Pläne in die Antworten ein, auch wenn diese noch nicht umgesetzt sind. Hier empfiehlt es sich, die Antworten an konkreten Beispielen festzumachen oder anhand von Entwicklungsartefakten zu validieren. Auch ist es hilfreich, Interviews mit mehreren Personen aus dem gleichen Organisationsbereich durchzuführen und die Resultate miteinander zu vergleichen.

In der Praxis stoßen wir vor allem bei größeren Organisationen auf den Fall, dass es innerhalb der Organisation selbst große Unterschiede gibt. Die Unterschiede beziehen sich sowohl auf die Ziele (verschiedene Abteilungen haben unterschiedliche Probleme, die sie mit MBSE adressieren wollen) als auch auf die vorhandenen Fähigkeiten. Daher ist es hier schwierig, ein einziges einheitliches Bild zu zeichnen. Allerdings ist genau das auch eine Stärke der Methode, denn sie erlaubt es, die Situationen in unterschiedlichen Abteilungen getrennt zu analysieren und entsprechend auch die Roadmap feiner auf einzelne Organisationsteile anzupassen.

Zusammenfassung

Ausgehend von der Beobachtung, dass die Einführung von modellbasiertem System-Engineering (MBSE) schrittweise geschehen muss, haben wir in diesem Artikel ein Reifegradmodell zur Unterstützung der Einführung von MBSE vorgestellt. Das Reifegradmodell basiert auf der Definition von Capabilities, also Fähigkeiten, die eine Organisation in Bezug auf MBSE erreichen kann. Mit Hilfe des Modells kann erhoben werden, welche konkreten Fähigkeiten für die Erreichung der Ziele einer Organisation notwendigerweise entwickelt werden müssen. Zusammen mit der jeweiligen Organisation kann daraus eine Roadmap für die Einführung von MBSE aufgestellt werden. Bei der Anwendung in der Praxis stoßen wir auf einige Herausforderungen. Wir beschreiben die wichtigsten Herausforderungen und gehen auf mögliche Maßnahmen zum Umgang damit ein.

Literaturverzeichnis

[1]

M. van Steenbergen, R. Bos, S. Brinkkemper, I. van de Weerd und W. Bekkers, „The Design of Focus Area Maturity Models,“ in DESRIST 2010, 2010.

[2]

K. Pohl, H. Hönninger, R. Achatz und M. Broy, Model-Based Engineering of Embedded Systems. The SPES 2020 Methodology, Springer, 2010.



* Die Fähigkeiten sind hier mit Buchstaben A-G referenziert. Hinter jeder Fähigkeit steckt eine ausführliche Beschreibung, die wir hier aus Platzgründen nicht angeben.

 

Beitrag als PDF downloaden


Software Engineering Management - unsere 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 Software Engineering Management /Prozess-, Projekt- und Produktmanagement.

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


Software Engineering Management - Fachwissen

Wertvolles Fachwissen zum Thema Software Engineering Management /Prozess-, Projekt- und Produktmanagement steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.