Skip to content

Architectural Boundaries

Systems are divided by boundaries that separate concerns and allow independent development, deployment, or replacement of components

Tension Addressed

Consistency vs. Autonomy

Recognizable As

API layers; service interfaces; package/module boundaries; the line between "our code" and "their code"; plugin architectures; anywhere you could swap implementations

Canonical Sources

Martin, "Clean Architecture" (2017); Fowler, "Patterns of Enterprise Application Architecture" (2002)

Transfers To

Political Science (jurisdictional boundaries), Biology (cell membranes), Economics (firm boundaries), Physics (system boundaries)

Boundaries define what can vary independently. Well-placed boundaries isolate volatility. Poorly-placed boundaries force coordinated changes across teams or deployments.