Chapter 1. Introduction: Domain-Driven Transformation in a Nutshell
When you start a software project on a greenfield site, everything is fun and easy. Developers respond to new requirements at a rapid pace. Users are enthusiastic. Development moves forward in noticeable strides.
Over the lifetime of the system, this will change. Inevitably, the complexity of the software implementation increases. This increasing complexity leads to higher proneness to errors, slower and slower progress, and poorer maintainability. Eventually, even the smallest change takes half a year to reach production. The blooming greenfield has turned into a muddy, stinking brownfield. “Legacy system,” “ancient software,” “big ball of mud,” “monolith,” and “rubber boot project” are the unflattering names given to these kinds of systems.
But there is hope! Even these aging systems can regain flexibility, robustness, and development speed. This chapter will first give a concrete example of a legacy system that is modernized with Domain-Driven Transformation and then describe the method in an overview. This serves both to give you a general idea of the approach and to find out which of the many topics in the book are of deeper interest for you, and which chapters to read.
Example: A Legacy System in a Container Port
Henning’s great-grandfather was a cocoa trader. From his office at the port, he watched the giant ocean steamers rolling in and out. When he opened his window, he could smell the big wide world: ripening ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access