New training: OWASP Top Ten with Christoph Iserlohn (German) More

Domain-driven Design in Practice

Training iSAQB® CPSA®-Advanced DDD — 3 days

Technology
Methodology20
Communication10
Dates and Booking

Description

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 Benefits

Learned approaches can be used in projects straight away

Allows you to establish technologically driven vertical slices in your software architecture

You learn how to use event storming to increase general understanding of subject-matter knowledge

Audience

This training is aimed at software developers and architects, product owners and anyone in business working with digital products. There are no programming exercises in this training. Developers however receive a huge amount of resources as well as a link to a GitHub repository with a corresponding video from Michael Plöd to allow a deeper technical understanding. Participants should have at least some experience in the development and delivery of software products. A little knowledge of software architecture is advantageous but not essential.

Training Objectives

Motivation and all elements of the methodology

Usage with the help of agile practices

Undertaking of collaborative modeling workshops such as event storming and domain storytelling

Defining problem domains and dividing them into categorized sub-domains

Designing bounded contexts from different perspectives

Use of tactical design patterns such as aggregate, entity, value object and service

Design of socio-technical architectures with governance through the application of context maps

Your Trainers

Johannes Seitz

Domain-driven Design, IT renovation, agile methods

Michael Plöd

Domain-driven Design, EventStorming, software architecture

Martin Otten

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

Gerrit Beine

Agile methods and organizations

Our Customers Say

»I found it perfect, from a really broadview down to detail. It was awesome!«
Alex Jäger
CEO, The Fittest

Technical Information and Books

Domain-Driven Design Referenz – Definitionen & Muster

Domain-driven Design spielt beim Entwerfen und Umsetzen von fachlich anspruchsvollen Systemen eine entscheidende Rolle. Für das Verständnis von DDD ist die DDD-Referenz von Eric Evans eine unverzichtbare Quelle – und liegt mit diesem Buch erstmalig in deutscher Übersetzung vor. Sowohl die Originalversion, als auch die Übersetzung stehen unter Creative-Common-Lizenz. Mehr Infos

Hands On Domain-driven Design – by example

Domain-driven Design practically explained with a massive case study. This book aims to explain the concepts of Domain-driven Design in a way that it is easily applicable in practice. Each chapter contains a theoretical part which is explained from the point of view of practical applicability and then exercises with solutions based on a comprehensive, complex case study (real estate loans). More Info

Online Courses

On-site Courses

Event ticketing software by pretix

In-House Training

You can also book this training as an in-house training course exclusively for your team. Please use the enquiry form for more details.

Enquire now