Collaborative Modelling
Gemeinsam verstehen, gestalten, kommunizieren.
Dr. Stefan Hofer, Henning Schwentner und Prof. Dr.-Ing. Heinz Züllighoven zum Stand der fachlichen Modellierung nach anderthalb Jahrzehnten DDD.
Seit vielen Jahren entwickeln wir Anwendungssoftware, die Fachleute an ihren Arbeitsplätzen optimal unterstützen soll. Das ist eine fachlich anspruchsvolle Aufgabe, die nicht gelingt, wenn wir uns, wie früher üblich, Spezifikationsdokumente „über den Zaun werfen“ lassen. Agiles Vorgehen war für uns ein großer Schritt in die richtige Richtung. Gemeinsam mit allen Beteiligten Anwendungssoftware zu entwickeln – das charakterisiert agile Softwareentwicklung allgemein und auch die aktuellen Methoden der Softwareentwicklung wie Domain-Driven Design (DDD).
Doch im konkreten Projekt benötigen wir zusätzlich zu „agil“ und „DDD“ noch Techniken, um das fachliche Verständnis unter den Beteiligten einfach und schnell zu erreichen und festzuhalten. Diese Vorgehensweisen mit den dahinterstehenden Ideen und Konzepte fassen wir unter dem Etikett Collaborative Modeling (im Weiteren „CoMo“) zusammen.
Was ist Collaborative Modeling?
CoMo steht hinter vielen erfolgreichen Methoden, die traditionell unter „Anforderungsermittlung“ fallen würden. IT-Experten müssen die Domäne, also die Aufgaben und Arbeitsabläufe der AnwenderInnen, verstehen, um eine gute Anwendung entwickeln zu können. Umgekehrt sollen Fachexperten und Anwender verstehen, welche Möglichkeiten Software eröffnet und wie sich Digitalisierung auf ihre tägliche Arbeit auswirken wird. Entwickler und Fachexperten benötigen eine gemeinsame Sprache, um über die Domäne und die daraus erwachsenden Anforderungen an die Software sprechen zu können. Nur so wird die Software das widerspiegeln, was die Entwickler von den Anforderungen aus der Domäne verstanden haben und was Anwender und Fachexperten von einer Digitalisierung der fachlichen Prozesse erwarten. CoMo soll das Fachwissen aus den Köpfen der AnwenderInnen in die Köpfe von Entwicklern, Testern, Product Owners, Produktmanagern, Business-Analysten transportieren – zu jedem, der an der Softwareentwicklung beteiligt ist. Entscheidend ist hier direkte Rückkopplung zwischen allen Beteiligten. Das unterscheidet CoMo-Ansätze z.B. von einer klassischen Requirements-Technik, bei der Interviews geführt und daraus Szenarios abgeleitet werden.
CoMo ist im Domain-Driven Design (DDD) wichtig – der wohl aktuell erfolgreichsten Methode, welche die Fachlichkeit ins Zentrum der Softwareentwicklung stellt. Fachsprache, Ereignisse, Handlungen, Arbeitsmittel und Strukturen der Domäne bilden das sogenannte Domänenmodell, das die Entwickler in der Software abbilden. Ein valides Domänenmodell lässt sich nur gemeinsam von Entwicklern und Fachexperten erstellen. DDD-Experten wie Paul Rayner sehen Collaborative Modeling mittlerweile als eine Säule des DDD an (siehe Abbildung 1).