Build Better Software
Driven by Specifications

Spec Driven Development (SDD) is a methodology where clear, detailed specifications guide every step — from planning to implementation. Fewer bugs, predictable outcomes, and AI-aligned workflows.

What is Spec Driven Development?

Spec Driven Development (SDD) is a software development methodology where specifications are written first and drive every downstream decision — architecture, implementation, testing, and validation.

Fewer Bugs

When you specify behavior before writing code, edge cases are caught early — not in production.

Predictable Outcomes

Specs create a contract between intent and implementation, eliminating ambiguity and scope creep.

AI-Aligned Workflows

Detailed specs give AI coding assistants the context they need to generate accurate, purposeful code.

Choose Your SDD Tool

Different teams have different needs. Pick the SDD tool that fits your workflow.

OpenSpec embraces a lightweight, iterative approach to Spec Driven Development. It focuses on rapid proposal and refinement cycles, making it ideal for teams that prefer fluid workflows and minimal ceremony. Specs evolve naturally through a propose-apply-archive lifecycle.

Workflow

  1. Propose Draft a specification proposal describing the desired behavior or feature.
  2. Apply Implement the specification, using it as the source of truth for development.
  3. Archive Archive completed specs for reference, maintaining a living history of decisions.

Key Features

  • Minimal ceremony — start specifying in seconds
  • Fluid iteration with fast propose-apply cycles
  • Built-in archival for decision history
  • Works with any AI coding assistant
  • Language and framework agnostic

Spec Kit provides a structured, comprehensive approach to Spec Driven Development. It guides teams through a rigorous specification lifecycle from constitutional principles to implementation, ensuring consistency and quality at every step. Ideal for teams that value thorough planning and traceability.

Workflow

  1. Constitution Establish project-wide principles and quality gates that guide all specifications.
  2. Specify Write detailed feature specifications with user stories and acceptance criteria.
  3. Plan Generate implementation plans with architecture, data models, and technical research.
  4. Tasks Break plans into actionable, dependency-ordered tasks ready for execution.
  5. Implement Execute tasks with automated guidance, validation, and progress tracking.

Key Features

  • End-to-end specification lifecycle management
  • AI-powered spec generation and clarification
  • Automatic implementation planning and task breakdown
  • Built-in quality gates and verification
  • Extensible hook system for custom workflows

The SDD Workflow

A simple, repeatable process that turns ideas into well-specified, well-built software.

1 Define Identify the problem and desired outcomes.

Start by clearly articulating the problem you are solving and the outcomes you expect. Define success criteria, identify stakeholders, and establish the scope. This phase ensures everyone is aligned before any specification work begins.

2 Specify Write detailed, testable specifications.

Translate your problem definition into detailed specifications. Write user stories with acceptance criteria, document edge cases, and define the contract between what is needed and what will be built. Specifications become the single source of truth.

3 Plan Design architecture and implementation strategy.

Use your specifications to drive technical planning. Research technology options, design data models, define API contracts, and create an implementation plan. The spec constrains the design space, reducing over-engineering and scope creep.

4 Implement Build exactly what the spec defines.

Execute the plan by building what the specification describes — no more, no less. Specs guide AI coding assistants for accurate code generation. Tasks are dependency-ordered and verifiable against acceptance criteria at every step.

5 Validate Verify implementation matches the spec.

Compare the implementation against the original specification. Run acceptance scenarios, verify success criteria, and confirm that the delivered software matches what was specified. Close the loop between intent and outcome.

Growing Community

Spec Driven Development is adopted by developers and teams building better software every day.

107k+ GitHub Stars
10+ Supported AI Tools
170+ Contributors

Get Started with SDD

Pick a tool, read the docs, and start building software driven by specifications.