Ein Framework für agile Systemmodellierung

Agile Systemmodellierung ist ein Thema, das ich auch auf der ReConf 2018 vorstellen werde. Eine wichtige Frage ist jedoch, wie agiles MBSE praktiziert werden kann. Dabei stütze ich mich primär auf die Arbeit von Schindel und Dove, die im Rahmen der INCOSE ihre Forschungsergebnisse dazu vorgestellt haben.

In eigner Sache: Wer mehr über den Austausch von Anforderungen mit dem ReqIF-Format erfahren möchte, kann dies nun schnell über den Mastering ReqIF Online Course lernen. Für Leser von SE-Trends gibt es 25% Rabatt. Mehr erfahren >>
Rabatt bis zum 5. März 2018. Gutschein SE-TRENDS

Ich halte agiles MBSE für einen vielversprechenden Ansatz, der zum Teil schon praktiziert wird, und in den nächsten Jahren an Fahrt aufnehmen wird. Aber es gibt auch Skeptiker. Zum Beispiel zweifelt Ronald Carson agiles Systems Engineering grundsätzlich an – egal ob mit oder ohne Modellierung.

Umgang mit Risiken und Änderungen

Warum Agilität im SE eine gute Idee ist, habe ich schon behandelt. Kurz gesagt, es geht um die Reduzierung von Risiken in Kontext von Änderungen. Damit sind primär wirtschaftliche Risiken gemeint (schneller mit besseren Produkten auf den Markt). Allerdings schließt dies implizit auch funktionale Sicherheit und Security mit ein, denn ohne diese wird sich das Produkt kaum verkaufen.

Ein zentraler Aspekt in der agilen Entwicklung ist das kontinuierliche Dazulernen, und der Umgang mit Änderungen, die zwangsläufig aus den neuen Einsichten folgen. Modelle helfen, effektiv mit Änderungen umzugehen. Daher agile Systemmodellierung, die ich in der Vergangenheit bereits behandelt habe.

Information statt Prozess

Viele Leser waren sicher schon in der folgenden Situation: Es wurde den vorgeschriebenen Prozessen gefolgt, und dennoch hatte das Ergebnis Mängel. Diese Situation illustriert, warum das Umdenken von Prozesse zu Informationen so wichtig ist.

Systems Engineering hat einen starken Fokus auf Prozesse. Das ist zum Beispiel an der ISO/IEC 15288 zu erkennen, auf der auch das INCOSE Handbuch basiert. Schindel hat dieses Phänomen untersucht und festgestellt, dass dies in anderen Disziplinen in der Regel nicht so ist.

Prozesse sorgen für konsistente Ergebnisse, aber die Ergebnisse müssen auch zugänglich und vor allem nützlich sein. Daher fokussieren sich Schindel und Dove auf Informationen. Dazu nutzen sie das Agile Architecture Pattern (AAP), welches Dove mit LaBarge entwickelt hatte.

Lernen – und das Gelernte auch festhalten!

Informationen sind also essentiell, und beim Entwickeln werden neue Informationen entdeckt. Dies nennt man auch „lernen“, und das Gelernte muss festgehalten werden. Hier wird es nun interessant, denn hier helfen Modelle. Modelle ermöglichen es, das Gelernte nicht nur festzuhalten, sondern es auch abzurufen, wenn es gebraucht wird.

Informationen erscheinen auf mehreren Ebenen, und daher reicht ein Modell nicht aus: Hier unterscheiden Schindel und Dove zwischen dem zu entwickelnden System (Target System), und dem Entwicklungssystem (System of Innovation). Diese müssen auf Änderungen reagieren können, was im folgenden Bild konzeptionell gezeigt ist.

Agile Systemmodellierung

Bildquelle: Schindel und Dove

Agile Systeme agil entwickeln

Nun sehen wir, dass das zu entwickelnde System eng mit dem Entwicklungsmodell verknüpft ist. Bei diesem Ansatz insbesondere die folgenden Aspekte interessant:

  • Das Framework ist so generisch, des es sowohl agile als auch nicht-agile Entwicklungssysteme abbilden kann. Es ist also zunächst einmal ein Framework, das ein Nebeneinanderstellen von verschiedenen Ansätzen ermöglicht.
  • Als Framework ist ein wichtiger Aspekt die klar definierte Abgrenzung der Systeme voneinander. Aus dem informellen Bild ist ides nicht ersichtlich. Allerdings haben Schindler und Dove auch ein formales Domänenmodell erstellt, welches im oben zitierten Paper abgebildet ist.

Fazit

Dieser Artikel beschreibt lediglich die wichtigsten Konzepte der agilen Systemmodellierung. Der Leser sollte mitnehmen, dass (1) MBSE agiles Arbeiten unterstützt, dass (2) zwei agile Systeme betrachtet werden müssen (das zu entwickelnde System und das Entwicklungssystem) und (3) dass es ein Framework gibt, mit dem dies abgebildet werden kann.

Zuletzt soll noch erwähnt werden, dass im Paper von Schindler und Dove ein Anhang vorhanden ist, der das Framework auf bestehende Muster anwendet, wie das ISO 15288 V-Modell, zum Beispiel. Alles in allem ein spannender Ansatz der das Potential hat, die Transformation der Systementwicklung zu beschleunigen – sowohl bezüglich Agilität als auch Modellierung.

Titelbild: Photo by Tony Webster on Unsplash