Learn (Almost) Anything
КаталогСкачать курс

От промптов к спекам с AI-агентами

Как договориться, кто владеет «что» (продакт/аналитик) и кто — «как» (разработчик), чтобы спека стала общим артефактом, а не лишней бюрократией. Где живут спеки, как ревьюить их как код, как мягко перевести команду от ad-hoc промптов к spec-first без сопротивления. Набросок лёгкого процесса и шаблона спеки под вашу команду.

ruМини-курс6 уроков1 модуль8
Spec Driven DevelopmentAI-агентамиSpec Driven Development на выходныхот спеки до приёмкиspecdrivendevelopmentпромптовспекамагентами

Внедрение SDD в команде с продактом и аналитиком

Как договориться, кто владеет «что» (продакт/аналитик) и кто — «как» (разработчик), чтобы спека стала общим артефактом, а не лишней бюрократией. Где живут спеки, как ревьюить их как код, как мягко перевести команду от ad-hoc промптов к spec-first без сопротивления. Набросок лёгкого процесса и шаблона спеки под вашу команду.

Внедрение SDD в команде с продактом и аналитиком

В предыдущих подмодулях вы прошли весь цикл в одиночку: спека, clarify-цикл, tasks.md, реализация, приёмка. Теперь тот же цикл — в команде, где есть продакт или аналитик со своим взглядом на то, что должна делать фича.

Почему спека кажется бюрократией — и что с этим делать

Первая реакция, когда показываешь коллеге шаблон из шести разделов: «Зачем это писать, если можно объяснить на звонке?» Честный вопрос.

Устное объяснение быстро работает здесь и сейчас. Через три дня разработчик помнит одно, продакт — другое, а агент не помнит вообще ничего. Спека решает именно это: не «задокументировать для порядка», а создать источник правды, который агент читает при каждом запуске.

Аргумент, который работает на практике: спека не добавляет работу — она переносит её в начало, пока правки стоят дёшево. Уточнить требование в тексте — пять минут. Переделать готовый модуль из-за неверной интерпретации — несколько часов.

Стоимость исправления ошибки многократно возрастает с каждой следующей стадией разработки.

Кто владеет «что» и кто — «как»

В подмодуле 2 мы разделили спеку на «что» (требования) и «как» (дизайн). В команде это разделение становится разделением ответственности.

Продакт / аналитик — владелец разделов «Цель», «Не-цели» и «Требования». Они знают бизнес-контекст, понимают, чего хочет пользователь, и видят, что явно выходит за скоуп. Агент не должен угадывать бизнес-логику — её пишет человек, знающий её изнутри.

Разработчик — владелец «Дизайна», «Граничных случаев» и «Критериев готовности». Он видит технические ограничения стека, понимает, какие edge-кейсы опасны, и знает, как именно проверить, что пункт выполнен.

Разделение не жёсткое. Критерии готовности часто пишутся вместе: продакт знает «что считается успехом», разработчик — «как это проверить». Граничные случаи иногда диктует продакт («а что, если пользователь сделает вот так...»). Но владение однозначное: продакт не трогает «Дизайн», разработчик не меняет «Цель» без обсуждения.

flowchart TD A["Продакт / аналитик"] -->|пишет| B["Цель · Не-цели · Требования"] C["Разработчик"] -->|пишет| D["Дизайн · Граничные случаи · Критерии готовности"] B --> E["Pull Request — specs/feature.md"] D --> E E --> F["Clarify-цикл с агентом — вместе"] F -->|вопросы есть| E F -->|вопросов нет| G["merge → /specs"] G --> H["tasks.md → реализация → приёмка"]
flowchart TD
    A["Продакт / аналитик"] -->|пишет| B["Цель · Не-цели · Требования"]
    C["Разработчик"] -->|пишет| D["Дизайн · Граничные случаи · Критерии готовности"]
    B --> E["Pull Request — specs/feature.md"]
    D --> E
    E --> F["Clarify-цикл с агентом — вместе"]
    F -->|вопросы есть| E
    F -->|вопросов нет| G["merge → /specs"]
    G --> H["tasks.md → реализация → приёмка"]
Кто пишет что — и как спека движется к коду

Спека как общий артефакт: в репозитории, как код

Спеки живут в /specs — там, где мы их завели в первом подмодуле. Не в Confluence, не в Notion и не в Jira-описании задачи. Причина проста: агент читает файлы из репозитория. Когда спека в /specs, её можно положить в контекст одной командой — и она всегда синхронизирована с кодом.

