Carola Lilienthal

It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design

A 'customer' in sales is not the same as in support. Embracing this difference is the key to creating truly modular systems.

It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
#1about 4 minutes

Introduction to Domain-Driven Design and sustainability

The speaker shares her 15-year journey with Domain-Driven Design and introduces the core goal of creating sustainable software architectures that last.

#2about 4 minutes

Achieving sustainable software architecture for long-term productivity

Sustainable architecture enables teams to consistently deliver new features over time by avoiding the structural decay that slows down development.

#3about 3 minutes

Why microservices fail without proper modularity

Splitting a monolithic application into microservices without first establishing clear modules creates a distributed big ball of mud, which is worse than the original system.

#4about 1 minute

Focusing on high cohesion and low coupling

The primary goal of software architecture is to achieve high cohesion within modules and low coupling between them, which is best accomplished through a domain-driven approach.

#5about 5 minutes

How a single shared domain model prevents modularity

A common anti-pattern is a single, shared domain model that creates tight coupling across the entire system, making it impossible to separate into independent modules.

#6about 3 minutes

Using strategic design to create bounded contexts

Domain-Driven Design's strategic design provides a framework for decomposing a system into bounded contexts that align with business subdomains, enabling independent development.

#7about 5 minutes

Finding domain boundaries with domain storytelling

The Domain Storytelling technique helps identify natural boundaries within a business process by mapping out actors, work objects, and activities.

#8about 3 minutes

Comparing domain-driven vs entity-driven architecture

A good architecture is structured around business capabilities (bounded contexts), while a poor, entity-driven architecture creates unnecessary coupling between services.

#9about 2 minutes

Practical heuristics for identifying domain boundaries

Identify potential domain boundaries by looking for one-way information flows, different process rhythms, varying definitions of key concepts, and existing organizational structures.

#10about 4 minutes

Quantifying architectural quality with the Modularity Maturity Index

The Modularity Maturity Index (MMI) offers a concrete metric to evaluate a system's architectural health, which can be analyzed using specialized tools.

#11about 8 minutes

Q&A on DDD, shared models, and microservices

The speaker answers audience questions about avoiding copy-paste models, handling shared functionality, starting new projects, and event-driven architecture.

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.