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.
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.