Skip to content

Domain Driven Design

Subject
Process/Agile workflow
Participants
The entire agile team
Facilitator
Agile coach / Agile master

Summary

Domain-driven design (DDD) is an approach to modelling complex software. It builds the bridge between the domain and the development.

Definition

Domain-driven design is neither a technology nor a methodology. It offers a structure of practices and terminology for taking design decisions. Simply expressed the design is driven by the domain, meaning that architecture and implementation are strictly guided by the domain. The domain should be the heart of a system. The approach was developed by Eric Evans, who introduced this approach in his book in 2003.

Motivation

DDD is a suitable approach when building complex software systems.

Results

DDD makes it easier to realize the domain in the software.

Benefit

DDD promises to increase the productivity of software projects dealing with complex domains. It also aims at increasing the benefit for the end user.

Procedure

The premise of DDD is to focus the project on the core domain and domain logic, and to model complex designs. The third premise is to initiate a creative collaboration between technical and domain experts to iteratively get closer and closer to the conceptual core of the problem. DDD always starts in the problem space - only when this is sufficiently understood, it moves on to the solution space. The heart of DDD is the ubiquitous language. This language consists of all the terms that domain experts use when they talk about the domain and is also used in the source code.

Tools

Whiteboard/flipchart

Hints

In order to understand and learn how to apply DDD, the book "Learning Domain-Driven Design" by Vlad Khononov (2021, O'Reilly Media, Inc.) provides a practical guide.

See also

Eberhard Wolff (2020): Fachlich sinnvoll schneiden … - Warum Domain-driven Design?, Entwickler Magazin Spezial Vol. 24: DDD, Adrian Gygax, Martin Kernland (2016): Einführung in die Konzepte von Domain-driven Design, entwickler.de,domaindrivendesign.org (2007) What is Domain-Driven Design?

msg is an independent, internationally active group of autonomous companies with more than 10,000 employees. Our core competency: intelligent IT and industry solutions.