Zum Inhalt springen
Matthias Bohlen

iSAQB® CPSA Advanced Level Workshop

Domain-Driven Design

Event Storming, Context Map, Domain Model, Softwarearchitektur – Domain Driven Design als 3-Tage-Intensivworkshop mit Matthias Bohlen (30CP für iSAQB® CPSA-A)

Tage
3
Credit Points
30
Personen max.
12
Sprache
DE / EN
Platz buchen ↓

Bei komplexen Softwareentwicklungen kommt oft nicht das heraus, was gewünscht war, bedingt durch Kommunikationsprobleme zwischen Fachleuten und Technikern. Wie wäre es, wenn Fachseite und Entwickler miteinander in derselben Sprache sprächen, um zu merken, ob sie dasselbe meinen?

Was Sie im Workshop erwartet

In diesem Advanced-Level-Modul lernen Sie, wie Sie eine Domäne übersichtlich aufteilen, Fachsprachen dazu entwickeln, und die DDD-Muster einsetzen, um eine an der Domäne orientierte Anwendung zu entwerfen.

Gemeinsam üben wir an einer Beispiel-Anwendung die einzelnen Schritte hin zu einer anwendungsorientierten und qualitativ hochwertigen Architektur. Sie werden erleben, wie einfach ein Entwurf sein kann, wenn man sich auf die Fachdomäne und die architektonischen Leitplanken von Domain-Driven Design einlässt!

Durch diesen Kurs bekommen Sie nicht nur ein solides Verständnis der DDD-Konzepte, sondern (was ebenso wichtig ist) das Selbstvertrauen, das Sie brauchen, um dieses Wissen im Entwicklungsalltag wirklich anzuwenden.

iSAQB akkreditierte Schulung

Akkreditierte Schulung für den iSAQB® Certified Professional for Software Architecture, Advanced Level (CPSA-A). Sie zählt 30 Credit Points (10 methodisch · 20 kommunikativ).

Inhalt

  1. 01

    Domäne, Modell und Ubiquitous LanguageDomäne, Domänenmodell, Ubiquitous Language, Module, Entity, Value Object, Aggregate, Service, Factory, Repository, Domain Event

  2. 02

    Knowledge Crunching: Der Weg zum ModellAgile und evolutionäre Modellbildung, Empowerment der Domänenexperten, Kollaborationsformen zur Modellerhebung, Werkzeuge zur Modellerhebung

  3. 03

    Vom Modell zur ImplementierungFachliche Klassen und technisch motivierte Bausteine, Zusammenhang zwischen Modell und Code, Sprache und Codequalität

  4. 04

    Das Modell in der AnwendungsarchitekturHexagonal Architecture, Command-Query Responsibility Segregation, Layered Architecture, Dependency Injection, Behaviour Driven Development

  5. 05

    Strategic Design 1: Modelle schneiden und voneinander abgrenzenSubdomain, Bounded Context, Core vs supporting vs generic subdomains, Context Map

  6. 06

    Strategic Design 2: Context MappingCustomer/Supplier, Open Host Service, Shared Kernel, Domain Event als Kommunikationsmittel, Anticorruption-Layer, Separate Ways

Zielgruppe

Zielgruppe sind Softwarearchitekten und Entwickler, die Systeme entwerfen und/oder weiterentwickeln. Sie sollten Erfahrungen in IT-Projekten oder in der Produktentwicklung gesammelt haben; Kenntnisse in einer bestimmten Technologie oder Programmiersprache sind zum Verständnis und zum Mitarbeiten nicht erforderlich. UML-Kenntnisse sind hilfreich, aber nicht zwingend erforderlich.

"Event Storming und Strategic Design: DDD mit vielen Teams" mit @mbohlende. #SoftwareArchitectureSummit pic.twitter.com/ysQI35yvNT

Softw. Arch. Summit (@SoftwArchSummit) · 2016-09-26 ↗

Experiment: Event Storming-Workshop mit 60 Teilnehmern auf dem Software Architecture Summit in Berlin

Voraussetzungen

Sie sollten Erfahrungen in IT-Projekten oder in der Produktentwicklung gesammelt haben; Kenntnisse in einer bestimmten Technologie oder Programmiersprache sind zum Verständnis und zum Mitarbeiten nicht erforderlich. UML-Kenntnisse sind hilfreich, aber nicht zwingend erforderlich.

Was Domain Driven Design bewirkt

Domain-Driven Design (DDD) gibt Ihnen diese Sprache in die Hand: Fachexperten und Entwickler modellieren dabei gemeinsam in Fachsprache – mit vordefinierten Bausteintypen und Mustern. So wird wirklich klar, wie die zukünftige Lösung aussehen soll. Das vereinfacht die Kommunikation und macht das Ergebnis eindeutig.

