← Teams and process guides

How to explain SpecDD to your team

How-To Teams and process Beginner 1171000HOWTO-1171000

HOWTO-1171000Teams and processBeginner

This guide shows you how to explain SpecDD to an engineering team without turning it into a theory session.

SpecDD is an amazing way to make intent durable because specs live in the repository near the files they govern. Humans and agents can use the same source of truth for behavior, ownership, boundaries, local tasks, and completion criteria.

Short answer

Explain SpecDD as small, source-adjacent .sdd contracts. A spec says what a part of the project owns, what must remain true, what must not happen, what work remains, and how the team knows the work is done. Tickets still handle planning and prioritization. Tests still prove behavior. Specs preserve intent and authority near the work.

When to use this guide

Use this guide when:

Steps

1. Start with the problem

Use the team’s existing pain:

SpecDD exists to keep that context durable and close to the implementation.

2. Explain what a spec is

A .sdd file is a local contract for a project area.

Spec: Itinerary

Purpose:
  Keep a trip itinerary organized by day.

Owns:
  ./itinerary.js
  ./itinerary.test.js

Must:
  Reject itinerary items without a place name.

Must not:
  Change destination search behavior.

Done when:
  Missing-place behavior is covered by a check.

This is not a long requirements document. It is the local source of truth for one subject.

3. Show where specs live

Show the repository shape:

travel-planner/
  travel-planner.sdd
  src/
    trips/
      trips.sdd
      itinerary.js
      itinerary.sdd

The root spec gives project context. Parent specs add area context. Local specs define the nearest useful boundary. Same-basename specs can govern matching files in the same directory.

4. Separate specs from tickets and tests

Use simple distinctions:

The ticket may say why the work is scheduled. The spec says what must remain true after implementation.

5. Show the team workflow

Use the SpecDD loop:

  1. Write or update the relevant .sdd spec.
  2. Review the spec until behavior and boundaries are clear.
  3. Implement one spec or task at a time.
  4. Run tests and checks.
  5. Update task status and specs as needed.
  6. Review the diff against the spec.

The important rule is that implementation should be driven by reviewed specs, not by vague prompts or memory alone.

6. Start with one example

Pick one high-change or high-confusion area. Do not start by asking the team to spec the whole repository.

Good first examples:

Run one small spec-driven change so the team sees the loop in practice.

Talking points

Common mistakes

How to verify the result

The explanation worked when teammates can say:

← Teams and process guides