Domain-driven Design in Practice

Training iSAQB® CPSA®-Advanced DDD — 3 days

Technology
Methodology 20
Communication 10
Dates and Booking

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 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

Gerrit Beine

INNOQ

Agile methods and organizations

  • Advanced Product Owner
  • CPSA Foundation Level
  • Domain-driven Design in Practice
  • Intensive Preparation for the iSAQB CPSA-A Exam
  • Make and Bring About Good Decisions
  • Risk Management for Software Architects

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.

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.

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.

Michael Plöd

INNOQ

Domain-driven Design, EventStorming, software architecture

  • CPSA Foundation Level
  • Domain-driven Design for Managers
  • Domain-driven Design in Practice
  • Team Topologies Deep Dive

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 and translated Team Topologies (by Skelton & Pais). Michael is TTA (Team Topologies Advocate).

Our Customers Say

The training was superbly prepared and conveyed well that the topic is about people and that communication is the focus. After the 3-day training, a good foundation has been laid for the topic in order to also deal with the technical aspects of DDD. The trainer brings enthusiasm for the topic and at the same time is reflective and engages in discussions.

Birgit Chmelar, Software Developer, iteratec Birgit Chmelar Software Developer iteratec

Technical Information and Books

Domain-driven Design in der Praxis (Architektur-Spicker Nr. 13)

Domain-driven Design (kurz DDD) ist eine Methode zur fachlichen Strukturierung von Softwaresystemen. Auf Basis grundlegender Konzepte von DDD zeigt Dir dieser Spicker einen klaren und anpassbaren Prozess, mit dem Du von reinem Wissen schnell und widerstandsarm in die praktische Umsetzung kommst. Zum Architektur-Spicker.

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

Relevant Other Training Courses