Author, speaker, blogger, OSS maintainer. Ships software by day, wrangles toddlers by night. Chief Architect at Headspring, a consulting company based in Austin, TX.
It was our first multi-year project as a young consulting company, and while we all had experience building projects using DDD, it was our first major effort as a team. It was also our client's first DDD project, as well as their first Agile project. With all of these firsts, we were determined to do things by the book. We debated endlessly the different ways of implementing the DDD patterns, consulted the experts, and even became experts in our own right.
We shipped, and our clients were happy, but we were not entirely pleased with the results. It wasn't until years later we understood what we had created - a Monolith!
A few years later, we got the opportunity to embark on a new multi-year effort in a nearly identical domain with nearly identical constraints. In this talk, we'll explore where we went wrong in the first project and how we righted our wrongs in the second, using concepts and techniques from both DDD and microservices, to a solution that we could finally say we were completely happy with.