© Liashko/Shutterstock.com
Wie Entwickler und Fachexperten gemeinsam Domain-driven-Software entwickeln

Mehr Verständnis füreinander


Wir zeigen, warum man Collaborative Modeling (CoMo) braucht, und beschreiben den gemeinsamen Kern verschiedener CoMo-Methoden. Vier solche Methoden stellen wir vor und geben Handlungsanleitungen: Welches Problem lässt sich mit welcher Methode anpacken und wie kombiniere ich Methoden sinnvoll in einem agilen Entwicklungsprozess?

Gemeinsam mit allen Beteiligten Anwendungssoftware zu entwickeln – das charakterisiert agile Softwareentwicklung im Allgemeinen und Methoden der Softwareentwicklung wie Domain-driven Design (DDD) und Behaviour-driven Design (BDD) im Besonderen. Es ist ein großer Schritt in die richtige Richtung, verglichen mit dem früher üblichen „Über-den-Zaun-werfen“ von Spezifikationsdokumenten. Doch im konkreten Projekt benötigen wir zusätzlich zu Agile 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 zusammen.

Weshalb Collaborative Modeling?

CoMo steht hinter vielen erfolgreichen Methoden, die traditionell unter „Anforderungsermittlung“ fallen würden. Denn die 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 durch Software geschaffen werden und welche Auswirkungen die Digitalisierung auf ihre tägliche Arbeit haben 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 Anwender in die Köpfe von Entwicklern, Testern, Product Owners, Produktmanagern, Businessanalysten etc. transportieren – also zu jedem, der an der Softwareentwicklung beteiligt ist. Entscheidend ist hier die 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 Szenarien abgeleitet werden.

CoMo hat einen hohen Stellenwert im Domain-driven Design, der wohl aktuell erfolgreichsten Methode, die 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 CoMo mittlerweile als eine Säule des DDD an (Abb. 1). In diesem Artikel charakterisieren wir CoMo und stellen einige wichtige darin enthaltene Ansätze vor, mit denen sich die verschiedenen Aspekte eines Domänenmodells gemeinschaftlich erarbeiten lassen.

hofer_schwentner_zuellighoven_como_1.tif_fmt1.jpgAbb. 1: Collaborative Modeling als Säule des DDD [1]

Grundlegende Konzepte des CoMo

Die verschiedenen Techniken des CoMo verbindet folgende gemeinsame Konzepte:

  • Gruppenarbeit aller Beteiligten: Grundlegend ist, dass die verschiedenen Beteiligten auf Anwender- und Entwicklerseite gemeinsam Arbeitsprozesse und Anforderungen klären und nicht einzelne Spezialisten auf der Basis von Interviews und Dokumentanalysen diese Themen spezifizieren. Alle Ansätze sehen gemeinsame Workshops vor, manchmal in großen Gruppen, manchmal mit wenigen Vertreter der jeweiligen Gruppen.

  • Geschichten erzählen: In den Workshops kommunizieren die Beteiligten nicht über abstrakte Beschreibungen, sondern mittels konkreter Szenarien. Diese werden wie Geschichten erzählt. Aus dem fundierten Verständnis der Szenarien werden dann die für die Softwareentwicklung nötigen Abstraktionen und eine vollständige Abbildung von Regeln und Fallunterscheidungen aufgebaut.

  • Über eine gemeinsame Sprache ein wechselseitiges Verständnis aller Beteiligter anstreben: Oft wird beklagt, dass die Fachabteilungen und die IT in ihren eigenen Welten leben und aneinander vorbeir...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang