Техническое задание на сайт: как написать документ, который сэкономит бюджет
ТЗ — это не формальность, а контракт на уровне архитектуры. Проект без ТЗ — это лотерея: разработчик делает «как понял», заказчик правит «как хочет», сроки растягиваются, бюджет тает.
ТЗ, BRD, SRS — в чём разница?
| Документ | Фокус | Кто пишет | Когда |
|---|---|---|---|
| BRD (Business Requirements) | Бизнес-цели, KPI, метрики успеха | Заказчик / аналитик | До старта |
| SRS (Software Requirements) | Функциональные и нефункциональные требования | Системный аналитик / техлид | После BRD |
| ТЗ (Technical Specification) | Конкретика: структуры, API, стеки, ограничения | Разработчик + заказчик | Финальный этап перед разработкой |
В небольших проектах ТЗ объединяет все три слоя. В корпоративных — разделяется для чёткой ответственности.
Структура эффективного ТЗ
1. Введение и контекст
- Цель проекта и целевая аудитория
- Успех = какие метрики (конверсия, время загрузки, NPS)
- Ограничения: бюджет, дедлайн, compliance (152-ФЗ, GDPR)
2. Архитектура и стек
- CMS/фреймворк, версия, требования к хостингу
- База данных, кэширование, CDN
- Языки, версии PHP/Node/Python, стандарты кодирования
3. Структура и контент
- Карта сайта (Sitemap)
- Типы страниц, шаблоны, компоненты
- Роли пользователей и права доступа
4. Функциональные требования
- Сценарии пользователя (User Stories): «Как [роль], я хочу [действие], чтобы [ценность]»
- Интеграции: API, вебхуки, форматы данных, частота синхронизации
- Формы, валидация, уведомления, логирование
5. Нефункциональные требования
- Производительность: LCP < 2.5s, INP < 200ms, CLS < 0.1
- Безопасность: 2FA, CSP, шифрование, бэкапы, аудит
- SEO: структура URL, микроразметка, sitemap.xml, robots.txt
- Доступность (a11y): WCAG 2.1 AA, контрастность, навигация с клавиатуры
6. Процесс и приёмка
- Этапы, дедлайны, формат отчётности
- Критерии приёмки (Definition of Done)
- Порядок правок, SLA поддержки, гарантия
🚫 Частые ошибки в ТЗ
❌ «Сделать красиво и удобно» — субъективно, не измеримо.
❌ Отсутствие нефункциональных требований → сайт «работает», но тормозит или не индексируется.
❌ Интеграции «как у конкурентов» → без документации API и тестовых доступов.
❌ Фиксация UI до утверждения логики → переделка макетов стоит дороже, чем правка кода.