Henning Schwentner
Domain-Driven Transformation—How to Bring (Back) Sustainable Architecture to Legacy and Monoliths
#1about 4 minutes
Transforming legacy systems like renovating old buildings
An analogy of renovating a historic warehouse into a modern concert hall illustrates the potential and challenges of software modernization.
#2about 7 minutes
Identifying common diseases in legacy software systems
Legacy systems often suffer from common architectural problems like being a "Big Ball of Mud," having an anemic domain model, or poor team organization.
#3about 4 minutes
A four-step framework for strategic transformation
A structured, four-step approach to modernization involves rediscovering the domain, modeling the target architecture, aligning it with the current state, and executing the changes.
#4about 5 minutes
Rediscovering the business domain with collaborative modeling
Use collaborative modeling techniques like Domain Storytelling to shift focus from the existing technical solution back to the core business problems and processes.
#5about 4 minutes
Defining the target architecture with bounded contexts
Use insights from domain discovery to identify sub-domains and define clear boundaries, creating a target architecture composed of distinct bounded contexts.
#6about 9 minutes
Mapping the target architecture onto the existing code
Analyze the current codebase to understand its structure and identify how to map the desired bounded contexts onto existing components, revealing shared dependencies.
#7about 5 minutes
Planning the transformation with an improvement backlog
Manage the modernization effort by creating a dedicated improvement backlog for refactoring tasks and allocating a consistent portion of sprint capacity to this work.
#8about 5 minutes
A step-by-step example of incremental refactoring
A detailed walkthrough shows how to extract a bounded context from a monolith by incrementally moving methods and classes while ensuring the system remains deployable.
#9about 3 minutes
Monolith transformation is a marathon not a sprint
The key to successful monolith transformation is recognizing it as a long-term, incremental journey that is difficult but ultimately possible with sustained effort.
#10about 15 minutes
Q&A on tools, metrics, and distributed teams
The speaker answers audience questions about using tools like ArchUnit and SonarQube, tracking KPIs, and managing distributed teams during a transformation process.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
40:28 MIN
Evolving a monolith using domain-driven design
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
00:14 MIN
Introduction to Domain-Driven Design and sustainability
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
00:03 MIN
The problem with traditional layered architectures
CQRS and Event Sourcing without the pixie dust
35:42 MIN
Understanding the scope of automated modernization
Application Modernization Leveraging Gen-AI for Automated Code Transformation
30:29 MIN
How to migrate legacy projects to a clean architecture
Building software that scales with Typescript
05:06 MIN
Viewing DDD as a holistic software engineering approach
20 Years of Domain-Driven Design: What I’ve Learned About DDD
00:03 MIN
Why incremental modernization beats a big bang rewrite
Interface Contracts in Microfrontend Architectures
04:34 MIN
Achieving sustainable software architecture for long-term productivity
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
Featured Partners
Related Videos
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
Carola Lilienthal
Modulith Instead of Monolith - Pragmatically Towards Microservices
Hendrik Lösch
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Resolving technical debts in software architecture
Carola Lilienthal
Get ready for new features - the legacy challenge
Hans Hosea Schäfer
How to Destroy a Monolith?
Babette Wagner
We (don't) need a software architect!?!
Hendrik Lösch
Microservices? Monoliths? An Annoying Discussion!
Eberhard Wolff
Related Articles
View all articles.gif?w=240&auto=compress,format)

.gif?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.



Senior Full-Stack Entwickler/Architekt/Team Lead (m/w/d)
ATR Software GmbH
Neu-Ulm, Germany
Intermediate
Senior
Java
Docker
Angular
TypeScript



Lead Backend Engineer (m/f/d)
Peter Park System GmbH
München, Germany
Senior
Python
Docker
Node.js
JavaScript


Principal Backend Architect - Java Refactoring & Modernization
primion Technology GmbH
Remote
PostgreSQL
Dependency Injection

Principal Backend Architect - Java Refactoring & Modernization
primion Technology GmbH
Remote
PostgreSQL
Dependency Injection