SDD vs TDD vs Plan Mode: Where Does Your Intent Live?

SDD vs TDD vs Plan Mode: Where Does Your Intent Live?

SDD vs TDD vs Plan Mode: Where Does Your Intent Live?

Spec-driven development sits alongside test-driven development on one side and the plan modes of modern agents on the other. Each is genuinely good at something, and each is a different answer to the same underlying question: where does intent live? Get that framing clear and the boundaries stop being confusing.

SDD and TDD: Cousins, Not Competitors

TDD makes a failing test the primary artifact: write the test, write code to pass it, refactor, repeat. It encodes intent — but only intent expressible as a unit test. SDD makes the specification primary, and a spec is broader: it carries architecture, non-functional requirements, constraints, scenarios and non-goals, in language every stakeholder can read. Most SDD workflows generate TDD-style tests as an output of the tasks phase, so adopting SDD usually means getting TDD's discipline as a by-product. If TDD is intent at the function level, SDD is intent at the feature and system level.

SDD and Plan Mode: Persistence Is the Difference

Modern agents ship plan modes — a conversational planning pass before code — and for tactical work they are excellent: low ceremony, fast iteration. The limitation is that the plan is ephemeral. It lives in conversation history, not as a persistent artifact; close the session and there is no authoritative reference when implementation deviates, nothing versioned, nothing a teammate can consult. Plan mode is tactical planning; SDD is strategic planning with artifacts that outlive the conversation.

The free SDD Cheat Sheet shows where the spec fits — and when a lighter tool is the right call.Download Free — SDD Cheat Sheet

One Question, Three Answers

Where does intent live? In TDD, in the tests. In plan mode, in the conversation. In SDD, in a versioned spec that generates both the tests and the plan. Pick based on how long the intent has to survive and how many parties have to share it — trivial and scoped changes are plan-mode territory, and the moment intent needs to outlive the session, you want the persistent artifact.

The Older Ghosts

Veterans will recognise SDD's ancestors — the PRD, the design doc. The family resemblance is real: think before building, write the thinking down. What changed is that the documents stopped being inert. A PRD described intent to humans who then manually translated it; a spec describes intent to an agent that executes it directly, and regenerates the translation when intent changes. The document is no longer paperwork — it is the interface.

Spec-Driven Development: The Complete Guide compares all three in depth, with guidance on when to reach for each.Get the Complete Guide