← Teams and process guides

How to use SpecDD in agile teams

How-To Teams and process Intermediate 1171003HOWTO-1171003

HOWTO-1171003Teams and processIntermediate

This guide shows you how to use spec-driven development in agile teams without replacing tickets, sprint planning, or delivery tracking.

SpecDD fits best when it handles durable implementation context while your agile process continues to handle priority, capacity, sequencing, and release coordination.

Short answer

Use tickets for planning across teams, prioritization, release tracking, product management, and long-running work. Use SpecDD specs for durable behavior, boundaries, local tasks, and completion criteria. During refinement, convert stable requirements into local specs. During implementation, complete one spec task at a time and review the diff against the spec before closing the ticket.

When to use this guide

Use this guide when:

Steps

1. Keep tickets for planning

Tickets remain useful for:

Do not force SpecDD to become your project-management system.

2. Use specs for durable behavior

Move durable local behavior into .sdd files:

Spec: Itinerary

Must:
  Reject itinerary items without a place name.

Must not:
  Change destination search behavior.

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

The ticket can close. The spec remains near the code.

3. Refine stories into local specs

During refinement, ask:

If the story is still uncertain, keep uncertainty visible with [?] tasks or ticket notes. Do not turn unresolved questions into permanent spec rules.

4. Implement one spec task at a time

Use local Tasks entries for small work packets:

Tasks:
  [ ] Add missing-place validation.

Then implement:

Implement the Itinerary validation task.

The ticket may contain several tasks. The implementation should still move through one local spec or small related group at a time.

5. Review against the spec

Pull request review should check:

This keeps agile delivery from becoming detached from the durable contract.

6. Close tickets with aligned specs

Before closing the ticket:

Do not close the ticket by leaving the spec stale for later.

Example

Ticket:

As a trip planner, I want itinerary items without a place name to be rejected.

Spec:

Must:
  Reject itinerary items without a place name.

Tasks:
  [ ] Add missing-place validation.

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

The ticket tracks delivery. The spec preserves the behavior and review contract.

Common mistakes

How to verify the result

SpecDD is fitting the agile process when:

← Teams and process guides