Understanding Spec-Driven-Development: Kiro, Spec-Kit, and Tessl
3 days ago
- #spec-driven-development
- #AI-assisted-development
- #coding-tools
- Spec-Driven Development (SDD) is an emerging AI coding approach where specifications (specs) are written before code, serving as the source of truth for both humans and AI.
- SDD tools like Kiro, spec-kit, and Tessl vary in implementation levels: spec-first, spec-anchored, and spec-as-source.
- A 'spec' is a structured, behavior-oriented artifact in natural language that guides AI coding agents, differing from general context documents like memory banks.
- Kiro follows a lightweight, spec-first workflow with three markdown documents: Requirements, Design, and Tasks.
- Spec-kit by GitHub uses a constitution as a memory bank and involves multiple workflow steps (specify, plan, tasks) with extensive markdown files.
- Tessl Framework aims for spec-anchored and spec-as-source development, where specs are the primary artifacts and code is generated from them.
- Challenges with SDD tools include workflow suitability for different problem sizes, tedious review processes, and maintaining control over AI-generated outputs.
- SDD tools may amplify existing issues like review overload and hallucinations, raising questions about their real-world effectiveness.
- The term 'spec-driven development' is still semantically diffused, with varying interpretations and implementations across tools.