liveBook · Manning

Autonomy

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

Autonomy is the ability of a team to make decisions and progress independently without requiring continual alignment or approval from other teams.

Autonomy is a team’s ability to make decisions and move work forward independently, without continual alignment or approval from other teams. It matters because shared decisions can interrupt development flow even when teams own distinct bounded contexts. section 10.3.1

Four teams around a shared model

Four teams own separate bounded contexts within a large monolithic application, but those contexts depend on a shared kernel. Changing the shared model requires consultation, synchronization, and potentially changes in every team’s code or database design, reducing autonomy. section 10.3.1

Figure 10.8 A shared kernel pattern. Four teams each own their own bounded context, but they share a model. Every time that model is affected, they need to talk to the other teams to change it.

Use the shared-kernel diagram to see how one shared model creates dependencies among otherwise separately owned bounded contexts. section 10.3.1

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Defines autonomy through a shared-kernel scenario and shows how synchronization reduces it, without detailing alternative architectures.
Examples
Uses four teams, a monolithic application, separately owned bounded contexts, and a shared model as the concrete example.
What it assumes
Assumes familiarity with teams and software systems while introducing bounded contexts and shared kernels through the scenario.
What you can do after
Evaluate how shared models and required coordination constrain independent team progress.
How it connects
Connects autonomy to microservices architecture, monolithic architecture, bounded contexts, shared kernel, and Domain-Driven Design.

Also explained in

Compare how 9 books explain autonomy →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.