How-To Spec-writing technique 107HOWTO-107

Spec-writing technique

Cross-cutting SpecDD writing techniques that apply across levels and sections: write small local specs, choose the right level, name and place specs predictably, avoid duplication, review drafts, and capture edge cases, compatibility, performance, and observability without over-specifying.

← All How-To categories

16 guides Spec-writing technique
  1. Beginner 3 min read
    How to write good specs

    Good SpecDD specs are short, local, behavior-focused contracts that define ownership, constraints, tasks, and done criteria without broad vague prose.

    Read guide
  2. Beginner 3 min read
    How to keep specs small and maintainable

    Prefer many small SpecDD specs over one large one; keep each local, concise, and useful for the next implementation or review.

    Read guide
  3. Beginner 3 min read
    How to choose the right spec level

    Pick the smallest SpecDD level that owns the decision: root for inherited project context, module for area boundaries, and focused specs for local behavior.

    Read guide
  4. Beginner 3 min read
    How to start from a minimum viable spec

    Begin with the smallest useful SpecDD spec and grow it only when implementation, review, or agent behavior shows a real gap.

    Read guide
  5. Beginner 3 min read
    How to name SpecDD files

    Name .sdd files so humans, agents, and tools can find the right local spec: root by content root, local by same basename, suffixes only when useful.

    Read guide
  6. Beginner 3 min read
    How to place .sdd files in a repository

    Put specs near the files or areas they describe: root specs at the content root, directory specs in or beside directories, and local specs beside source files.

    Read guide
  7. Intermediate 3 min read
    How to split a large spec

    Break overgrown specs into local contracts without losing inherited context or write authority.

    Read guide
  8. Intermediate 3 min read
    How to avoid duplicating parent constraints in child specs

    Write inherited constraints once in the parent spec, then let child specs add or narrow local behavior without copying shared rules.

    Read guide
  9. Beginner 4 min read
    How to be explicit in a spec

    Explicit specs reduce hidden assumptions by saying what must happen, what must not happen, what may be touched, and how completion will be checked.

    Read guide
  10. Beginner 4 min read
    How to convert a feature idea into a spec

    Convert feature ideas into implementation-neutral specs that preserve intent, expose ambiguity, and give humans and agents a durable source of truth.

    Read guide
  11. Beginner 4 min read
    How to use specs as a source of truth

    Make specs the reviewed, versioned source of truth by putting intended behavior in the repository, keeping it synced with code, and reviewing changes against it.

    Read guide
  12. Intermediate 4 min read
    How to review a draft spec before using it

    A draft spec should become authority only after review confirms the intended behavior, ownership, boundaries, ambiguity, and testability.

    Read guide
  13. Intermediate 4 min read
    How to write specs for edge cases

    Capture important edge cases in specs with explicit behavior, scenarios, handlers, errors, boundaries, and completion criteria without listing every impossible case.

    Read guide
  14. Intermediate 4 min read
    How to write specs for backwards compatibility

    Use specs to preserve backwards compatibility by naming stable contracts, allowed changes, forbidden breakage, versioning, deprecation, and test expectations.

    Read guide
  15. Intermediate 4 min read
    How to write specs for performance constraints

    Use specs to capture real performance constraints as measurable, reviewable behavior while avoiding brittle premature implementation rules.

    Read guide
  16. Intermediate 4 min read
    How to write specs for observability

    Use specs to define useful observability behavior, including what to log, measure, trace, alert on, audit, and never record.

    Read guide

More How-To categories