Breaking a large domain into subsystems is an exercise that many companies are going through when they kick off a new project or decide to migrate from a monolith architecture to microservices. The approach of creating a number of loosely coupled software services promises to bring a lot of benefits. These include improving team autonomy, reducing lead time, being able to innovate, and other traits that describe accelerated delivery cycles.
In theory, by making services smaller we should be able to improve the metrics and benefit from a new architecture, but such an approach is missing an important point. If we want to have truly autonomous teams and services that are not tightly coupled with each other, first we need to understand the domain.
During this talk, you will learn about 8 building blocks of Domain-Driven Design Modelling Process. This knowledge will make it easier to choose the right tools and practices that will help you design a loosely coupled system aligned with business needs and organisational structure.