🧭 Spec-Driven & Structured-Prompt-Driven Development

Сравнительное исследование методов управления AI-разработкой · инсайты, кейсы, инструменты

📄 SPDD — Thoughtworks, 28.04.2026 🔍 Таксономия SDD — B. Böckeler 🛠 9 методов в сравнении 📅 данные на 25.09.2026

Ключевые цифры

7
слотов REASONS Canvas
6
шагов SPDD workflow
3
уровня зрелости SDD
~99%
выравнивание интента (кейс)
8
команд в openspdd
9
инструментов сравнено

REASONS Canvas — 7 слотов промпта

Abstract · intent & design
R
Requirements

Какую проблему решаем и что такое Definition of Done?

E
Entities

Доменные сущности, value objects и их связи

A
Approach

Стратегия: как достигнем требований

S
Structure

Куда изменение встраивается: компоненты, зависимости

Specific · execution
O
Operations

Абстрактная стратегия → конкретные тестируемые шаги, до сигнатур методов

Common standards · governance
N
Norms

Сквозные инженерные нормы: нейминг, наблюдаемость, защитное кодирование

S
Safeguards

Незыблемые границы: инварианты, лимиты производительности, безопасность

Три уровня зрелости SDD

УРОВЕНЬ 1

Spec-first

Спека пишется до задачи и используется в workflow, затем удаляется.

Все SDD-подходы как минимум здесь
УРОВЕНЬ 2 · SPDD здесь

Spec-anchored

Спека сохраняется после задачи для эволюции и поддержки. Правится вместе с кодом.

SPDD · Tessl · OpenSpec · cc-sdd
УРОВЕНЬ 3

Spec-as-source

Спека — основной файл. Человек правит только спеку, код генерируется.

Tessl (beta) · // GENERATED FROM SPEC

Правило двустороннего sync

🔧 Изменилась логика (поведение)

requirements → prompt → code
Сначала обнови Canvas через /spdd-prompt-update, потом перегенерируй код. Точечный дифф, не регенерация всего.

🧹 Рефакторинг (структура)

code → prompt
Сначала отрефактори код, потом /spdd-sync обратно в Canvas. Поведение не меняется — меняется запись.

⚖️ Золотое правило

Когда реальность расходится со спекой — сначала чини промпт, потом код. Так дрейф не накапливается: Canvas остаётся актуальным описанием системы, а не историческим снимком.

SPDD workflow — 6 шагов и команды

ШагКомандаЧто происходит
1 · Story/spdd-storyКрупное требование → user stories по INVEST (1–5 дней работы)
2 · Clarify—Человек уточняет, что story значит в бизнес-терминах: core logic, scope boundaries, DoD
3 · Analysis/spdd-analysisДоменные ключевые слова → скан релевантного кода → концепты, риски, направление
4 · Canvas/spdd-reasons-canvasПолный REASONS Canvas — исполняемый blueprint до сигнатур методов
5 · Generate/spdd-generate + /spdd-api-testКод задача за задачей по Operations/Norms/Safeguards; API-тесты; ревью
6 · Unit testsшаблонUnit-тесты последними — регрессионная сеть после стабилизации

Почему 6 шагов, а не «план → код»: когнитивная нагрузка. Один большой ревью → скимминг и апрув по умолчанию → дрейф интента.

Сравнение инструментов

ИнструментКтоУровень SDDWorkflowОсобенность
SPDD / openspddThoughtworksanchoredstory→analysis→canvas→generate→update/syncREASONS Canvas, двусторонний sync, governance-слоты
Spec KitGitHubfirst→constitution→specify→plan→tasks→implement→converge3 входа: SDD / bugfix / assessment. 30+ агентов
KiroAWSfirstrequirements→design→tasksСамый лёгкий. Bugfix specs, параллельные задачи (волны)
TesslTesslsourcetessl document / tessl build// GENERATED FROM SPEC, 1:1 spec↔code (beta)
OpenSpecFission-AIanchoredexplore→propose→apply→archive«Actions, not phases». Delta-specs, custom schemas
cc-sddgotalabanchoreddiscovery→init→req→design→tasks→implАвтономная имплементация + независимый ревьюер + auto-debug
BMAD MethodBMad CodeagileClarify / Plan / Build → LearnRight-sized процесс. Модули: Loop, Test Architect, Game Dev
Agent OSBuilder Methodsstandardsdiscover→inject→shapeФокус на стандартах: извлечь паттерны из кода, инжектить
SuperpowersPrime Radiantskillsbrainstorm→worktrees→plans→subagents→TDD→reviewМандаторные skills, TDD-first, автотриггер. 15+ харнессов

Как пользоваться: пошагово по каждому методу

🧭 SPDD / openspdd

1 openspdd init в проекте. 2 /spdd-story — требование → user stories. 3 Вручную: core logic, границы scope, DoD с числами. 4 /spdd-analysis — сканирует только релевантный код. 5 /spdd-reasons-canvas — 7 слотов. 6 /spdd-generate + /spdd-api-test + unit-тесты.
Дальше: логика изменилась → /spdd-prompt-update, рефакторинг → /spdd-sync. Правило: сначала промпт, потом код (для рефакторинга наоборот).

🌱 Spec Kit

1 uv tool install specify-cli. 2 specify init my-project --integration copilot. 3 /speckit-constitution — один раз на проект. 4 Цикл на фичу: /speckit-specify → /speckit-plan → /speckit-tasks → /speckit-implement → /speckit-converge (повторять до «Converged»).
Отдельные входы: specify extension add bug или assess. Артефакты: specs/00X-name/ (6–8 md) и .specify/.

🔷 Kiro (AWS)