Репозиторий с папкой /specs рядом с кодом — спека и реализация живут в одном месте.

Для команды это означает ещё одно: спеку можно ревьюить как код.

Продакт открывает pull request с файлом specs/checkout-flow.md — только разделы «Цель», «Не-цели» и «Требования». Разработчик ревьюит его в обычном PR-интерфейсе, добавляет «Дизайн» и «Граничные случаи» туда же. Clarify-цикл с агентом (как в подмодуле 3) запускается до мерджа. После согласования — мердж.

Pull Request со спекой в GitHub: изменения в markdown-файле и комментарии от двух участников.

Это снимает типичную проблему: «мы это обсуждали, но где записано?» Записано в PR-комментариях и в финальном файле в репозитории.

Минимальный командный процесс:

1. Продакт создаёт specs/feature-name.md — Цель, Не-цели, Требования
2. Открывает PR, тегает разработчика
3. Разработчик дополняет Дизайн, Граничные случаи, Критерии готовности
4. Вместе запускают clarify-цикл с агентом — один шарит экран
5. После двух раундов вопросов — merge
6. Разработчик создаёт tasks.md, берёт задачи в работу
7. Приёмка — по критериям готовности из спеки

Как перевести команду без сопротивления

Не начинайте с «у нас теперь новый процесс». Начните с одной фичи.

Выберите задачу, которая достаточно велика, чтобы недопонимание болело, — но не критичную для продакшена. Напишите спеку сами по шаблону из подмодуля 2. Покажите продакту: «Посмотри, правильно ли я понял требования» — и попросите его поправить раздел «Требования». Никакого SDD, никакого процесса. Просто «хочу убедиться, что понял задачу верно».

После того как фича сделана, покажите разницу: вот спека, вот код, вот как проходила приёмка — и вот сколько раз не пришлось переспрашивать в мессенджере. Это убеждает лучше любой презентации.

Второй распространённый страх — «это займёт слишком много времени». На практике спека к небольшой фиче пишется за 20–30 минут — ровно столько, сколько уходит на типичную «синхронизацию» в Zoom. Разница в том, что в конце звонка ничего не зафиксировано, а в конце спеки — зафиксировано всё.

Шаблон для команды

Шаблон из подмодуля 2 подходит как основа. Для командной работы добавьте три строки в начало:

# [Название фичи]

**Владелец требований:** @имя-продакта  
**Владелец дизайна:** @имя-разработчика  
**Статус:** черновик | на ревью | согласовано | в работе | готово

## Цель
...

Статус — самый полезный добавок. Когда спек становится больше пяти, «на ревью» или «согласовано» экономит время: не нужно открывать файл, чтобы понять, можно ли уже ставить задачу в tasks.md.

Что не работает

Несколько паттернов, которые кажутся разумными, но ломаются на практике.

Спека как жёсткий блокер. «Разработчик не берёт задачу без финальной спеки» создаёт очереди. Разработчик может начать «Дизайн» параллельно, пока продакт дорабатывает «Требования». Clarify-цикл — когда оба черновика готовы, не раньше.

Спека вне репозитория. Confluence или Notion удобны для людей, но агент туда не смотрит. Дублировать в двух местах — плохо: они неизбежно расходятся. Один источник правды — /specs.

Слишком длинный шаблон. Если шаблон занимает больше одного экрана — его не заполняют полностью. Три неполных, но честных раздела лучше восьми с «N/A».

ИнтерактивКому принадлежит раздел?
Пять разделов спеки — нужно определить, кто их главный владелец: продакт/аналитик или разработчик. Помогает зафиксировать разделение ответственности.

Итог курса: что забрать

Вы прошли весь цикл за один выходной: от пустого репозитория до процесса, где спека живёт рядом с кодом, агент работает от документа, а приёмка — это чеклист, а не ощущение.

Три вещи, которые работают сразу:

1. CLAUDE.md как постоянный контекст — один раз написать, агент читает при каждом запуске автоматически.

2. Clarify-цикл до кода — правки в тексте дешевле, чем правки в коде.

3. Критерии готовности как договорённость — когда они есть, «готово» означает одно и то же для всех в команде.

Команда подключается без революции: продакт владеет «что», разработчик — «как», спека живёт в репозитории и ревьюится как PR. AI-агент из персонального инструмента становится общим фасилитатором уточнений, когда clarify-цикл запускают вместе — один шарит экран, второй отвечает на вопросы агента.

