Learn DDD
Reading list
What we would actually put in someone's hands, and why. Not a survey of everything ever written about Domain-Driven Design, just the ones we would defend.
Nothing here is sponsored and there are no affiliate links. There are no buy links either: you can find a book. The one line under each cover is ours, and it is the only part of this page that is.
Tell us we got one wrong, or recommend the one that should be here.
Join our Discord →It started with one book

Eric Evans wrote Domain-Driven Design in 2003, and a surprising amount of what people still argue about traces back to it. Fifteen years later he stood up at Explore DDD in Denver and said “DDD isn’t done”. He was right. The patterns have moved on since the book, and so have the tools, the canvases and the words people use for them. The point has not moved: work on the part of the domain that actually matters, build the model with the people who know it, and keep the language straight inside a boundary you drew deliberately.
Which is the long way of saying you do not have to start with the blue book, and most people should not. Vlad Khononov’s Learning Domain-Driven Design is the better first read. If you would rather see how the pieces fit together before learning them one at a time, start with Susanne Kaiser’s book instead. Or ignore both and take whatever below sounds like the problem you actually have.
The list
Free first, then newest

Wardley Mapping
Understanding the landscape and context it is in is more important than ever for making key design and architecture decisions. This is a series of articles published for free by the author, chapter by chapter.
FreeIntermediateStrategy & org design

Domain-Driven Design Reference
A handy reference book for the patterns from the blue book.
FreeBeginnerReferenceDDD

Object Design: Roles, Responsibilities, and Collaborations
The fundamentals that Eric Evans based his Domain-Driven Design book on and followed. A must-read even in today’s age of AI! Responsibility-Driven Design is the concept that is still very much relevant!
FreeBeginnerReferenceDDDArchitecture

Adaptive Systems with Domain-Driven Design, Wardley Mapping, and Team Topologies
Where DDD meets strategy and org design. Gives a good introduction to DDD, Team Topologies and Wardley Mapping before diving deep into combining them.
AdvancedReferenceStrategy & org designSystems thinking

Collaborative Software Design
Collaborating modelling with stakeholders sounds easy, but once you put people in the room, you have to deal with them. Book by one of the organisers about how to make sustainable design decisions with stakeholders and teams.
IntermediateCollaboration & facilitationDDD

Facilitating Software Architecture
Decentralising architectural decisions without losing coherence. Pairs directly with the advice decision record and the heuristics in our own archive. Book by one of our organisers and hosts of the stories!
IntermediateAdvancedCollaboration & facilitationArchitecture

Team Topologies, 2nd Edition: Organizing Business and Technology for Fast Flow of Value
Adjacent to DDD and hard to do strategic design without. Explains why a context boundary that ignores team boundaries does not survive.
IntermediateStrategy & org design

Architecture Modernization
For people in leadership positions who arrived with a Big ball of mud and a mandate. Treats DDD as one tool in a modernisation effort rather than the point.
IntermediateAdvancedArchitectureStrategy & org design

Learning Systems Thinking
Why the hardest problems are in the relationships rather than the parts. Useful for someone who has learned the DDD patterns and still cannot make them land.
IntermediateSystems thinkingArchitecture

Residues: Time, Change, and Uncertainty in Software Architecture
Residuality theory, from the person who developed it. Heavy going and genuinely original. We already have two of his talks in the video inventory, so book and talk can be offered together.
AdvancedArchitectureComplexity

The EventStorming Handbook
Need a quick introduction to running an effective EventStorming session? This book is a handy quick start guide for anyone wanting to learn how to facilitate an EventStorming session.
BeginnerCollaboration & facilitation

Communication Patterns
The part of the job nobody teaches: diagrams, documentation and getting a technical point across. A design nobody understood is a design that did not happen.
BeginnerIntermediateCollaboration & facilitationArchitecture

Building Evolutionary Architectures
Fitness functions, and how to keep a boundary from eroding once you have drawn it. The missing half of most DDD advice.
IntermediateArchitecture

Data Mesh
Bringing decentralisation to the world of data architecture through Domain-Driven Design. Any modern Data Architect or architect doing more with data should read this!
BeginnerIntermediateDDDData Architecture

Domain Storytelling
for a first collaborative modelling session, especially with people who are sceptical of sticky notes.
BeginnerDDDCollaboration & facilitation

Introducing EventStorming
The facilitation anchor, and the closest book to what this community is actually about. From the person who invented the technique.
IntermediateCollaboration & facilitationDDD

Learning Domain-Driven Design
A modern approach to Domain-Driven Design. Covers strategic and tactical without assuming you already believe in either.
BeginnerDDD

Software Architecture: The Hard Parts
Trade-off analysis for decisions with no good option, which is most of the interesting ones. Where to go once bounded contexts meet data.
AdvancedArchitectureStrategy & org design

Strategic Monoliths and Microservices
Directly aimed at the reader who arrived asking whether to break up their monolith, and honest that the answer is often no.
IntermediateAdvancedDDDArchitecture

Fundamentals of Software Architecture
Broad grounding for someone who came to DDD without an architecture background and keeps hitting words they have not met.
BeginnerIntermediateArchitecture

Accelerate
The evidence that loosely coupled architecture and autonomous teams actually pay off. Useful research when introducing DDD upwards.
BeginnerStrategy & org design

Domain Modeling Made Functional
For the functional programming crowd, the go-to book!
IntermediateReferenceDDDArchitecture

Domain-Driven Design Distilled
Short and honest. The one to hand someone who has been told to do DDD by Thursday.
BeginnerDDD

Patterns, Principles and Practices of Domain-Driven Design
Broad and example-heavy. Useful as a reference to dip into rather than a book to read through.
IntermediateAdvancedDDD

Implementing Domain-Driven Design
The practical companion to the blue book is called the red book. Heavy, and worth it once you have a real system to apply it to.
AdvancedReferenceDDD

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
Learn the diverse viewpoints thinking model from the book, so that when designing a solution I'll be able to cover different stakeholders' needs.
IntermediateBeginnerArchitecture

Thinking, Fast and Slow
One big impact on designing software is that we are prone to biases. They can help and break a good design outcome. This is the primer to read!
BeginnerDecision-making

Thinking in Systems
The primer for everything else on systems thinking assumes you have read. Short, and not about software at all.
BeginnerSystems thinking

Domain-Driven Design
The blue book. The thoughts in it are still relevant to read if you take into account that patterns, principles and tools have changed.
ReferenceDDD
No books match those filters.
Would rather read one together than argue about it? There is a Book club.
