„DDD“ ist ein leichtgewichtiges Workshopformat, in dem die Teilnehmenden mehr über Domain Driven Design erfahren – und wie sich damit gemeinsame Sichten schaffen lassen.
Domain Driven Design zielt darauf ab, Software konsequent anhand von Nutzungsfällen zu designen und bringt daher alle zusammen: Fachbereich, Entwicklerteams, Entscheider*innen. DDD stellt sicher, dass sie alle das gleiche Verständnis von den Aufgaben und Prozessen haben.
Dieser Kurs vermittelt die zentralen Konzepte des DDD anhand eines eingängigen Fallbeispiels. Am Ende des Kurses verstehen die Teilnehmenden den Grundgedanken hinter DDD und wissen, welche Tools es anbietet. Sie haben selbst erfahren, wie sie durch Event Storming eine Domäne erschließen können und sich dabei Strukturen entwickeln.
Die zentralen Themen:
Strategic Design legt den Fokus auf die Fachlichkeit: Die Teilnehmenden können die verschiedenen fachlichen Themen einordnen und priorisieren, mit Context Mapping können sie auch Abhängigkeiten innerhalb der vorhandene Systemlandschaft untersuchen.
Tactical Design hilft dabei, die Fachlichkeit in die Umsetzung einfließen zu lassen, ganz im Sinne der Ubiquitous Language. Die Teilnehmenden entwerfen Impuls Aggregate, bestehend aus Entities und Value Objects.
Mit Event Storming kann man gemeinsam eine fachliche Domäne erschließen. Als Ergebnis erhält man ein gemeinsames Verständnis und erkennt auch Strukturen in der Domäne, kann Bounded Contexts ableiten und sie dann für einen Schnitt der Microservices nutzen
Eine Microservice Architektur lässt sich über verschiedene bewährte Praktiken umsetzen, die hier vorgestellt werden, beispielsweise zu Themen wie Wiederverwendung oder Hexagonaler Architektur.
Der Workshop ist sehr praxisnah, es gibt immer wieder kurze Impulse, und dann verproben die Teilnehmenden gemeinsam Ablauf und Inhalte.
Das Ergebnis des Kurses:
Die Teilnehmenden
- kennen die zentralen Konzepte von DDD und haben sie bereits praktisch angewendet.
- können die erlernten Formate später in ihrem Projekt-Kontext einsetzen und anwenden.
- wissen, wie sie die enge Zusammenarbeit zwischen Fachbereich und Entwicklungsteam fördern können, um gemeinsam Projekte erfolgreich umzusetzen.