Eberhard Wolff

20 Years of Domain-Driven Design: What I’ve Learned About DDD

In invoicing, a product is a price. In shipping, it's a weight and size. This simple distinction is the key to mastering Domain-Driven Design.

20 Years of Domain-Driven Design: What I’ve Learned About DDD
#1about 2 minutes

An overview of core Domain-Driven Design techniques

DDD encompasses a range of techniques from high-level Event Storming for understanding the domain to tactical design for implementing classes and aggregates.

#2about 3 minutes

Prioritizing quality by focusing on the core domain

Instead of aiming for uniform high quality, strategically focus development effort and refinement on the core domain, which is the most critical part of the system.

#3about 1 minute

Viewing DDD as a holistic software engineering approach

Domain-Driven Design is not just a set of coding rules but a comprehensive approach to software engineering that addresses different concerns for various roles like developers and architects.

#4about 5 minutes

Letting the domain drive design to deliver customer value

The primary goal of applying DDD is to deliver value to the customer, which requires developers to actively engage with users and domain experts to understand their needs.

#5about 6 minutes

Fostering collaboration with techniques like Event Storming

Collaborative modeling techniques like Event Storming lower the barrier to participation, enabling better knowledge crunching and shared understanding between technical teams and domain experts.

#6about 5 minutes

Deconstructing the three aspects of Bounded Contexts

A Bounded Context is a core DDD pattern that defines the boundary for a specific domain model, its associated ubiquitous language, and often the scope of a single team.

#7about 5 minutes

Building autonomous modules focused on functionality

Design modules around business functionality rather than shared data entities to create highly autonomous systems with low coupling.

#8about 2 minutes

Summary of key lessons from 20 years of DDD

The talk concludes by reinforcing that DDD is about letting the domain drive design, using collaboration to understand it, and building autonomous modules.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Product Owner

Product Owner

DCV Technologies Limited
Coventry, United Kingdom

117-143K
Agile Methodologies