Spec Driven Development is a software engineering methodology where detailed, structured specifications serve as the primary source of truth, guiding AI coding agents to generate code, tests, and documentation instead of relying on loose, ad-hoc prompts.
Why use Spec Driven Development?
Spec Driven Development eliminates “Vibe Coding”
Vibe coding happens when you type a vague prompt and let the AI guess your architecture, resulting in hidden bugs and technical debt. SDD replaces guesswork with an explicit contract of what to build
How the SDD workflow works
Most frameworks—such as the open-source GitHub Spec Kit—follow a structured lifecycle:
- Constitution & Context: You define project-wide rules, tech stacks, dependencies, and style guidelines in a foundational markdown file.
- Specify: You write or co-author a feature specification detailing user journeys, inputs, outputs, and acceptance criteria.
- Plan: The AI or architect maps out technical boundaries, file structures, and data models.
- Tasks: The plan breaks down into small, isolated, reviewable engineering tasks.
- Implement & Verify: AI agents write the code and unit tests based strictly on the spec, and developers review the output against the acceptance criteria.
Open Spec vs Spec Kit
GitHub Spec Kit and OpenSpec are both spec-driven development (SDD) tools that help developers write structured requirements before handing them off to AI coding agents.
- GitHub Spec Kit is a heavyweight, greenfield-first toolkit that enforces a strict, multi-phase planning pipeline.
- OpenSpec is a lightweight, brownfield-first framework built around fast, change-led delta tracking.
For my use case I will be using the GiHub Spec Kit
Leave a Reply