Процесс · 9 мин чтения
Как составить техническое задание на разработку
Структура ТЗ на бота, сайт или приложение: цели, роли, сценарии, интеграции и нефункциональные требования. Шаблон из 9 разделов, пример для сайта и типичные ошибки.
Опубликовано: Обновлено: Автор: команда B2B-Lab
Хорошее техническое задание экономит не страницы, а деньги: по нему подрядчик называет цену, которая не «уплывёт» через месяц, а вы принимаете работу по понятным критериям. Плохое ТЗ — это либо три строчки «нужен сайт как у конкурентов», либо 80 страниц требований, которые никто не дочитал до конца.
Ниже — практическое руководство, как составить техническое задание на бота, сайт, приложение или платформу, даже если вы не технический специалист. Разберём структуру, покажем фрагмент реального по формату ТЗ, перечислим ошибки, которые чаще всего приводят к переделкам, и расскажем, как получить предварительную оценку без долгой переписки.
Зачем нужно ТЗ и чем оно отличается от брифа
Бриф отвечает на вопрос «что за бизнес и какая задача». ТЗ отвечает на вопрос «что именно должно получиться и как мы поймём, что это готово». Бриф заполняют за полчаса, ТЗ собирают от нескольких дней до пары недель — в зависимости от масштаба продукта.
У техзадания три практические функции:
- Оценка. Без перечня ролей, сценариев и интеграций любая цена — это гадание. Разброс оценок одного и того же «сайта» у разных подрядчиков в 3–5 раз обычно объясняется тем, что каждый представил себе свой сайт.
- Договорённость. ТЗ фиксирует объём работ. Всё, что в него не вошло, — изменение объёма, которое обсуждается отдельно, а не «ну это же очевидно».
- Приёмка. Каждое требование должно проверяться: «форма заявки отправляет данные в CRM за 5 секунд» проверить можно, «удобная форма» — нельзя.
Для небольших задач — простого бота или лендинга — достаточно короткого ТЗ на 2–4 страницы. Для платформы или мобильного приложения документ вырастает до 15–40 страниц, и его обычно дорабатывают вместе с подрядчиком на этапе прототипа.
Шаблон ТЗ на разработку: 9 обязательных разделов
Этот шаблон ТЗ на разработку подходит для любого цифрового продукта: Telegram-бота, сайта, Mini App, мобильного приложения или маркетплейса. Разделы можно сокращать, но не выбрасывать — пустой раздел лучше, чем забытый.
| Раздел | Что в нём | Пример формулировки |
|---|---|---|
| 1. Цель и метрики | Какую бизнес-задачу решает продукт и как измерить успех | Снизить нагрузку на операторов: 60% обращений закрывает бот без человека |
| 2. Аудитория и роли | Кто пользуется продуктом и какие у кого права | Клиент, менеджер, администратор; менеджер видит только свои заявки |
| 3. Пользовательские сценарии | Пошаговые пути ключевых действий | Клиент выбирает услугу → дату → оплачивает → получает подтверждение |
| 4. Функции | Перечень функций с приоритетами | Must: каталог, корзина, оплата. Could: промокоды |
| 5. Интеграции | С какими системами обмениваться данными и в какую сторону | Заказы уходят в 1С, статусы возвращаются в личный кабинет |
| 6. Платформы и дизайн | Где работает продукт, есть ли брендбук и макеты | Веб + iOS + Android, фирменный стиль есть, макетов нет |
| 7. Данные и безопасность | Персональные данные, хранение, доступы, размещение | ПДн по 152-ФЗ, серверы в РФ, вход для сотрудников по 2FA |
| 8. Нефункциональные требования | Нагрузка, скорость, доступность, поддержка браузеров | До 500 одновременных пользователей, страница грузится до 2 с |
| 9. Ограничения и приёмка | Бюджет, сроки, этапы, критерии сдачи | Запуск MVP до 1 декабря, приёмка по чек-листу сценариев |
Если продукт сложный, добавьте глоссарий (что вы называете «заказом», «сделкой», «клиентом») и приложения: примеры документов, выгрузки из текущих систем, скриншоты конкурентов с пометками «нравится» и «не нравится».
Как написать ТЗ на разработку: сценарии вместо списка функций
Главная ошибка — описывать продукт как набор экранов и кнопок. Разработчику важнее понять, кто, зачем и в какой последовательности совершает действия. Поэтому, если вы разбираетесь, как написать ТЗ на разработку так, чтобы его поняли одинаково, начинайте со сценариев.
Формула пользовательской истории
Используйте простой шаблон: «Как [роль], я хочу [действие], чтобы [результат]». Например: «Как менеджер, я хочу получать уведомление в Telegram о новой заявке, чтобы связаться с клиентом в течение 15 минут».
Критерии приёмки к каждой истории
К каждой истории добавьте 2–5 проверяемых условий. Для примера выше:
- уведомление приходит не позднее 10 секунд после отправки формы;
- в уведомлении есть имя, телефон, выбранная услуга и источник заявки (UTM-метка);
- кнопка «Взять в работу» меняет статус заявки и скрывает её у других менеджеров;
- если менеджер не ответил за 15 минут, уведомление получает руководитель.
Так пишутся требования, по которым можно и оценить работу, и принять её. Для ботов и Mini App это особенно важно: логика там живёт в диалоге, и без сценариев подрядчик вынужден додумывать. Подробнее о том, как мы проектируем карты состояний, — на странице разработки Telegram-ботов.
Приоритеты: MoSCoW
Разметьте каждую функцию: Must (без неё продукт не запускается), Should (нужна, но можно через месяц), Could (приятно иметь), Won't (точно не в этой версии). Эта разметка — основа первой версии продукта; как отобрать функции для запуска, мы подробно разбирали в статье о разработке MVP.
Нефункциональные требования, о которых забывают
Функции описывают, что продукт делает. Нефункциональные требования — как он это делает. Именно они чаще всего всплывают после запуска и стоят дороже всего, если о них не договорились заранее.
- Нагрузка: сколько пользователей ожидается в первый месяц и через год, есть ли пики (распродажи, рассылки).
- Скорость: целевое время загрузки страниц и ответа бота; для сайтов — ориентир по Core Web Vitals.
- Доступность: допустимое время простоя, нужен ли мониторинг и дежурство.
- Безопасность: какие данные храним, кто к ним имеет доступ, нужна ли двухфакторная авторизация, журнал действий.
- Персональные данные: обработка по 152-ФЗ, локализация хранения в РФ, согласия и политика конфиденциальности.
- Размещение: ваше облако, собственные серверы или закрытый контур без доступа в интернет.
- Поддержка: браузеры, версии iOS и Android, языки интерфейса, доступность для людей с нарушениями зрения.
- Передача: документация, доступы, репозиторий на вашем аккаунте, инструкция по развёртыванию.
Пример технического задания на сайт
Ниже — сокращённый пример технического задания на сайт производственной компании. Он умещается на двух страницах и уже позволяет получить точную оценку.
- Цель: получать заявки на расчёт оборудования от B2B-клиентов; ориентир — 40 квалифицированных заявок в месяц через 3 месяца после запуска.
- Аудитория: инженеры и снабженцы предприятий, 70% заходят с десктопа.
- Роли: посетитель; контент-менеджер (правит каталог и новости); администратор (доступы, настройки).
- Структура: главная, каталог из 6 категорий и ~120 позиций, карточка товара с PDF-спецификацией, кейсы, о компании, контакты, блог.
- Ключевой сценарий: посетитель находит позицию через фильтр → открывает карточку → нажимает «Запросить КП» → заполняет форму из 4 полей → заявка уходит в Bitrix24 и в Telegram отдела продаж.
- Интеграции: Bitrix24 (создание лида), Яндекс Метрика с целями, выгрузка каталога из 1С раз в сутки.
- Дизайн: брендбук есть, нужен UX-прототип и адаптив для мобильных.
- Нефункциональные требования: загрузка страницы до 2 секунд на 4G, техническое SEO и микроразметка, хостинг в РФ.
- Приёмка: все сценарии из п. 5 проходят на тестовом стенде, формы доходят в CRM, Lighthouse Performance — от 90.
Обратите внимание: здесь нет слов «современный», «удобный» и «продающий». Зато есть цифры, роли, сценарий и критерии. По такому документу подрядчики называют сопоставимые цены, а вы сравниваете предложения, а не фантазии. Посмотреть, какие сайты и веб-приложения мы делаем и из чего складывается работа, можно в разделе разработки сайтов.
Частые ошибки в ТЗ и как их избежать
| Ошибка | Чем оборачивается | Как исправить |
|---|---|---|
| «Как у Avito, только лучше» | Оценка от 1 млн до 30 млн — все представили разное | Выпишите 3–5 конкретных функций референса, которые нужны вам |
| Нет ролей и прав | Переделка логики доступа после запуска | Таблица «роль × действие» на одну страницу |
| Интеграции «по ходу разберёмся» | Сдвиг сроков на недели, если у системы нет API | Заранее проверить, есть ли API и кто даст доступ |
| Всё в приоритете Must | Бюджет первой версии растёт в 2–3 раза | Разметка MoSCoW и честный отбор для запуска |
| Нет критериев приёмки | Споры на сдаче, бесконечные доработки | 2–5 проверяемых условий к каждому сценарию |
| ТЗ пишется в одиночку | Упущены требования продаж, поддержки, бухгалтерии | Интервью с каждым будущим пользователем внутри компании |
Ещё одна ловушка — пытаться описать всё до последней кнопки ещё до прототипа. Детали интерфейса быстрее и дешевле решаются на кликабельном прототипе: вы видите экраны, нажимаете, меняете. ТЗ задаёт рамку, прототип её наполняет.
Онлайн-опросник: ТЗ без чистого листа
Самое сложное — начать. Поэтому на сайте есть онлайн-опросник для составления ТЗ: он превращает структуру выше в последовательность вопросов с подсказками и вариантами ответов. Писать с нуля не нужно — большинство пунктов выбираются кнопками. Опросник состоит из 7 разделов:
- О вас — контакты, компания, ваша роль в проекте.
- О продукте — тип продукта, цель, стадия, текущий стек, референсы и ссылки на документы.
- Пользователи и роли — аудитория, роли, масштаб, география, проблема пользователя.
- Функциональность — функции, обязательный минимум, оплаты, интеграции.
- Платформы и дизайн — где работает продукт, дизайн, брендинг, контент.
- Данные, AI и безопасность — нужен ли AI, миграция данных, требования к безопасности и размещению.
- Бюджет, сроки и процесс — бюджет, дедлайн и его причина, поддержка, ваше участие.
Сразу после отправки вы получаете предварительную оценку. Она справочная: точную стоимость называем после проработки ТЗ вместе с вами. Ориентиры по ценам на все направления собраны на странице цен на разработку.
Вопросы и ответы
Кто должен составлять техническое задание — заказчик или исполнитель?
Цели, аудиторию, сценарии и ограничения формулирует заказчик, потому что знает бизнес. Технические разделы — архитектуру, интеграции, нефункциональные требования — удобнее дорабатывать вместе с исполнителем на этапе проработки.
Сколько страниц должно быть в ТЗ?
Для бота или лендинга хватает 2–4 страниц, для сайта с каталогом и интеграциями — 5–10, для платформы или мобильного приложения — 15–40. Важен не объём, а то, что каждое требование можно проверить.
Можно ли начать разработку без ТЗ?
Можно, если работа идёт короткими спринтами с еженедельными демо и оплатой по факту. Но для фиксированной цены и сроков без ТЗ не обойтись: без него оценка остаётся гаданием.
Что делать, если требования поменялись в процессе?
Фиксировать изменения письменно: что добавляется, что убирается, как это влияет на сроки и бюджет. Хорошая практика — отдельный реестр изменений, который согласуют обе стороны.
Чем ТЗ отличается от брифа?
Бриф описывает бизнес и задачу в общих чертах и нужен для первой оценки. ТЗ детально фиксирует роли, сценарии, функции, интеграции и критерии приёмки и становится частью договора.