﻿---
title: Spec-Driven Development (SDD)
description: Подход к разработке, в котором явная и проверяемая спецификация направляет планирование, реализацию и приемку изменений.
---

## Что такое SDD

**Spec-Driven Development (SDD)** — подход, в котором спецификация служит основным рабочим ориентиром на протяжении изменения: из неё выводят план, реализацию и проверки, а при изменении требований обновляют саму спецификацию. Это помогает уменьшить разрыв между тем, что заказано, тем, что написано, и тем, что проверено.

SDD не означает, что нужно заранее описать весь продукт до мелочей. Спецификация должна быть достаточно конкретной для текущего изменения и оставаться соразмерной его риску.

## Минимальная спецификация задачи

Для небольшой функции достаточно зафиксировать:

- проблему и затронутых пользователей;
- ожидаемое поведение и сценарии отказа;
- ограничения, зависимости и то, что не входит в задачу;
- критерии приемки, которые можно проверить;
- открытые вопросы и допущения.

Для AI-агента такой документ становится общей опорой: агент может предложить план, реализацию и тесты, а человек сверяет каждый результат с требованиями. Неясность лучше оформить как вопрос, чем превращать в молчаливое допущение.

## Рабочий цикл

1. Согласовать границы и критерии задачи.
2. Проверить спецификацию на противоречия и пробелы.
3. Получить план реализации и проверить его до изменений кода.
4. Реализовывать небольшими проверяемыми частями.
5. Сопоставить код и тесты с критериями приемки.
6. Обновить спецификацию, если решение или требование изменилось.

SDD хорошо сочетается с [TDD](https://wpcraft.ru/kb/ai/coding/tdd.md): спецификация задаёт требуемое поведение, а тесты фиксируют отдельные проверяемые примеры. Общий контекст процесса описан в статье [SDLC и разработка с AI](https://wpcraft.ru/kb/ai/coding/sdlc.md).

## Типичные ошибки

- Спецификация превращается в длинный документ, который никто не поддерживает.
- План агента принимают за доказательство правильности требований.
- Критерии сформулированы как детали реализации вместо наблюдаемого поведения.
- Код и тесты меняются, а актуальная спецификация остаётся прежней.

## Материалы и источники

- [Исходное видео об AI-driven SDLC](https://www.youtube.com/watch?v=zbmuiaPuiNM)