Essentials of Domain-Driven Design

Principles and Concepts for Aligned Software Teams
Thomas Coopman

Essentials of Domain-Driven Design

Essentials of Domain-Driven Design

Thomas Coopman
🇬🇧 English
Introductory

Online
Total duration: 7h00

Timezone: Europe, Amsterdam
Monday May 18 09:00 - 12:30
Tuesday May 19 09:00 - 12:30
 
Timezone: Asia, Kolkata
Monday May 18 12:30 - 16:00
Tuesday May 19 12:30 - 16:00


Summary

Design loosely-coupled, domain-aligned software architectures and organizational structures by learning the foundational principles and concepts of Strategic Domain-Driven Design (DDD).

This intensive 1-day training is delivered across two concise half-day remote sessions, specifically designed to equip your entire team with the essential, shared vocabulary and conceptual understanding of Strategic DDD.

Course focus

One of the biggest challenges of DDD and architecture in general is breaking a large system down into loosely-coupled subsystems.

This training focuses on conceptual clarity and shared team vocabulary. You will master the essential theory of Strategic DDD.
We provide the conceptual blueprint for decomposing large problem domains into cohesive, domain-aligned bounded contexts, which is critical for scaling your software architecture and organizational structure.

The emphasis is on understanding what the concepts are, why they matter for team alignment, and how to apply them conceptually to evolve your architecture over its lifetime.
We prioritize core principles and essential tools over extensive hands-on practice, ensuring maximum knowledge transfer in minimum time.

Learning objectives

By the end of this course, your team will have a solid understanding of:

  • What Strategic Domain-Driven Design is and why it's critical for successful software.
  • Understanding heuristics for identifying Domains and Subdomains.
  • Finding where to invest by defining the strategic importance of subdomains (Core, Supporting, Generic).
  • Understanding heuristics for splitting/merging and defining Bounded Contexts.
  • The conceptual basis for designing contracts and integration points between contexts.
  • Defining communication patterns between teams that align with context boundaries.

Agenda

This training is split into two half-day remote sessions, focusing entirely on core conceptual understanding.

Half-Day 1: DDD Foundations & Strategic Decomposition

Part 1: The Foundations of DDD

  • What is Domain-Driven Design (DDD) and why it's essential for building successful software.
  • Mastering the Core Vocabulary: Essential concepts like Domains, Models, and the Ubiquitous Language (UL).

Part 2: Strategic Domain Discovery

  • Splitting the problem space: Understanding how to decompose Domains into smaller Subdomains.
  • Alignment with the Business: Defining the strategic importance of Subdomains (Core, Supporting, and Generic).

Half-Day 2: Bounded Contexts & Strategic Relationships

Part 3: Defining Bounded Contexts

  • Understanding the Bounded Context Concept and its role as a crucial software and team boundary.
  • Essential principles and heuristics for identifying and defining effective context boundaries.
  • Conceptual techniques for validating and challenging Bounded Contexts for better design.

Part 4: Context Interactions & Strategic Alignment

  • Understanding the core Context Mapping Patterns to manage relationships between teams/systems.
  • Designing the conceptual integration points and contracts between Bounded Contexts.

Training Comparison: 1-Day vs. 2-Day Formats

The 1-Day Essentials Training is a focused, high-impact session designed to align your team on the core DDD vocabulary, principles, and strategic tools.
It is concept-heavy and exercise-light, serving as an excellent shared starting point or a rapid knowledge boost for diverse stakeholders.

The 2-Day Workshop offers a more in-depth and hands-on experience. It includes extended group exercises, practical modelling sessions, and deeper content. This format goes beyond alignment — it equips teams to apply DDD principles confidently and independently in real-world projects.

You should choose the 1-Day option only when your goal is to:

  • refresh existing DDD knowledge
  • quickly get up to speed when others on your team already have the necessary expertise
  • provide a foundation for an upcoming workshop that requires prior DDD familiarity

In all other cases, the 2-Day option is the recommended choice.

Who Should Attend?

Anybody who works in software teams or with software teams will be able to fully participate and take away conceptual knowledge they can apply immediately.
This training is particularly valuable for teams and stakeholders seeking a common language and conceptual foundation in DDD.

  • Software Engineers of all levels
  • Architects
  • Testers
  • Product Managers / Owners
  • Business Analysts
  • Delivery Managers

Format & Requirements

This course utilizes a mix of theory, guided discussions, and simplified examples to ensure conceptual mastery.
Limited, targeted activities will be used for demonstrating concepts, but extensive modelling practice is reserved for the 2-day format.

  • Tools: Zoom (or access to the Zoom client in your browser) and Miro (or access to the Miro client in your browser) will be used for delivery and visual concept demonstration.
  • Skill Level: You don't need prior knowledge of Domain-Driven Design, any particular programming language, or technology.
Thomas Coopman

About Thomas Coopman

Thomas is a software consultant and engineer focused on the full stack: domain modelling, frontend & backend, and most importantly: people, practices, and processes. Thomas develops and teaches training programs for Aardling. He holds a Master of Informatics at the University of Leuven.

Thomas is a programming polyglot and loves to learn new languages. His latest language studies have taken him to Elixir, Elm, and OCaml, and he has a special affinity for functional programming languages. Thomas co-organises the DDD Europe conference and the Belgian Software Crafters community.

All workshops by Thomas Coopman
thomas-coopman
@tcoopman@mas.to
@tcoopman.bsky.social

Essentials of Domain-Driven Design

Thomas Coopman
🇬🇧 English
Introductory

Online
Total duration: 7h00

Timezone: Europe, Amsterdam
Monday May 18 09:00 - 12:30
Tuesday May 19 09:00 - 12:30
 
Timezone: Asia, Kolkata
Monday May 18 12:30 - 16:00
Tuesday May 19 12:30 - 16:00


Also check out