Loose coupling
2 of our books define this term — and their definitions are worth reading side by side.
An important concept in IT system design with a large impact on agility. In general, parts of an IT system depend on other parts, and a change in one part can have effects on those other parts. Loose coupling is the design concept of reducing these dependencies. It is a design ideal, difficult to realize completely in practice. But the more IT components are coupled loosely, the less cost and risk there is in making a change—in other words, the more agile the architecture is.
— War and Peace and IT: Glossary, Mark Schwartz
Loose coupling in software architecture is about having a high-level agreement between components while allowing for flexibility in the details of how those components connect and communicate.
— Unbundling the Enterprise, in “Chapter 7: Strategies of Success #2: Distributed Innovation”, Stephen Fishman and Matt McLarty
See also coupling · Agile · Agility · Data lake · headless product · Hypervisor
Filed under Architecture & Systems