Methodology · Spec-Drivenemergingpartial

Requirements-First Spec Workflow

also known as Kiro spec workflow, EARS-based spec workflow, requirements-design-tasks

Applies to: coding-agentagentsoftware-teamregulated-software

Tags: spec-drivenrequirementsearscoding-agent

Drive the build from a structured requirements document, then a design, then tasks. Write requirements as user stories with EARS acceptance criteria of the form 'when X, the system shall Y'. Generate a design with architecture and data models from those requirements. Break the design into tasks the agent runs, independent ones first. A design-first variant flips the order when the architecture is the hard part.

Methodology process overview

Intent. Formalise a feature as testable requirements, then a validated design, then dependency-ordered tasks an agent can execute.

When to apply. Use this when a feature is complex enough that jumping to code loses requirements, and when you want acceptance criteria you can check implementation against. It suits regulated or interface-heavy work where 'the system shall' statements matter. Don't apply the requirements-first order when the architecture is the genuinely hard part; use the design-first variant then.

Inputs

  • Feature or bug to formaliseThe change to make, ready to be turned into user stories and acceptance criteria.
  • Existing codebase contextThe current architecture and code the design must fit into.
  • Spec-driven IDE or agentTooling such as Kiro that generates requirements, design, and a runnable task list.

Outputs

  • Requirements documentUser stories with EARS acceptance criteria that state, testably, what the system shall do.
  • Design documentArchitecture, component interfaces, and data models, with diagrams, that satisfy the requirements.
  • Dependency-ordered task listThe design broken into tasks with their dependencies, ready to run independent ones in parallel.

Steps (5)

  1. Gather requirements in EARS

    Write user stories with acceptance criteria in the form 'when X, the system shall Y'. The constraint forces each criterion to be checkable.

    usesPre-Flight Spec Authoring

  2. Generate the design

    Turn approved requirements into a design document: architecture, interfaces, and data models, with diagrams, fitted to the existing code.

  3. Break into a dependency-ordered task list

    Decompose the design into tasks and record which depend on which, so independent work can run in parallel.

    usesPlan-and-Execute

  4. Run tasks in waves

    Execute tasks by dependency wave: all tasks with no unmet dependencies run together, then the next wave once theirs are satisfied.

    usesSpec-Driven Loop

  5. Check against acceptance criteria

    Verify each finished task against its EARS criteria. Every 'shall' is either demonstrably met or it is not done.

    usesHuman-in-the-Loop

Framework-specific instructions

Pick a framework and generate a framework-targeted rewrite of this methodology's steps.

Choose framework

AI-generated for GitHub Spec Kit (GitHub) — verify against official docs.

Principles

  • EARS phrasing earns its keep only if every 'shall' is actually checkable.
  • Requirements before design, unless the architecture is the hard part.
  • Make task dependencies explicit so independent work can run in parallel.
  • Acceptance criteria are the contract; check finished work against them.

Known failure modes (2)

Related patterns (4)

Related compositions (2)

Related methodologies (1)

Sources (2)

Provenance

  • Added to catalog:
  • Last updated:
  • Verification status: partial