Context Maps

Learn why it is important to understand the relationships between different bounded contexts, what types of bounded contexts exist, and how they can be mapped onto a context map.

Bounded contexts are independent, but they do not work in isolation. They interact with each other to fulfill business requirements. Since a team usually works on a big domain, the team can end up with a huge number of bounded contexts. This is worth mentioning because every bounded context is translated into one or more modules or microservices in the future. It is difficult to understand the relationship between different microservices. If incorrectly implemented, our efficient architecture can devolve into a big ball of mud anti-pattern.

Big ball of mud anti-pattern

When there are many bounded contexts in an organization, it is important to manage the relationships between them. Unmanaged bounded context relationships lead to the formation of a big ball of mud. This is when a software solution possesses multiple haphazard models that do not work with explicit boundaries.A big ball of mud architecture can cause potential problems, such as the creation of a spaghetti code, whereby a team will need to connect components improperly. The evolution of components and a model will be difficult and expensive.

Spaghetti code: A slang term for unstructured and difficult-to-maintain source code. Spaghetti code can be caused by several factors, such as volatile project requirements, lack of programming style rules, and software engineers with insufficient ability or experience.

Get hands-on with 1400+ tech skills courses.