Online-Schulung

Domain-driven Design in der Praxis

iSAQB Modul DDD

Das Domain-driven Design Training vermittelt auf der einen Seite den wichtigen theoretischen Aufbau rund um alle relevanten Bereiche von Domain-driven Design. Auf der anderen Seite werden die Teilnehmer das in der Theorie erworbene Wissen laufend anhand eines praktischen und vor allem fachlich komplexen Fallbeispiels, welches weit über verbreitete Hello World oder Shopping Cart Exempel hinausgeht, anwenden.
ONLINE: 8. Februar 2021

3 Weitere Termine verfügbar

In dieser Schulung lernen Sie alles, was Sie wissen müssen, um mit DDD zu starten. Sie lernen Techniken der kollaborativen Modellierung kennen, richten die Geschäfts- und Softwarearchitektur auf das strategische Design aus, entwerfen hochspezifische Domänenmodelle mit Hilfe der taktischen Entwurfsmuster und richten Teams und Architektur mit Hilfe der Context Map aus.

Besonders hat mir die pragmatische Sichtweise auf die Themen gefallen, die letztlich die fachliche Lösung des Problems über die geschriebenen Aussagen stellt.

Alexander TrappDeveloper IoT & Cloud bei GIB mbH

Die Vor-Ort-Variante dieser Schulung war früher ein hochgradig interaktiver Kurs mit einem hohen Grad an praktischen Übungen an einer nicht-trivialen Fallstudie. Dieser Fernkurs ist mit seinen vielen interaktiven Übungen ebenso interaktiv. Sie werden auch lernen, wie Sie mit bewährten Remote-Tools im Bereich Domain-driven Design arbeiten können.

Alle Teilnehmenden erhalten ein Gratis-Exemplar von Michaels eBook „Hands-on Domain-driven Design – by example“.

Kostenfreies Training Bite für diese Schulung am 09.12.

Zielgruppe

Diese Schulung richtet sich an Softwareentwickler, Architektinnen, Product Owner oder Personen aus dem Business-Kontext, die an digitalen Produkten arbeiten. In dieser Schulung gibt es keine Programmierübungen. Entwickler erhalten jedoch eine Menge Ressourcen und einen Link zu einem GitHub-Repository mit einem dazugehörigen Video von Michael Plöd, um technisch noch tiefer einzusteigen.

Agenda

Die Schulung umfasst drei volle Tage von jeweils 9:00 bis 16:30 Uhr MESZ.

Tag 1

Gewinnen Sie einen Überblick und lernen Sie die Geschichte hinter Domain-driven Design kennen. Sie erfahren außerdem etwas über Konzepte wie die Ubiquitous Language und die Motivation für eine enge Zusammenarbeit zwischen Domänenexpertinnen und Softwarepraktikern. Der Nachmittag besteht aus einer Big Picture EventStorming-Sitzung zur Fallstudie.

Tag 2

Der zweite Tag steht ganz im Zeichen des Strategic Domain-driven Design. Sie lernen, zwischen Problem- und Lösungsraum zu unterscheiden. Wir werden die Problemdomäne unserer Fallstudie in Unterdomänen zerlegen und diese in Core-, Support- und Generic-Domains kategorisieren. Danach tauchen wir in den Solution Space ein, indem wir die richtigen Bounded Contexts, Ideen und Elemente aus dem Bounded Context Design Canvas identifizieren. Sie lernen nicht nur alle Grundlagen der Problemdomänen, Subdomänen und Bounded Contexts kennen. Sie setzen diese Ideen auch mit vielen Übungen in die Praxis um!

Tag 3

Wir nutzen den ersten Teil des Tages, um die Ideen und Muster des taktischen Domain-driven Designs in die Praxis umzusetzen. Wir führen ein Design-Level-EventStorming für einen der Bounded Contexts durch, die wir am zweiten Tag identifiziert haben. Dadurch können wir Kandidaten für Aggregates, Services und Policies identifizieren. Danach werden wir auch nach geeigneten Kandidaten für Entitäten und Value Objects suchen.

Ergebnisse vom Remote-EventStorming einer Trainingsgruppe
Ergebnisse vom Remote-EventStorming einer Trainingsgruppe

