Course · Training · Workshop

Master Domain-Driven Design

Two- to three-day workshop on strategic and tactical Domain-Driven Design: apply Event Storming, Bounded Contexts, Context Maps, and Aggregates to real-world examples.

A two or three-day workshop where we explore both worlds of Domain-Driven Design. The strategic part focuses on subdomains, classification, domain roles, communication, bounded contexts, and context maps. The tactical part dives into aggregates, entities, and value objects, providing hands-on experience and practical applications. Through interactive sessions, real-world examples, and collaborative exercises, you'll understand how to design and implement effective software systems that align with business goals. Bridge the gap between theory and practice, and shift your approach to software development towards business.

What participants say

Even though our company is already highly product-oriented, "DDD, EventStorming and CleanCode" course has provided us with valuable tools to take our approach to the next level, by ensuring that our technical models truly reflect the core domain.
Lucas Lucas
Engineering Manager, Migros Online

These customers booked courses in the same topic cluster.More customers →

Content

The workshop is divided into two comprehensive parts, each designed to provide in-depth knowledge and practical skills in Domain-Driven Design:

Strategic Part:

  • Event Storming: Learn the Big Picture and Process Level techniques to visualize and understand complex business processes
  • Subdomains: Explore the concept of subdomains and their critical role in organizing and managing business logic
  • Bounded Context Canvas: Use the Bounded Context Canvas to map out and define the boundaries of different contexts within your domain
  • Core Domain Charts: Learn how to forecast the fluctuation of subdomains and bounded contexts
  • Context Map: Create context map to visualize the interactions and relationship between different bounded contexts and teams. Learn about upstream, downstream and patterns like anti-corruption layer or conformist
  • Modularization: Discover how to leverage bounded contexts to define modules in your solution architecture

Tactical Part:

  • Event Storming: Leverage Design Level technique to find aggregates
  • Aggregates: Learn how to design and manage aggregates to ensure consistency
  • Entities: Understand the role of entities in Domain-Driven Design and how to model them effectively.
  • Value Objects: Explore the concept of value objects and their importance in creating a rich, expressive domain model.

The actual course content may differ from the above depending on the trainer, delivery, duration and the composition of participants.

Request this course in-house

By submitting you accept our Privacy Policy.

Request a public date

No suitable public date? Register without obligation — once there is enough interest we schedule a new public date and let you know first.

Number of participants (approx.)

More than 3 participants? Best to request a dedicated in-house date directly.

By submitting you accept our Privacy Policy.

More about Domain-Driven Design

Domain-Driven Design (DDD) is a software development approach that places the complexity of business domains at its core. Developed by Eric Evans, DDD combines strategic and tactical design to build software that is closely aligned with business reality. Concepts such as Bounded Contexts, Ubiquitous Language, and Aggregates help teams model complex domains in a structured way.

Further resources:

History

Domain-Driven Design was established by Eric Evans, who published the groundbreaking book "Domain-Driven Design: Tackling Complexity in the Heart of Software" in 2003. Evans described patterns and practices that bring developers and domain experts together to create a shared model of business reality — known as the Ubiquitous Language.

In the years following its publication, DDD was further developed by authors such as Vaughn Vernon and a growing community. Today, DDD is a central concept in modern system architecture, particularly in the context of microservices and event-driven architecture, and is applied in large software projects worldwide.