Agententag: Domain-Driven Design für Sie und Ihren Agenten

Im Anschluss an das Training können Sie einen optionalen Agententag dazubuchen, online oder in Präsenz. Im Training lernen Sie, wie Fachexperten und Entwickler gemeinsam ein Modell erarbeiten. Am Agententag holen Sie einen dritten Partner an den Tisch: Ihren KI-Agenten. Die grundlegenden Überlegungen bleiben bei Ihnen. Ihr Agent ist Ihr Sparringspartner und erstellt die Artefakte. Sie üben den ganzen Tag an einem durchgängigen Beispielsystem.

  • Vom Workshop-Chaos zur gemeinsamen Sprache: Ihr Agent ordnet die Ergebnisse eines Event-Storming-Workshops und schlägt Begriffe, Ereignisse und Kandidaten für Aggregate vor. Welche Begriffe zur Ubiquitous Language werden, entscheiden Sie mit den Fachexperten.
  • Der Agent als Interviewer: Ihr Agent befragt Sie zu einem konkreten fachlichen Szenario und hinterfragt Ihre Annahmen, bis die Lücken im Modell geschlossen sind. Er erfragt Fachwissen, statt es zu erfinden.
  • Modelle schneiden: Sie entscheiden, der Agent zeichnet: Sie entscheiden, welche Subdomänen Kern, unterstützend oder generisch sind. Ihr Agent entwirft daraus Bounded Context Canvases und eine Context Map, und Sie prüfen die Entwürfe.
  • Vom Modell zum Code, und wieder zurück: Ihr Domänenmodell wird zur Gussform für eine agentische Software-Gießerei. Ihr Agent gießt daraus einen Bounded Context. Stimmt das Ergebnis nicht, korrigieren Sie die Form, nicht den Guss.

Am Ende des Tages wissen Sie, welche Modellierungsarbeit Sie delegieren können und welche nie. Ihr Agent ist eingerichtet, um ab Montag in Ihrem Projekt mitzuarbeiten.

Den Agententag buchen Sie über Ihren Trainingspartner. Für ein In-house-Training sprechen Sie mich direkt an.

Option: Consulting zur Einführung von DDD in Ihrem Unternehmen

Passend zu den Inhalten der Schulung habe ich ein Online-Consultingprogramm aufgelegt. Mit diesem wird es für Sie und Ihre Teams leicht, die ersten Schritte mit DDD im eigenen Unternehmen zu machen.

Das Programm finden Sie hier:

Domain-Driven Design - Consulting | Matthias Bohlen ↗Für mehr Erfolg in der Software-Entwicklung. Persönliches Consulting mit dem DDD-Experten Matthias Bohlendomaindrivendesign.consulting

Durchführungshinweise

Über eine ausgewogene Mischung von Vortrag und praktischen Übungen lernen Sie mit meiner Anleitung in der Gruppe, wie Sie Fachleute und Entwickler zusammenbringen und ein Domänenmodell Ihrer Anwendung erstellen, in klarer, einfacher, präziser und gemeinsam verabredeter Sprache.

Online/Remote-Variante

Seit 2020 gebe ich die DDD-Trainings auch online, mit Zoom (oder notfalls auch Microsoft Teams) als Videoplattform sowie Miro als Online-Whiteboard. Ein voll eingerichtetes Videostudio mit professioneller Sende-Hardware habe ich dafür aufgebaut.

Hier ein paar Ergebnisse aus den Online-DDD-Trainings:

Ein Event-Storming-Board für einen Pizza-Lieferdienst: Reihen orangefarbener Event-Klebezettel von der Online-Bestellung bis zu Bezahlung und Bewertung, gruppiert in Bounded Contexts wie Online-Shopping, Gastronomie, Logistik, Finanzen und Qualitätssicherung, mit Upstream- und Downstream-Beziehungen dazwischen.
Ein Überblicksmodell mit eingezeichneten Bounded Contexts
Ein Event-Storming-Prozessmodell auf einem langen Board: eine Kette aus Events, Commands, Policies, Systemen und Read Models vom Eingang eines Lieferauftrags bis zur ausgelieferten Pizza, eingerahmt von Situation links und Outcome rechts.
Ein Prozessmodell eines einzelnen Bounded Contexts
Ein Event-Storming-Modell auf Design-Ebene: Commands für Ad-hoc- und terminierte Lieferungen führen zu einem großen gelben Aggregate namens Lieferung, das Events wie Lieferung angenommen, freigeschaltet und terminiert auslöst; eine Scheduler-Policy führt zurück.
Ein Software-Design-Modell für ein einzelnes Aggregate

Platz buchen

Inhouse für Ihr Unternehmen? Rufen Sie +49 170 772 8545 an oder schreiben Sie an mbohlen@mbohlen.de.