Author: Ennard Landre (Einarlandre)
"Divide and conquer (divide and Conquer)" has become a curse in dealing with complex problems since Lord Nelson Trafalgar the Farsi Coalition fleet in the Battle of Trafalgar in 1805. Another term that expresses the same meaning but is more known is "The separation of concerns (separation of concern)". To isolate the focus, a package (encopsulation) approach has been invented, from encapsulation to the concept of boundaries (boundary) and Interfaces (interface).
The difficulty, from an architect's point of view, is to find the natural place to set boundaries (natural places) and define the appropriate interfaces needed to build a working system. It is particularly difficult to achieve this in a large enterprise system, with its natural boundaries scarce and the entanglement of many areas. In this case, ancient wisdom such as "low coupling, high cohesion (Minimize coupling,maximize cohesion)" and "avoiding transversal segmentation requires a high degree of information exchange (do not slice through regions where the Rates of Informationexchange are required) "provides guidelines, but they do not mention how to work with stakeholders (stakeholder) on issues and potential solutions in an easy way (potential solutions) for communication.
Eric Els (Ericevans) describes the "bounded context (Professional)" and "Domain-driven" in his book "Field-Driven design" (Addiosn-wesley boundedcontext) The concept of situation map (context mapping) is helpful. A bounded context is a region that uniquely defines a model or concept, usually expressed as a cloud or a bubble, and also gives a descriptive name that can define its roles and responsibilities in the current field. For example, in a shipping system, such as "Cargo operation", "Freight dispatch" and "Port transport" scenarios may be included. In other areas, there are corresponding appropriate names.
When you recognize these bounded contexts and draw them on the whiteboard, it's time to start mapping out the relationships between the various situations. These relationships may reveal organizational, functional, or technical dependencies. The work is bounded by a situation map (context mapping), which contains a series of bounded contexts and interfaces between them.
Such a situational map provides architects with a powerful tool that allows them to focus on "which should be grouped together and which should be separated" so that they can implement sensible divide and conquer in a way that communicates smoothly. They can easily use the technology to record and analyze the current state of the system (As-is situation), and from that point on, intermittent guidance to the system redesign to obtain a low coupling, high cohesion and well-defined interface (well-defined interface) and other characteristics of a better system.