Coupling is the degree of interdependence between modules and systems, while cohesion is how well the tasks within a single module fit together. Flexible IT architecture rests on a simple combination: loose coupling between services and strong cohesion within each one. When it is the other way around, systems know too much about each other, any change triggers a chain of edits, and the landscape turns into an IT monolith: expensive to maintain and slow to evolve.
We explain how strong and weak coupling differ, what the enterprise shared context has to do with it, and how to tell a loosely coupled architecture from a monolith.