Modellierung ist seit vielen Jahren ein heißes Thema, wobei UML eine der beliebtesten ist. Modelle haben viele Vorteile: Sie bieten Struktur, entfernen Redundanzen und ermöglichen ausgefallene Dinge mit dem Modell, sogar die Generierung von Tests oder Code. Manchmal modellieren wir auch unbewusst: Softwarecode stellt ebenfalls ein (nicht-grafisches) Modell dar, und der Verfasser von Anforderungen – mit IBM Rational DOORS oder formalmind Studio – erstellt ebenfalls ein Anforderungsmodell.
Trends im System-Engineering
Aber zunächst, als Service für unsere deutschen Leser, die Liste der Artikel seit dem letzten Newsletter auf unserem Partnerblog SE-Trends:
- Ist agiles Systems Engineering möglich?
- Vom Bedarf zum Modell
- Effizient an der falschen Sache arbeiten
- Warum wir beim Modellieren zwischen Lesen und Schreiben unterscheiden müssen
- Wie Systemdenken die Todesrate in der Chirurgie fast halbiert hat
- Interview mit Tim Weilkiens zu SysML
- Schafft Daimler die Einführung von Model-Based Systems Engineering (MBSE)?
Wenn Sie Deutsch sprechen, schauen Sie es sich bitte an und leiten Sie es bitte an interessierte Freunde und Kollegen weiter. Besuchen Sie SE-Trends >>
Zurück zum Modeln
Während Tüftler Modelle schätzen, schrecken viele Menschen vor ihnen zurück, da sie einschüchternd wirken können. Dies ist der Grund, warum die Dokumentengenerierung ein sehr wichtiges Thema ist: Ein sorgfältig gestalteter Dokumentengenerator kann über die Akzeptanz oder Ablehnung durch die Stakeholder entscheiden.
Um das zu verstehen, müssen wir uns daran erinnern, dass wir Stakeholder grob in zwei Gruppen einteilen können: diejenigen, die Modelle erstellen, und diejenigen, die sie lesen. Die erste Gruppe ist in der Regel viel kleiner als die zweite. Und es gibt selten die Notwendigkeit, die Leser überhaupt mit den Modellierungswerkzeugen zu konfrontieren.
Lesen im Vergleich zu Schreiben von Modellen
Modelle zu erstellen ist schwer. Hochwertige Modelle zu erstellen ist noch schwerer. Es erfordert viel Aufwand und viel Erfahrung und verlangt nicht nur die Beherrschung der Modellierungssprache, sondern auch der Methoden, Muster und Werkzeuge. Damit das Modellierungs-Unterfangen gelingt, ist es entscheidend, mindestens einen erfahrenen Modellierer im Team zu haben, der als Mentor und Coach für die Junior-Modellierer fungieren kann. Aber die Gesamtzahl der Modellierer ist im Vergleich zum gesamten Team normalerweise gering.
Das Lesen von Modellen ist viel einfacher. Der wichtigste Aspekt ist, die Sprachelemente zu beherrschen und deren Bedeutung verstehen zu können. So werden zum Beispiel schon ewig Boxen und Pfeile gezeichnet. Aber in UML gibt es eine kleine Anzahl verschiedener Pfeile mit unterschiedlichen Bedeutungen. Es ist wichtig, dass die Leser die Unterschiede verstehen.
Training
Eine weitere Erkenntnis aus dieser Einsicht sind die Konsequenzen für die Ausbildung: Leser und Schreiber müssen aus zwei Gründen unterschiedlich ausgebildet werden: Erstens ist das Lesenlehren und -lernen wesentlich schneller als das Modellieren. Und üblicherweise gibt es viel mehr Leser als Schreiber. Allein aus Kostengründen ist es sinnvoll, den vielen Lesern eine kürzere Lese-Vorlesung zu geben, während die Schreiber die längere Modellierungs-Vorlesung absolvieren müssen.
Der zweite Grund ist Frustration: Zu den Lesern gehören nicht oder nur mäßig technisch versierte Personen wie Projektmanager, Kunden und so weiter. Diese Leute in einen Kurs zu setzen, an dem sie nicht sehr interessiert sind und der sie sogar abhängen könnte, ist kontraproduktiv. Es könnte dazu führen, dass sie das Projekt ablehnen, bevor es überhaupt begonnen hat. Daher benötigen alle Leser einen kurzen Crashkurs, der nicht länger als einen Tag dauern sollte.
Die Erkenntnis, dass die beiden Gruppen unterschiedliche Schulungen benötigen, wirft die Frage nach dem Umfang der Schulung auf. Die Autoren müssen auch lernen, wie sie das Modellierungswerkzeug bedienen, obwohl dies auch separate Schulungen sein könnten – besonders am Anfang kann ein Werkzeug zu ablenkend sein. Die Grundlagen des Modellierens können auch auf einem Whiteboard erlernt werden. Aber müssen die Leser das Werkzeug überhaupt kennen? Wir denken nicht.
Dokumente
Die meisten Modelle können auf Papier betrachtet werden und erfordern keinerlei Werkzeug. Dies gilt sicherlich für UML-Modelle. Es gibt einige Modelle, deren Betrachtung von einem Werkzeug profitiert, wie z.B. 3D-Skizzen. Aber auch in diesen Fällen kann es einen leichten Viewer geben, der den Leser nicht mit zu vielen ablenkenden Benutzeroberflächenelementen überfordert.
Das bedeutet aber auch, dass die Dokumentengenerierung ziemlich wichtig ist, wiederum aus einer Reihe von Gründen: Erstens wollen wir die Leser, von denen die meisten wahrscheinlich wenig Erfahrung mit dem Lesen von Modellen haben, über den Crashkurs, den sie erhalten haben, hinaus nicht frustrieren. Daher sollten die Dokumente so intuitiv sein, wie es die Modellierungssprache zulässt.
Zweitens müssen die Modellierer darauf vorbereitet sein, häufige Anfragen nach aktualisierten Dokumenten zu erhalten, die aus dem Modell generiert werden. Daher darf die Generierung nicht lange dauern. Bei größeren Projekten kann es sogar sinnvoll sein, ein Continuous-Integration-System einzurichten, das die am häufigsten verwendeten Dokumente automatisch nach Bedarf oder stündlich bzw. täglich generiert.
Fazit
Denken Sie bei Dokumenten nicht an Papier: Sie sind “schreibgeschützte Ansichten Ihres Modells”, die eine für alle Beteiligten vertraute Technologie (Papier) nutzen. Als Bonus gibt es sogar ein integriertes Kommentarsystem (Stift und Textmarker). Wenn Sie die Dinge so betrachten, werden Sie Ihre Stakeholder glücklich und informiert halten, während Ihr Projekt von der Kraft des Modellierens profitieren kann.



