Domain-driven Design in Practice

Training iSAQB® CPSA®-Advanced DDD

2025-02-10 - 2025-02-12

Technology
Methodology 20
Communication 10

DDD (Online) - Johannes Seitz - German - date confirmed

Description

Use domain-driven design to clearly structure complex systems and continuously solve business challenges through direct collaboration with domain experts. Understand how to cut bounded contexts with different modeling approaches to create a sustainable basis for evolutionary architectures.

In this training you will learn everything you need to know to get started with domain-driven design. You will learn about collaborative modeling, align the business and software architecture with the strategic design, create highly specific domain models with the aid of tactical design patterns, and arrange teams and architecture with the help of the context map.

Day 1 Get an overview and discover the history behind domain-driven design. You will also learn a little about concepts such as ubiquitous language and the motivation for close cooperation between domain experts and software developers. In the afternoon an event-storming session considers the big picture by means of a case study.

Day 2 The second day is dedicated to strategic domain-driven design. You will learn to differentiate between the problem space and the solution space. We will separate the problem domains of our case study into sub-domains and categorize these as core, support, or generic domains. We then dive into the solution space by identifying the correct bounded contexts, ideas, and elements of the bounded context design canvas. You will not only learn all the essentials of the problem domains, sub-domains, and bounded contexts, but also apply these ideas in practice by means of many exercises.

Day 3 We use the first part of the day to implement the ideas and designs of the tactical domain-driven design in practice. We undertake a design-level event storming for one of the bounded contexts that we identified on the second day. This allows 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 turn to the socio-technical aspects of domain-driven design. You will learn about the orientation of teams, bounded contexts and governance. We will mostly deal with the context-mapping designs in the literature on domain-driven design, but you will also get a brief overview of alternatives such as team topologies.

Your Trainers

Johannes Seitz

INNOQ

Domain-driven Design, IT renovation, agile methods

  • CPSA Foundation Level
  • Domain-driven Design in Practice

Johannes has been working in the software industry for over 10 years. His main focus areas include domain-driven design, IT renovation and agile software architecture. As a coach and trainer, he helps teams build or rehabilitate software sustainably.

All info about training