Im zweiten Teil des Tages dreht sich alles um den soziotechnischen Teil von Domain-driven Design. Sie lernen die Ausrichtung von Teams, Bounded Contexts und Governance kennen. Wir werden uns hauptsächlich mit den Context-Mapping-Mustern aus der Literatur zum Domain-driven Design befassen, aber Sie erhalten auch einen kurzen Überblick über Alternativen wie etwa Team-Topologien.

Lernziele

  • Lernen Sie die Motivation hinter Domain-driven Design und alle Elemente der Methodik kennen.
  • Die Anwendung von Domain-driven Design mit Hilfe agiler Praktiken.
  • Durchführung von kollaborativen Modellierungs-Workshops wie EventStorming (Big Picture, Design Level) und Domain Storytelling.
  • Problemdomänen abgrenzen und in kategorisierte Subdomänen unterteilen.
  • Bounded Contexts aus verschiedenen Perspektiven entwerfen.
  • Anwendung von taktischen Design Patterns wie Aggregate, Entity, Value Object und Service beim Entwurf eines ausdrucksstarken Domänenmodells.
  • Entwurf von soziotechnischen Architekturen mit der entsprechenden Governance unter Verwendung von Context Maps.
Subdomain-Grenzen, entwickelt von einem Team aus Remote-Teilnehmerinnen und Teilnehmern
Subdomain-Grenzen, entwickelt von einem Team aus Remote-Teilnehmerinnen und Teilnehmern

Wie funktioniert die Online-Schulung? Und wie unterscheidet sie sich von der Vor-Ort-Variante?

Wir haben unseren Vor-Ort-Kurs als hochgradig interaktive Online-Schulung neu gestaltet. Dafür haben wir an den Grundlagen gefeilt:

  • Eine kurze Pause nach jeder Stunde Remote-Arbeit.
  • Zusätzliche kleinere Übungen und Retrospektiven schaffen eine ansprechende Lernumgebung für Anfänger und Fortgeschrittene gleichermaßen.
  • Neu entwickelte Übungen mit einem „Remote-first“-Ansatz.
  • Alle Übungen, insbesondere im Teil zu Strategic Design, nutzen die Möglichkeiten der Remote-Tools optimal aus.
  • Wir haben die Kombination aus theoretischem Hintergrundwissen und praktischen Übungen deutlich verbessert.

In der Online-Schulung verwenden wir zwei Tool-Kategorien: eine Videokonferenzlösung und ein browserbasiertes Tool für die Remote-Arbeit. Sie brauchen sich nirgendwo anzumelden: Sie erhalten vom Trainer einen Link und können damit sofort loslegen.

Kleine Lerngruppen bedeuten mehr Interaktion! Aus diesem Grund verwenden wir eine Videokonferenzlösung mit Unterstützung für Breakout-Räume – diese ermöglichen es dem Trainer, schnell zwischen den Gruppen zu wechseln und alle Teilnehmenden während der Übung zu unterstützen.

Unser Ziel ist es, dass diese Online-Schulung ihren hochgradig interaktiven und persönlichen Praxisbezug beibehält. Daher bitten wir alle Teilnehmenden, ihre Webcams während der gesamten Sitzung eingeschaltet zu lassen.

FAQ

Welche Vorkenntnisse muss ich mitbringen?

Sie sollten über einige Erfahrung in der Entwicklung und dem Delivery von Softwareprodukten verfügen. Etwas Know-how in Software-Architektur ist von Vorteil, aber nicht erforderlich.

Was sind die technischen Voraussetzungen?

Sie sollten über eine Webcam, ein anständiges Mikrofon oder Headset und eine gute Internetverbindung verfügen. Wir empfehlen mindestens 20 MBit/s Downstream und 5–10 MBit/s Upstream. Es wäre hilfreich, wenn Sie auch einen modernen Browser (Firefox, Chrome, Safari) auf Ihrem Rechner installiert hätten. Ein zweiter Bildschirm ist optional, aber ein Plus. Wir werden Zoom für Videokonferenzen verwenden. Vor der Schulung bieten wir 2–3 Termine für einen kurzen technischen Setup-Check an.

Ersetzt die Online-Schulung den Vor-Ort-Kurs?

Die kurze Antwort lautet: nein. Die Vor-Ort-Durchführung dieser Schulung ist so lange nicht möglich, bis wir eine sichere Umgebung für alle Beteiligten garantieren können.

Ist diese Schulung auch als In-House-Kurs für mein Team verfügbar?

Auf jeden Fall. Bitte kontaktieren Sie uns für ein individuelles Angebot.