Software Design in the Agentic Age: Place Your Bets

Mathias Verraes ยท article ยท 2026-07-07 source โ†— Reader ๐Ÿ–ฅ๏ธ

Agent HarnessChangeability & OptionalityCode QualityDark Factory (Fully Automated Software Pipeline)Disposable vs. Durable CodeHuman-in-the-LoopIronies of AutomationMalleable SoftwareModularity & CouplingSoftware Design FundamentalsSpec-Driven DevelopmentTest-Driven Development
In the agentic age, code-level quality becomes automatable but high-level software design and rigorous (ideally executable) specifications remain decisive human-led work, so under deep uncertainty about AI's payoffs and externalities teams should bet on design rigour, executable specifications, and the ability to revert from agent generation back to human engineering.

mixed ยท mixed โ€” A practitioner's reflective essay from Thoughtworks' Future of Software Engineering retreat: it surveys the debates observed there (expository) while advancing the author's own thesis and hedging recommendations (argumentative), and it is action-guiding ('place your bets', 'cover your fundamentals') yet also speculates about what is true of agentic development.

Structure

PartRole
Framing: the retreat and the spectrum of agentic practiceGrounds the essay in observations from ~60 industry leaders and lays out the spectrum of agentic styles, from humans delegating small changes to fully automated 'dark factory' pipelines, with harness engineering broadly valued
Does code-level design still matter?Presents the two camps (design is only for human readability vs. agents benefit from good design), catalogues camp 2's arguments, adds the ironies-of-automation side argument, and resolves it with an asymmetric-payoff decision matrix plus a concrete multi-pipeline quality setup
Does high-level design still matter?Works backwards through the DDD essentials (evolvability/model drift, bounded contexts, ubiquitous language, domain models) and notes the rise of formal modelling, arguing each remains valuable in agentic development
Is code still ground truth?Frames the divisive split between code-as-source-of-truth and specifications-as-source-of-truth (specification engineering), and the further debate over whether code becomes disposable and regenerable from specs
Placing your betsDelivers the author's positions: bet on spec-driven development with executable specs, scepticism about throwaway regeneration, 'cover your fundamentals first', the dark-factory risk, and hedging against AI's externalities by building revertible systems

Key terms

Propositions

Arguments

Teams should invest in code design quality even though it is uncertain whether low-level quality matters to agents. strength: high
Explicit premises:
Implicit premises:
Inferences:
Clear domain models, ubiquitous language, and bounded contexts remain essential in agentic development even if the machine does not strictly need them. strength: high
Explicit premises:
Implicit premises:
Inferences:
Organisations should cover their quality and design fundamentals first and build systems that can revert from agentic generation to human engineering. strength: medium
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Related documents