In this masterclass, Michael Plöd will equip you with the essentials of Domain-Driven Design (DDD). Through hands-on sessions and real-world examples, you’ll learn to implement DDD in your projects from concept to execution.

Course Overview

Day One

Gain an overview and discover the history behind DDD. You will learn about concepts such as ubiquitous language and the motivation for close collaboration between domain experts and software developers. In the afternoon, an event-storming session will examine the big picture through a case study.

Day Two

The second day focuses on strategic DDD. You will learn to differentiate between the problem space and the solution space. You will learn the essentials of problem domains, subdomains, and bounded contexts, and apply these concepts practically through numerous exercises.

Day Three

The first part of the day is dedicated to implementing the ideas and designs of tactical Domain-Driven Design in practice. We will conduct a design-level event storming for one of the bounded contexts identified on the second day, allowing us to identify candidates for aggregates, services, and policies. We will then look for suitable candidates for entities and value objects.

In the afternoon, we will address the socio-technical aspects. You will learn about the alignment of teams, bounded contexts, and governance. We will primarily explore context-mapping designs found in DDD literature, but you will also receive a brief overview of alternatives such as team topologies.