← Teams and process guides

How to decide what belongs in a ticket vs a spec

How-To Teams and process Beginner 1171004HOWTO-1171004

HOWTO-1171004Teams and processBeginner

This guide shows you how to decide what belongs in a ticket and what belongs in a SpecDD spec for a spec-driven development workflow.

The short version is: tickets coordinate work; specs define the durable local contract. Teams need both.

Short answer

Use tickets for planning across teams, prioritization, release tracking, product management, and long-running work. Use SpecDD specs for local implementation steps, behavior that must remain true, ownership, constraints, non-goals, dependencies, scenarios, and Done when criteria. A ticket can point to the relevant spec, but it should not be the only place durable behavior lives.

When to use this guide

Use this guide when:

Steps

1. Use tickets for delivery coordination

Keep tickets responsible for:

Tickets answer: why now, who is coordinating, what release, and what broader work stream?

2. Use specs for durable contracts

Use .sdd specs for:

Specs answer: what must remain true in the repository after this work ships?

3. Move stable acceptance criteria into specs

Ticket acceptance criteria often become durable behavior.

Ticket:

Reject itinerary items without a place name.

Spec:

Must:
  Reject itinerary items without a place name.

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

When behavior should guide future changes, put it in the spec.

4. Keep local tasks in specs

SpecDD Tasks are local work packets:

Tasks:
  [ ] Add missing-place validation.
  [ ] Add a regression check for unchanged itinerary state.

Keep broad rollout tasks in tickets. Keep local implementation tasks in the spec that owns the work.

In the ticket, link or name the relevant spec:

Relevant spec: Itinerary

Do not copy the entire spec into the ticket. Duplication creates drift when one side changes.

In the spec, do not describe sprint timing, assignees, story points, or release labels. That belongs in the ticket.

6. Review both at the right time

Review tickets during planning and prioritization.

Review specs when behavior, authority, or implementation boundaries change. Specs define architecture and implementation authority, so they deserve review like code.

Decision table

InformationTicketSpec
Priorityyesno
Release targetyesno
Team coordinationyesno
Local behaviormaybe summaryyes
Ownership and writable filesnoyes
Must not boundariesnoyes
Local implementation tasksmaybe linkyes
Completion criteria for behaviormaybe summaryyes
Assignee and scheduleyesno

Common mistakes

How to verify the result

Your split is working when:

← Teams and process guides