Domain-Driven Transformation - how to improve the structure of legacy systems
summary
Methodology turns a Big Ball of Mud into domain-aligned modules via four concrete steps: Domain Rediscovery (collaborative modelling like domain storytelling, done before reading code), target architecture as a context map, automated comparison using a published Modularity Maturity Index (0–10), and an incremental move guided by a catalog of refactorings. Tools parse source code into class graphs, expose cycles and hidden calls, and feed the MMI; about 300 systems are measured, sizes from typical 3M to tens of millions of lines. Work includes stabilizing builds/tests, strengthening domain models (value objects, remove inheritance), and adding arch tests (e.g. ArchUnit) to keep the mud from returning.
AI-written summary · about
chapters (11)
- 0:00Introduction and background
- 3:02Problem with legacy systems
- 8:19Domain-Driven Transformation steps
- 11:10Rediscovering the domain
- 14:45Defining target architecture
- 16:54Modularity Maturity Index
- 20:31Comparing actual and target architecture
- 23:18Stabilizing and strengthening the system
- 25:45Use case-driven architecture challenges
- 31:13Types of domains
- 34:27Q&A session
related talks
51mDomain - Driven Transformation
47mDomain Driven Transformation—How to Bring Back Sustainable Architecture to
48mDomain Pattern – How the Domain Influences the Architecture
41mDomain Re discovery Patterns for Legacy Code
32mApplying Domain-Driven Design in legacy systems
44mDomain Driven Rearchitecting with the "Domain-from-Legacy" Canvas
01mJohannes Rost
38mWhat I talk about when I talk about Domain Driven design