1 Панель Specs → + (или Spec в чате). 2 Выбрать Feature или Bug. Для Bug создаётся bugfix.md из блоков current / expected / unchanged behavior. 3 Ревью трёх файлов: requirements.md → design.md → tasks.md. 4 Запуск задач: по одной или все (Kiro построит dependency graph и пойдёт волнами). Steering (product/tech/structure.md) — общий контекст. Для мелочей — Quick Spec.

🧩 Tessl (beta)

1 tessl document --code src/renderer.js — получить спеку из кода. 2 Править только .spec.md (теги @generate, @test). 3 tessl build — генерация кода. Код помечается // GENERATED FROM SPEC - DO NOT EDIT, руками не трогать. Один spec ↔ один файл. Уровень spec-as-source.

📐 OpenSpec

1 npm i -g @fission-ai/openspec → openspec init. 2 Создать openspec/config.yaml с context и rules. 3 Цикл: /opsx:explore → /opsx:propose name → /opsx:apply → /opsx:archive. 4 План поменялся — /opsx:update name - что изменилось, apply продолжит с того же места. Дельта-спеки (## ADDED / ## REMOVED / ## RENAMED) накапливаются в openspec/specs/.

🚀 cc-sdd

1 npx cc-sdd@latest (или --codex-skills --lang ru). 2 Точка входа: /kiro-discovery <идея> — сам маршрутизирует (расширить спеку / без спеки / одна / несколько). 3 Цикл: /kiro-spec-init → requirements → design → tasks → /kiro-impl. 4 /kiro-impl крутит автономно: свежий имплементер в TDD за feature flag + независимый ревьюер + auto-debug. Крупное — /kiro-spec-batch.

🎯 BMAD Method

1 npx skills add bmad-code-org/BMAD-METHOD (выбрать bmad, bmod-core-tools, bmod-method). 2 Попросить агента выполнить bmad setup. 3 Вызвать bmad-build с задачей — метод сам выберет вход: смутная идея → Clarify, большая ясная → Plan, мелкое → Build and verify. 4 bmad status — что делать дальше. Модуль BMad Loop собирает и верифицирует целый эпик без человека.

🏗 Agent OS

1 Установка скриптом из buildermethods.com/agent-os. 2 /discover-standards — извлечь из кода ваши реальные конвенции (нейминг, логирование, исключения). 3 /inject-standards — подложить релевантные под задачу. 4 /shape-spec — усиленное формирование спеки. 5 /index-standards — поддерживать порядок. Применять до спека-инструментов.

⚡ Superpowers

1 Установить под харнесс: hermes plugins install obra/superpowers --enable / /plugin install superpowers@claude-plugins-official / /add-plugin superpowers. 2 Проверка: написать «Let's make a react todo list» — рабочий install автотриггерит brainstorming до кода. 3 Дальше по цепочке без команд: brainstorm → worktree → план (2–5 мин на задачу) → subagent на задачу + ревью → TDD RED-GREEN → финальный ревью ветки. 4 Диагностика: «figure out what went wrong with superpowers in this session».

Fitness — где метод окупается

Масштабируемая стандартизированная доставка
★★★★★
Высокий compliance / жёсткие ограничения
★★★★★
Командная работа и аудируемость
★★★★☆
Сквозная консистентность (микросервисы)
★★★★☆
Hotfixes · spikes · одноразовые скрипты
★★☆☆☆
Context black holes · креативная/визуальная работа
★☆☆☆☆

10 инсайтов

01

Проблема не в генерации, а в управляемости. «Ferrari на грязной дороге»: локальная скорость ≠ throughput системы.

02

Промпт — артефакт первого класса. Версионируется рядом с кодом, ревьюится, переиспользуется.

03

REASONS = 7 слотов. Intent → design → execution → governance. Неизвестность сдвигается влево.

04

Двусторонний sync — ядро. Логика: prompt→code. Рефакторинг: code→prompt.

05

Три уровня зрелости. first → anchored → source. SPDD — anchored.

06

6 шагов — про когнитивную нагрузку. Один большой ревью не работает: скимят и апрувят по умолчанию.

07

Тесты не как в TDD. API-тесты раньше ревью, unit — последними. Интенция распределена.

08

Честные ограничения. Вариативность не устранена, hotfix откладывает governance, локальные модели не годятся.

09

Рынок размыт. «Spec» уже значит «детальный промпт». 9 инструментов — от лёгких до «Verschlimmbesserung».

10

Критерий Böckeler. Инструмент должен: держать разные размеры задач, давать хороший опыт ревью спеки, позволять итерации.

Что забрать в свой workflow

📌 Промпт рядом с кодом

Держите spec.md / REASONS-lite в репо, коммитьте вместе с изменением.

🔁 Sync — правило №1

Логика → спека сначала. Рефакторинг → спека после. Дрейф не накапливается.

✂️ Right-size процесс

Маленький баг ≠ Canvas на 16 AC. Лёгкий путь для мелочей, тяжёлый — для логически сложного.

🧩 Один чекпоинт = одно решение

Маленькие шаги вместо одного большого ревью плана.

🧪 Сначала границы системы

Дешевле проверить «что» (API-тест), чем глубоко ревьюить неработающее.

🎓 Для марафонов

REASONS-lite из 4–5 пунктов. Тренировать: abstraction-first, alignment, iterative review.

Источники: Martin Fowler / Thoughtworks (SPDD, 28.04.2026) · Birgitta Böckeler, Understanding SDD: Kiro, spec-kit, Tessl (15.10.2025) · README и доки Kiro, Spec Kit, Tessl, OpenSpec, cc-sdd, BMAD, Agent OS, Superpowers.
Подготовлено Hermes Agent · 25.09.2026 · полный текст — в .md-файле исследования