Техническое задание: структура, требования и критерии приёмки

Без ТЗ проект быстро превращается в игру «Угадайка». Исполнитель додумывает, заказчик надеется, сроки растут, а в финале выясняется, что все «вспоминали договоренности иначе».

3 мин чтения531 словЦифровые навыки
Александр Владимиров
Александр Владимиров
Автор CompanionAI
Техническое задание: структура, требования и критерии приёмки

Нормальное ТЗ — это не 40 страниц текста. Это документ, который фиксирует: границы работ, сценарии, требования и критерии «готово». Мы уже провели декомпозицию задач и постановку целей, теперь пришло время зафиксировать это на бумаге перед тем, как отдавать задачу в дизайн и код.

Главное правило: ТЗ начинается с границ

Напишите две строки, и вы спасете 50% бюджета и нервов:

  • Входит в задачу (Scope): Четкий список фич и страниц.
  • НЕ входит в задачу (Out of scope): То, что мы сознательно откладываем или не делаем.

Авторское примечание: Пока эти границы не зафиксированы, фраза «А еще надо бы добавить...» будет преследовать вас до самого релиза.

Структура ТЗ: Скелет проекта

Если в вашем документе есть эти 6 блоков, проект можно делать без лишней мистики. (ссылки/макеты/доступы)
БлокЗачем это нужно?
Цель и метрикиЧтобы понимать, зачем мы вообще тратим деньги (например, +10% к конверсии).
User Stories2–6 ключевых сценариев. Как именно пользователь решит свою задачу.
ФункционалЧто система должна уметь (кнопки, поля, логика).
НефункционалСкорость загрузки, безопасность, SEO, адаптивность.
ИнтеграцииКуда улетают данные (CRM, почта, аналитика) и что делать, если API «лежит».
Критерии приёмкиСписок чек-боксов, после которых работа считается выполненной.

Как писать требования, чтобы их поняли

Главный враг ТЗ — прилагательные «удобно», «красиво», «быстро». Разработчик не может запрограммировать «красоту».

Сравним подходы:

Плохо (непроверяемо)Хорошо (ТЗ здорового человека)
Сделать удобную формуПоля валидируются в реальном времени; обязательные поля подсвечены красным при ошибке.
Сайт должен быстро грузитьсяСкорость загрузки страницы по Google PageSpeed — не менее 90 баллов для Desktop.
Интегрировать с CRMПри сабмите формы данные передаются в метод POST /leads в формате JSON.

Критерии приёмки: где заканчиваются споры

Критерии приёмки — это список “готово/не готово”, который закрывает вкусовщину.

Пример для формы сбора данных:

  • обязательные поля валидируются, ошибки понятные;
  • успех/ошибка отображаются корректно;
  • заявка создаётся в CRM и содержит нужные поля;
  • события аналитики фиксируются;
  • на мобильном экране форма не ломает верстку;
  • обработаны крайние случаи: нет сети, таймаут, дубль заявки.

Частая ошибка

Частая ошибка — написать ТЗ, отправить и считать, что “всё решено”. На практике документ начинает работать только после короткого цикла согласования. Лучший формат такой: сначала выравниваете понимание по scope/out of scope и сценариям (это 15–30 минут), затем уточняете требования и крайние случаи (ошибки, отсутствие сети, дубли, ограничения тарифов/ролей), и только потом фиксируете критерии приёмки. В конце обязательно назначается “владелец ТЗ” — человек, который собирает правки и ведёт версионность. Иначе документ превращается в чат с комментариями, где никто не знает, какая версия актуальная.

ТЗ — это не бюрократия, а страховка от “угадайки”. Один раз фиксируете границы, сценарии и критерии — и дальше работа идёт по рельсам. Важный нюанс: ТЗ не должно быть “идеальным”. Оно должно быть достаточным, чтобы команда одинаково понимала задачу и могла ответить на вопрос “готово или нет” без философии и вкусовщины. Если в процессе всплывают уточнения — это нормально. Ненормально, когда уточнения появляются в момент приёмки и превращаются в “мы думали, что вы сами догадаетесь”.