Modularity & Coupling

Structural boundaries and dependency discipline in codebases — the properties that determine whether humans and agents can change a system safely.

Also known as: coupling data, coupling, loose coupling, modularity, dependency rules, independent deployability / independent reversibility, independent deployability, AI modularity review, impact radius, transactional coupling, separation of concerns / contracts / tenancy boundaries, leaky abstraction

Clean Architecture (Ports & Adapters / Hexagonal Architecture)

How authors use it

Oldest first (extraction date when no publication date is known).

AuthorTheir termTheir meaning
Agents don't know what good looks like. And that's exactly the problem.
Luca Mezzalira · 2025-01-01
transactional couplingThe hidden complexity that arises when independently bounded services must coordinate state changes across a workflow (sagas, event choreography, compensation logic).
The Organization Is the Bottleneck
Sarah Wells · 2026-04-20
Independent deployability / independent reversibilityThe ability to deploy and roll back a single service without coordinating with or affecting other services — a microservices benefit that becomes critical when AI-generated code ships 3x faster
Three more static code analysis sensors
Birgitta Böckeler (published on martinfowler.com) · 2026-05-20
dependency rulesDeclarative constraints (in this case dependency-cruiser config) that forbid imports across designated layer boundaries — e.g. clients must not import from services.
Three more static code analysis sensors
Birgitta Böckeler (published on martinfowler.com) · 2026-05-20
coupling dataPer-file metrics about incoming and outgoing imports/calls, produced by her custom 'coupling-analyser' CLI, optionally visualised as e.g. a DSM.
Three more static code analysis sensors
Birgitta Böckeler (published on martinfowler.com) · 2026-05-20
AI modularity reviewA scheduled, prompt-driven LLM analysis that reads the actual code (not just metrics) using a curated 'skills' pack (Vlad Khononov's Modularity Skills) and emits concrete refactoring recommendations.
Three more static code analysis sensors
Birgitta Böckeler (published on martinfowler.com) · 2026-05-20
impact radiusThe set of callers/dependents potentially affected by a change to a given file — proposed as a future use for coupling data during human code review triage.
How Platform Engineering Using Golden Bricks Can Enable Fast and Smooth Delivery
Ben Linders · 2026-05-21
Leaky abstractionA platform abstraction whose internals show through, causing developers to depend on implementation details so the platform team can no longer change them.
Shifting Platform Development from Projects to Products
Ben Linders · 2026-07-02
Separation of concerns / contracts / tenancy boundariesExplicit interfaces and responsibility splits between platform and consumer, and between service/control/management planes, with 'contracts' as stable interfaces between layers.

Documents (23)

Propositions touching this concept (25)

By publication month, oldest first (extraction month when no publication date is known).

2018-03

2024-06

2026-04

2026-05

2026-07

2026-09

Tensions

Is code a durable artifact humans must keep reading, or an ephemeral byproduct regenerated from a spec?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: The retreat's own 'largest divide' (Ördög). It is unresolved inside the room and inside the individual essays: Herlein concedes the deterministic 'code is the better spec' counter is 'hard to wave off', and Ördög reports being ironically pulled toward the dark-factory camp by her own good-code practices. The crux is whether a fuzzy prose spec can ever be the durable source of truth when the stated quality bar is verifiability — a tension none of them resolves.
How much of the build pipeline should run with no human reading the code (the 'dark factory')?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: Not simple optimism vs pessimism but a disagreement about preconditions and hidden costs. Ocytko's is a projection of where tooling is heading; Bangser and Verraes both supply reasons the projection is unsafe by default — learning-loss and missing prerequisites. Bangser has the stronger argument that the loss is structural (you cannot buy back organisational learning), which even an improving platform does not address.
How far can day-2 operations be handed to self-healing / autonomous remediation?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: Ruby's report is descriptive (where practice actually stands) and Ocytko's is aspirational (where platforms could go); the gap between 'remediation is withheld' and 'failure modes disappear' is precisely the distance the optimists are projecting across. Bangser supplies the reason the gap may not close on efficiency grounds alone — the withheld human step is also the learning step.
Reversibility as a hedge vs a one-way commitment to deeper autonomy.
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: Incompatible risk models. Verraes treats deep AI-dependence as the danger to insure against; Herlein treats not-committing as the existential danger. They cannot both be the rational strategy: reversibility trades some upside for exit options, while flywheel-commitment trades exit options for compounding lead. The tie-breaker is empirical (will access/economics deteriorate?) and neither has evidence — Fowler's 'tokenpocalypse' data leans slightly toward Verraes.
Where is the locus of safety for non-engineers / citizen developers building software?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: Four different answers to the same governance question: the platform (Ocytko), the director's discipline (Ruby), the tooling interface (Bangser), or nobody-knows-yet (Ördög). Ruby and Ocytko are the true opposites — Ruby puts the burden on a human management skill, Ocytko designs the human out by making failure modes disappear in the platform. That both are held by attendees of one retreat is a measure of how unsettled the citizen-developer problem is.
Does low-level code quality matter intrinsically, or only instrumentally (via token economics)?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: The disagreement is about the grounds of the fundamentals-revival, not just its truth. If quality matters only via token cost (Verraes, and Fowler's proxy), the case for it is contingent on token economics and evaporates if tokens get cheap; if it is intrinsic (Ördög), it survives cheaper tokens. This makes the popular slogan 'quality still matters' quietly unstable — the same conclusion rests on incompatible foundations.
Will the classic fundamentals (especially DDD / domain modelling) actually deliver this time — is the revival evidenced or merely asserted?
from: What did the participants of the Thoughtworks 'Future of Software Engineering' Europe retreat (mid-2026) conclude about how agentic AI is reshaping software engineering?
Assessment: The single slogan 'fundamentals matter more' spans concrete evidence (Verraes), unargued assertion with admitted bias (Nilsson), and active skepticism (Edwards-Alexander) — from attendees of one retreat. This directly exposes the 'the fundamentals are agreed' assumption below: the cohort's flagship convergence is doing a lot of work with very uneven support underneath it.
Is code a durable artifact to be maintained, or an ephemeral byproduct regenerated from a more durable source (spec/objective)?
from: What is the future of software development in the agentic/AI age?
Assessment: The most-cited open question of the corpus, and genuinely unresolved (Herlein: 'no consensus here. None.'). The 'code is the better spec' counter is strong — code is unambiguous, executable, deterministic, whereas a prose spec is reinterpreted each run, which sits in tension with verifiability being the quality bar. Ruby's move is the most defensible: it dissolves the code-vs-spec fight by locating durability in the evaluation rather than any representation. Verraes and Ördög expose the load-bearing empirical unknown — nobody has data on regenerate-vs-patch cost or on long-term evolvability of agent-maintained code.
Where does the non-delegable human asset now live — the harness/platform, the oracle, the fundamentals, or the developer's understanding?
from: What is the future of software development in the agentic/AI age?
Assessment: This is the deepest structural disagreement — every author agrees a human residue remains but nominates a different residue, and the choice determines what to invest in and what to teach. The harness-centric (Edwards-Alexander), oracle-centric (Ruby), fundamentals-centric (Nilsson/Bangser), and understanding-centric (Fowler) camps are not merely emphases: they imply different career ladders, different hiring, and different failure modes. Ruby's oracle and Bangser's operational-learning are the most operationally concrete; Nilsson's is the least argued. The absence in the corpus of anyone who holds 'nothing is non-delegable' is itself telling (see unexamined assumptions).
Should the harness/platform and its safety be centralized or left distributed across teams?
from: What is the future of software development in the agentic/AI age?
Assessment: A real operating-model split. Edwards-Alexander's distributed stance rests almost entirely on the DevOps-team analogy (his own extraction flags it as asserted-on-intuition, not argued), whereas the platform camp has the stronger concrete case for the citizen-developer safety problem — you cannot distribute production-data guardrails to non-engineers. The tension is partly reconcilable: Ocytko himself concedes a platform tight enough for non-engineers may be too constraining for expert engineers' identity and innovation, which is exactly the freedom Edwards-Alexander is protecting. The unresolved question is whether one platform can be both.
How far should software be automated — toward the fully-autonomous dark/software factory, or held back to bounded autonomy with humans in the loop?
from: What is the future of software development in the agentic/AI age?
Assessment: The spectrum runs from Ördög/Ocytko (full automation is arriving and desirable) to Bangser/Ruby/Verraes (deliberately withhold the last step). The decelerationists have the better of the safety argument today — Ruby's 'nobody will cede the blast radius' and Bangser's 'removing humans removes learning' identify concrete, unmet prerequisites — but Ördög's context-dependence (backends, COBOL) shows the boundary is domain-specific, not absolute. The real disagreement is less about capability than about who absorbs the blast radius when an autonomous fix goes wrong.
Strategically, is the right move to accelerate adoption to build a permanent lead, or to decelerate and hedge against AI's risks?
from: What is the future of software development in the agentic/AI age?
Assessment: Nearly opposite bets: Herlein optimizes for a world where AI keeps getting cheaper and better and first-movers win permanently; Verraes and Fowler optimize for a world where AI gets costlier, curtailed, or unreliable. Herlein's 'permanent moat' rests on flywheel logic plus a single secondhand anecdote and ignores technology-diffusion catch-up dynamics; Verraes and Fowler's hedge is cheap insurance but under-examines whether reversion is actually achievable once specs, agents, and toolchains are deeply embedded and human familiarity has eroded. The disagreement is ultimately a bet on the trajectory of token economics, which nobody in the corpus can price.
How should newly-empowered citizen developers be made safe — constrained platform, human stewardship, or supported API-first tooling?
from: What is the future of software development in the agentic/AI age?
Assessment: All three agree citizen developers are inevitable and must not be blocked, but the safety mechanism differs — encode it in a constraining platform (Ocytko), transfer it through human relationships (Laycock), or expose it as consumable interfaces (Bangser). Ocytko's platform-first case is strongest on the specific failure mode both he and Ördög name (non-engineers leaking or bypassing production-data access), which stewardship alone cannot prevent at scale. Laycock's stewardship answers a different problem — sustaining the junior-to-senior pipeline — that a platform does not. The positions are complementary in principle but compete for the same finite investment, and none supplies a concrete governance model for vibe-coded shadow IT.

Open gaps (63)