Начните с одной фичи. Не с процесса.

Самопроверка

  1. Почему, по мнению автора, спека не является бюрократией, а наоборот, экономит время?
  2. Как по статье разделяется ответственность между продактом и разработчиком в спеке?
  3. Почему автор рекомендует хранить спеки в `/specs` репозитория, а не в Confluence или Notion?
  4. Почему автор не рекомендует требовать полностью готовую спеку перед началом разработки?
  5. Как по совету автора внедрять SDD в команде?
  6. Что означает "Критерии готовности как договорённость"?
  7. Почему, по словам автора, спеки должны храниться в репозитории, а не в Confluence или Notion?
  8. Какой основной недостаток шаблона спеки автор выделяет в антипаттернах?

Домашние задания

Создайте спеку-шаблон для вашей командыdocument

Из статьи вы узнали, что спека должна быть адаптирована под команду: кто владеет требованиями, кто — дизайном, как отслеживать статус. Задача: - Опишите вашу команду (реальную или типичную: продакт, разработчик, может быть аналитик) - Создайте шаблон спеки, который будет работать в этой команде - Шаблон должен включать: все разделы из статьи (Цель, Не-цели, Требования, Дизайн, Граничные случаи, Критерии готовности) + поля владения + статус - Добавьте комментарий (2-3 абзаца): почему именно так, какие разделы пишет кто, как вы будете контролировать согласованность Выложите шаблон как .md-файл.

- Описание команды ясно показывает роли и ответственность - Шаблон включает все основные разделы: Цель, Не-цели, Требования, Дизайн, Граничные случаи, Критерии готовности - Добавлены поля: владелец требований, владелец дизайна, статус - Шаблон лаконичный, помещается на одном экране - Комментарий показывает понимание, зачем структура важна для командной работы - Шаблон реалистичный и применимый

Напишите спеку реальной фичиdocument

Выберите фичу из своего проекта (текущего или прошлого). Идеально — то, что вызывало вопросы при обсуждении, или то, где были переделки из-за недопонимания. Задача: - Напишите полную спеку, используя ваш шаблон (или шаблон из статьи) - Все разделы должны быть заполнены честно: если что-то не ясно, напишите как вопрос - Требования пишите с позиции пользователя или бизнеса, не реализации - Граничные случаи — реальные, которые могут случиться в продакшене - Критерии готовности должны быть проверяемы конкретными действиями Спека — инструмент, не произведение искусства. Не ищите идеальность. Выложите спеку как .md-файл.

- Все разделы спеки заполнены, не просто "N/A" - Требования специфичны, без деталей реализации - Дизайн показывает понимание вашего стека и технических ограничений - Граничные случаи — реальные сценарии, которые могут случиться - Критерии готовности формулируются как действия, которые можно выполнить и проверить - Спека читаема, без сленга и внутренних шуток - Объём разумный (1-2 экрана)

Сделайте ревью спеки и итерируйтеdocument

Статья подчёркивает: спека ревьюится как код, до кода. Нужно почувствовать, как это работает. Задача: - Представьте себя разработчиком, который вычитает спеку от продакта в PR - Оставьте 3-4 серьёзных вопроса или замечания в стиле PR-комментариев: - Что-то в "Требованиях" неоднозначно? - В "Граничных случаях" пропущено важное? - "Критерии готовности" проверяются ясно? - "Дизайн" реалистичен для вашего стека? - Исправьте спеку на основе этих замечаний - Напишите отчёт: какие вопросы вы задали, как их разрешили, почему спека стала лучше Это упражнение показывает, почему диалог до кода экономит часы. Выложите документ с четырьмя частями: 1. Исходная спека (из задания 2) 2. PR-замечания: "Замечание 1: ...", "Замечание 2: ..." 3. Исправленная спека 4. Отчёт (2-3 абзаца)

- Замечания указывают на реальные проблемы (не на стиль или орфографию) - Каждое замечание формулируется как вопрос, который разработчик мог бы задать в PR - Исправленная спека адресует все замечания содержательно - Отчёт объясняет логику каждого исправления - Отчёт показывает понимание: почему уточнение в спеке дешевле, чем правка кода - Документ хорошо структурирован и легко читается

Сдача и проверка заданий — в приложении Learn (Almost) Anything.