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

INNOQ

Domain-driven Design, IT renovation, agile methods

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.

Michael Plöd

INNOQ

Domain-driven Design, EventStorming, software architecture

Michael works a a Fellow for INNOQ. He has over 15 years of practical consulting experience in software development and -architecture. His main areas of interest are currently Domain-driven Design, Event Sourcing, Microservices and presentation techniques for developers and architects. Michael is the author of the book »Hands-on Domain-driven Design – by example« on Leanpub.

Martin Otten

INNOQ

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

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.

Gerrit Beine

INNOQ

Agile methods and organizations

Gerrit has been working full-time in IT since 1998, with agile methods since 2001 and enjoys building bridges between software architecture and organizations. He has founded three companies and has been responsible for large projects as a software architect and consultant.

In addition to a degree in computer science, he also has a Master’s degree in Software Product Engineering and an MBA in General Management. He likes to combine his software architecture knowledge with insights from psychology and sociology.

Gerrit has been an active member of the iSAQB e.V. since 2011 and is accredited as a trainer for CPSA-Foundation and CPSA-A Domain-driven Design and as an examiner for the Advanced Level. Since 2008, he has been teaching software quality in the Master’s program at the West Saxon University of Applied Sciences Zwickau.

Technical Information and Books

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

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

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