Change Proposal
Turn a vague request into a reviewable spec with goal, non-goals, criteria, open questions, and evidence.
Open templateSDD turns a feature request into a chain of files reviewers can inspect: spec.md, design.md, tasks.md, and evidence.md. The point is not heavier process. The point is to stop humans and AI agents from coding against assumptions nobody reviewed.
spec.mdDefines goal, non-goals, acceptance criteria, edge cases, and release evidence before implementation starts.design.mdRecords architecture choices, rejected alternatives, interfaces, rollout order, and operational constraints.tasks.mdBreaks work into reviewable slices with owners, allowed files, acceptance links, and test commands.evidence.mdConnects criteria to tests, screenshots, logs, metrics, manual checks, and rollout stop signals.| Failure mode | What SDD changes | Review signal |
|---|---|---|
| Vague prompt becomes broad diff | The spec states non-goals and allowed behavior before the agent starts. | Out-of-scope code can be rejected without debate. |
| Architecture is invented mid-generation | The design doc names interfaces, constraints, and rejected alternatives. | Generated code must follow the approved shape. |
| Large PR is hard to review | Tasks split implementation by acceptance criterion and file ownership. | Reviewers can inspect smaller, testable slices. |
| Approval is treated as proof | Evidence logs tie criteria to tests, screenshots, metrics, and rollout gates. | Merge review has something concrete to verify. |
Turn a vague request into a reviewable spec with goal, non-goals, criteria, open questions, and evidence.
Open templateCapture architecture choices, interfaces, constraints, rejected alternatives, rollout order, and rollback.
Open templateSplit implementation into reviewable tasks with owners, allowed files, acceptance links, and test commands.
Open templateRecord tests, screenshots, logs, metrics, manual checks, and release stop signals against the spec.
Open templateReview generated code for spec alignment, file drift, missing tests, and behavior added outside scope.
Open templateDefine team rules for spec gates, evidence standards, AI coding boundaries, and exceptions.
Open template| Method | Primary question | Best used for |
|---|---|---|
| Spec-first development | What behavior should exist before code is written? | Clarifying product and engineering decisions before implementation. |
| Spec-driven development | Which repo artifacts should guide planning, coding, and evidence? | Coordinating humans and AI agents through reviewable files. |
| TDD | Which tests should drive implementation? | Proving units, contracts, and regressions during coding. |
| BDD | Which examples describe user-visible behavior? | Writing shared examples in business-readable language. |
Keep the proposed change reviewable before code generation starts. The valuable idea is explicit change intent, not tool lock-in.
Give coding agents durable skills and repo rules so repeated work follows the same standards instead of a fresh chat each time.
Move from specification to plan to task execution so AI-assisted implementation has a visible decision trail.
Spec-driven development is a workflow where product behavior, constraints, implementation tasks, and verification evidence are written as reviewable artifacts before major code changes begin.
Spec-first development is the broad principle of writing behavior before code. SDD is a more explicit repo workflow that usually includes spec, design, tasks, and evidence files.
No. SDD decides the behavior and constraints first. TDD and BDD can then provide tests and examples that prove the spec was implemented correctly.
AI coding agents need narrow instructions, non-goals, allowed files, and evidence requirements. SDD gives the agent a reviewable source of truth before it changes code.
A small SDD packet can be one folder containing spec.md, tasks.md, and evidence.md. Add design.md when architecture choices or trade-offs need review.
Use the SDD templates on one real ticket first. Keep the packet small enough to review, but specific enough to stop implementation drift.