Техническое задание (ТЗ) на разработку: как написать без воды и получить точную оценку
Если вы гуглите “техническое задание на разработку”, “шаблон ТЗ”, “пример ТЗ на сайт/веб‑приложение/мобильное приложение/Telegram‑бота” — обычно причина одна: вы хотите предсказуемые сроки и бюджет, а не “примерно 2–3 недели” с бесконечными допработами.
Ниже — практичная структура ТЗ, которую реально читает команда, и которая позволяет:
- быстро понять, что именно нужно сделать
- дать оценку сроков разработки и стоимости с рисками
- избежать “не так поняли” и переработок
Что такое хорошее ТЗ (в одной фразе)
Хорошее ТЗ — это набор проверяемых требований: что должно работать, для кого, в каких сценариях, какие ограничения по безопасности/скорости/интеграциям, и по каким критериям мы считаем задачу выполненной.
Не нужно “роман” на 40 страниц. Нужно ясно и проверяемо.
1) Самая короткая версия ТЗ (если времени мало)
Если вы хотите “поставить задачу разработчику” быстро, то минимум — это 9 блоков:
- Цель (зачем проект бизнесу)
- Пользователи и роли (кто будет пользоваться)
- Сценарии (что делают по шагам)
- Функциональные требования (что система должна уметь)
- Нефункциональные требования (скорость, безопасность, нагрузка, SLA)
- Интеграции (CRM, платежи, внешние API, вебхуки)
- Данные (что храним, что считаем персональными данными)
- Аналитика/события (что измеряем)
- Acceptance criteria (как проверяем “готово”)
Этого достаточно, чтобы перейти к оценке и плану работ.
2) Полная структура ТЗ (шаблон)
Ниже — “скелет”, который одинаково хорошо подходит для:
- ТЗ на разработку сайта / лендинга
- ТЗ на веб‑приложение / личный кабинет / админку / CRM
- ТЗ на мобильное приложение (iOS/Android)
- ТЗ на Telegram‑бота / чат‑бота
- ТЗ на интеграцию API (платежи, CRM, доставки и т. п.)
2.1. Контекст и цель
- Что за бизнес/процесс (1–2 абзаца)
- Главная цель (например: “увеличить заявки”, “снизить нагрузку на поддержку”, “автоматизировать оплату”)
- KPI (что будет считаться успехом)
Пример формулировки:
- “Цель — сократить время обработки заявки с 15 минут до 3 минут за счёт автоматизации и шаблонов”.
2.2. Область работ (scope) и что НЕ делаем
Это критически важно для бюджета.
- Что входит в первую версию (MVP)
- Что точно не входит (например: “мультиязычность”, “личные кабинеты партнёров”, “offline‑режим”)
2.3. Роли и права доступа
Для веб‑приложений, админок и CRM — обязательно.
Минимум:
- Гость
- Пользователь
- Администратор
- Менеджер/оператор (если есть)
Для каждой роли:
- что видит
- что может изменять
- какие действия запрещены
2.4. User stories / сценарии (главный раздел)
Не “функции”, а действия пользователя.
Формат:
- “Как роль, я хочу действие, чтобы ценность.”
Пример:
- “Как пользователь, я хочу оплатить подписку, чтобы получить доступ к закрытым материалам.”
Дальше — шаги (use case):
- пользователь нажимает “Оплатить”
- выбирает тариф
- проходит оплату
- получает подтверждение и доступ
2.5. Функциональные требования (что должно работать)
Здесь хорошо делать список по модулям:
- Авторизация/регистрация
- Профиль
- Платежи
- Каталог/контент
- Админ‑панель
- Уведомления
- Поиск
- Отчёты
Важно: писать так, чтобы можно было проверить.
Плохой пример:
- “Сделать удобный поиск”.
Хороший пример:
- “Поиск по названию и описанию, с подсказками, время ответа до 300 мс при 10k записей”.
2.6. Нефункциональные требования (без них оценка будет “плавающей”)
Это то, что обычно “всплывает” после запуска и резко дорожает.
Минимальный список:
- Производительность (время ответа, скорость загрузки)
- Нагрузка (сколько пользователей/запросов/сообщений)
- Безопасность (роли, доступы, защита от утечек)
- Надёжность (ретраи, очереди, идемпотентность)
- Логи/мониторинг (что логируем, какие алерты)
- SLA (если важен)
Пример:
- “Система должна выдерживать 50 запросов/сек на API без деградации”.
2.7. Интеграции и внешние API
Если вы пишете ТЗ на интеграцию — это отдельный мини‑проект.
Обязательные вопросы:
- источник данных и формат (JSON/CSV/вебхуки)
- авторизация (API key/OAuth)
- лимиты (rate limits)
- ошибки и повторные попытки (retries)
- идемпотентность (чтобы не было двойных оплат/двойных заказов)
2.8. Данные и “что храним”
Даже если вы не описываете структуру БД, важно указать:
- какие сущности есть (пользователь, заказ, платеж, подписка, сообщение)
- что считается персональными данными
- сроки хранения (если важно)
2.9. UI/экраны (если есть макеты — отлично)
Для ТЗ на сайт/мобайл:
- список страниц/экранов
- основные блоки
- состояния (пусто/загрузка/ошибка)
2.10. Аналитика и события
Очень часто забывают, а потом “непонятно, что работает”.
Минимум:
- события (заявка создана, оплата успешна, отказ, сообщение отправлено)
- параметры (тариф, сумма, канал)
2.11. Acceptance criteria (как мы поймём, что готово)
Это лучшая защита от “ещё чуть‑чуть, и будет идеально”.
Пример:
- “Пользователь может оплатить тариф, после успешной оплаты доступ появляется в течение 10 секунд, в админке фиксируется платеж, отправляется уведомление”.
3) Примеры ТЗ по типам проектов (что добавить)
3.1. ТЗ на Telegram‑бота
Добавьте:
- команды/кнопки (меню, inline‑кнопки)
- состояния (диалог как “машина состояний”)
- антиспам/лимиты
- модерация (если чат)
- платежи/подписки (если нужны)
- админка (управление тарифами, контентом, пользователями)
Частая ошибка:
- “Сделать бота, который всё умеет” без описания сценариев и состояний.
3.2. ТЗ на мобильное приложение
Добавьте:
- список экранов + навигация
- offline‑режим (нужен/нет)
- пуши (какие триггеры)
- авторизация (email/phone/social)
- требования к публикации (App Store/Google Play)
3.3. ТЗ на сайт / лендинг
Добавьте:
- цель страницы и оффер
- структура блоков (hero, преимущества, кейсы, CTA)
- SEO‑требования (title/description, скорость, микроразметка при необходимости)
- интеграция форм (CRM/Telegram)
3.4. ТЗ на веб‑приложение / личный кабинет / CRM
Добавьте:
- роли и права (детально)
- отчёты/выгрузки
- аудит‑лог действий
- требования к производительности (особенно списки/фильтры)
4) Как по ТЗ получить точную оценку сроков и стоимости
Нормальная оценка выглядит так:
- список модулей
- оценка по каждому модулю
- список рисков и допущений
- “что если” (например: “если нужны роли/права сложнее — +X”)
Если вам дают “стоимость разработки по ТЗ” одной цифрой без рисков и допущений — это не оценка, а угадайка.
5) Типовые ошибки в ТЗ (и как их исправить)
- Нет сценариев → добавить user stories и шаги
- “Удобно/быстро/красиво” → заменить на измеряемые критерии
- Не описаны роли/права → потом переделки админки и безопасности
- Интеграции “как‑нибудь” → потом недельные отладки вебхуков и ошибок
- Нет нефункциональных требований → всё “вдруг тормозит” на проде
6) Что я могу сделать для вас по ТЗ
Форматы:
- Разбор идеи → ТЗ (интервью + структура + сценарии + acceptance criteria)
- Оценка ТЗ (с рисками, допущениями, планом работ)
- ТЗ + архитектура + roadmap (чтобы спокойно нанимать команду/подрядчика)
Если хотите — разберём вашу идею и превратим её в требования и критерии приёмки, с которыми подрядчик сможет оценить и сделать без “догадок”. Для старта хватит 3 пунктов: что делаем и для кого; интеграции/ограничения; срок/бюджет.