Domain-driven Design in Practice

Training iSAQB® CPSA®-Advanced DDD

2025-01-15 - 2025-01-17

Technology
Methodology 20
Communication 10

DDD (Online) - Martin Otten - German

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

Martin Otten

INNOQ

Domain-driven Design, agile methods, host of INNOQ’s Technology Lunch

  • Domain-driven Design in Practice

Martin Otten is a Senior Consultant at INNOQ. He has been working in software development for fifteen years and is involved in the realization of software and IoT products. His focus is on Domain-Driven Design, Agile methods and the optimization of development processes.

All info about training