“Даже если у вас есть только идея — мы поможем вам получить результат, о котором вы мечтали.”

Артём Богомазов
основатель компании
Россия, г. Белгород,
Свято-Троицкий бульвар, д.17, оф. 503
Карточка организации

основатель компании
Техническое задание, коротко ТЗ, — это не просто формальность. Это карта для команды и ориентация для заказчика. Без этой карты команды тратят время на догадки, а заказчик получает продукт, который не соответствует ожиданиям. В этой статье я подробно расскажу, что должно быть в хорошем ТЗ, как его составить и на что обратить внимание, чтобы потом не переделывать работу по кругу.
Я пишу просто и по делу, с реальными примерами и практическими советами. Если вы готовитесь дать задание разработчикам или хотите понимать, за что платите — читайте дальше. Здесь нет пустых фраз, только конкретные блоки ТЗ и объяснение, зачем каждый из них нужен.
ТЗ нужно до начала работ. Чем раньше вы опишете требования и ожидания, тем меньше будет дорогостоящих переделок в процессе. Часто заказчик хочет сразу начать проект и отложить спецификации на потом. Это кажется быстрым, но в итоге срок и бюджет оказываются под угрозой.
ТЗ выполняет несколько ролей одновременно. Оно согласовывает границы проекта, фиксирует функционал, определяет критерии приёмки и помогает оценить стоимость. Для команды это рабочий документ — источник задач и критериев тестирования. Для заказчика — гарантия, что конечный продукт будет соответствовать целям.
ТЗ адресуют нескольким сторонам: заказчику, менеджеру проекта, команде разработки, дизайнерам и тестировщикам. Каждый из участников черпает из ТЗ ту информацию, которая нужна ему для работы. Менеджер смотрит на сроки и риски, разработчик — на технические требования, дизайнер — на интерфейс и поведение, тестировщик — на критерии приёмки.
Важно прописать контактных лиц и зоны ответственности прямо в документе. Это уменьшит количество согласований по почте и сократит время на уточнения.
Структура ТЗ должна быть логичной и читаемой. Ниже перечислены базовые разделы, которые стоит включить в любой проект. Их можно расширять под конкретную задачу, но исключать не рекомендуется.
Каждый раздел должен содержать конкретику. Не «сделать красиво», а «сделать адаптивную шапку с логотипом слева и кнопкой заказа справа, которая остаётся видимой при скролле». Конкретика экономит часы обсуждений.
Этот раздел объясняет, зачем вы делаете сайт и какие бизнес-задачи он решает. Пара ясных предложений здесь важнее десяти страниц маркетинговых общих фраз. Укажите ключевые метрики успеха — что вы хотите улучшить: конверсию, средний чек, узнаваемость бренда, скорость обслуживания клиента.
Пример формулировки цели: «Создать интернет-магазин, который позволит увеличить продажи на 30% в течение года и снизить ручную обработку заказов за счёт интеграции с CRM». Такая цель сразу задаёт ориентир для функциональной части и интеграций.
Опишите, кто будет пользоваться сайтом. Возраст, профессиональные характеристики, уровень технической грамотности, устройства, которые чаще всего используются. Чем яснее портрет пользователя, тем точнее можно спроектировать интерфейс и приоритезировать функции.
Пара сценариев использования — отличный инструмент. Например: «Пользователь заходит с мобильного, ищет товар по каталогу и оформляет заказ за три шага». Если такие сценарии прописать заранее, то даже простые вещи, вроде размера кнопок и порядка полей в форме, будут оптимальны для реальных задач.
Ниже пара примеров, как можно коротко описать сценарии — они помогут разработчикам и дизайнерам понять реальные задачи.
Здесь перечислите все функции, которые должен выполнять сайт. Не откладывайте этот раздел на эмоциональные фразы. Пишите строго: «пользователь может зарегистрироваться по email», «восстановление пароля через почту», «поиск по названию и фильтры по цене и категории». Каждую функцию можно сопроводить приоритетом и примерной оценкой трудозатрат.
Функциональные требования разумно представить в виде таблицы. Ниже — шаблон и пример заполнения.
| Функция | Описание | Приоритет | Оценка (чел/дни) |
|---|---|---|---|
| Регистрация и вход | Регистрация по email, вход по email+пароль, восстановление пароля по почте | Высокий | 3 |
| Каталог товаров | Отображение списка, карточка товара, фильтры по категории, цене и бренду | Высокий | 8 |
| Корзина и оформление заказа | Добавление в корзину, изменение количества, промокоды, выбор способа доставки | Высокий | 6 |
| Личный кабинет | История заказов, адреса доставки, редактирование профиля | Средний | 5 |
Каждую функцию сопровождайте критериями приёмки. Например: «Форма регистрации должна отправлять письмо с подтверждением в течение 60 секунд и не допускать дубли email». Такой подход делает тестирование понятным и объективным.
Указывайте ограничения и зависимости. Если платежная система требует отдельной сертификации или интеграция с CRM накладывает требования к формату данных — запишите это в разделе интеграций.
Нефункциональные требования касаются производительности, безопасности, масштабируемости и доступности. Их часто недооценивают, потому что они «не видны» пользователю, но именно они влияют на опыт и стоимость эксплуатации сайта.
Примеры: время загрузки страницы не больше 3 секунд при 1000 одновременных пользователях, поддержка HTTPS, соответствие стандартам доступности WCAG 2.1 уровня AA, журналирование действий администратора.
В этом разделе описывают визуальную часть и поведение интерфейса. Если у вас есть брендбук или готовый стиль, приложите файлы. Если нет, опишите требования к логотипу, палитре и типографике. Хорошая практика — приложить эталонные сайты, которые нравятся по стилю и по удобству.
Указывайте конкретно, что ожидаете от адаптивности: поведение шапки, мобильное меню, приоритет контента на маленьких экранах. Если важны особенности, например, тёмная тема или анимации при скролле, это стоит прописать отдельно.
Опишите карточки товара, списки, формы, всплывающие окна. Для каждой крупной части интерфейса укажите поведение при ошибках и граничные случаи. Это избавит вас от недопонимания: не «форма с валидацией», а «поле телефона принимает только цифры, формат +7 (XXX) XXX-XX-XX, при ошибке показывать подсказку и не отправлять форму».
Подумайте, кто будет добавлять и править контент на сайте. Если это отдел маркетинга, ему нужен удобный редактор с правами доступа и рабочими шаблонами. Если контент обновляет один ответственный, можно выбрать простую CMS или даже статический генератор.
Опишите типы контента: новости, статьи, карточки продуктов, страницы «О компании». Укажите, какие поля обязательны для каждого типа, какие метаданные нужны для SEO и кто проверяет тексты перед публикацией.
Составьте список ролей и что каждая может делать. Пример: «администратор — полный доступ, менеджер — редактирование заказов и загрузка товаров, контент-менеджер — создание и публикация материалов, без доступа к финансовым данным».
Если сайт должен работать с CRM, платёжными системами, службами доставки или аналитикой — опишите это. Пропишите форматы данных, API-ключи и точки интеграции. Чем раньше команды увидят список внешних зависимостей, тем точнее будут оценки и меньше сюрпризов на старте.
Например: «Интеграция с CRM: передавать заказ в формате JSON с полями id, name, email, phone, items[]. Ответ CRM должен подтверждать приём заказов кодом 200. Триггер на создание сделки при сумме заказа выше 10 000 рублей».
| Сервис | Назначение | Требования |
|---|---|---|
| Платёжный провайдер | Приём онлайн-платежей | Поддержка 3DS, возвраты, webhook для статусов платежей |
| CRM | Управление клиентами и заказами | API для создания и обновления сделок, авторизация по токену |
| Служба доставки | Отправка данных для расчёта и трекинга | Передача адреса в формате JSON, получение трек-кода |
Разбейте проект на этапы и определите вехи. Не оставляйте только общие сроки «месяц или два». Конкретика помогает всем: вы увидите, где возможны узкие места, команда поймёт, когда ожидать оплату и какие нужно готовить материалы.
Типичный план включает: подготовку ТЗ и дизайн прототипов, верстку и бэкенд, интеграции, тестирование, приёмка и запуск. Для каждого этапа укажите дату начала и окончания, а также ответственного.
| Этап | Описание | Срок | Ответственный |
|---|---|---|---|
| Прототип и дизайн | Создание интерактивных прототипов ключевых страниц | 2 недели | Дизайнер |
| Разработка | Верстка, программирование, интеграции | 6 недель | Команда разработки |
| Тестирование и правки | Функциональные тесты, исправление найденных багов | 2 недели | Тестировщик / Разработчик |
| Запуск | Перенос на прод, финальная проверка | 3 дня | Инженер по DevOps |
Опишите, как будете принимать работу. Тестирование не должно оставаться «на усмотрение разработчика». Укажите набор тестов: функциональные, интеграционные, нагрузочные, приёмочные. Пропишите критерии, по которым заказчик будет принимать итоги этапа.
Например: «Приёмка считается успешной, если основная функциональность проходит тесты без критических багов, время отклика не превышает указанных в нефункциональных требованиях значений и все интеграции работают корректно».
ТЗ должно включать бюджетные ограничения или диапазон, а также условия оплаты. Это помогает разработчикам дать реалистичную оценку и расставить приоритеты. Укажите, возможен ли поэтапный прием и оплата, или вы хотите единовременную поставку.
Частая схема — аванс 30%, оплата по этапам и финальный платёж после приёмки. Если у проекта есть ограничения по оплате, это стоит зафиксировать заранее, чтобы избежать конфликтов.
Любой проект содержит неопределённости. Лучше их признать и описать план действий. Классические риски: задержки в поставке контента, изменения требований заказчика, задержки согласований, проблемы с интеграциями.
Опишите процедуру управления изменениями: как оформляется новая задача, кто подписывает изменения, влияет ли изменение на сроки и бюджет и как отражается в графике работ. Это убережёт от бесконечных «одного небольшого правки».
Все изменения оформляются в виде дополнения к ТЗ. Для оценки изменения команда предоставляет список задач и новую смету в течение 5 рабочих дней. После согласования новый объём работ и сроки фиксируются в проектном плане.
Если проект работает с персональными данными или платёжной информацией, требования по безопасности должны быть обязательными. Укажите, какие стандарты нужно соблюдать: шифрование, хранение логов, доступ по ролям и журналы аудита.
План тестирования безопасности можно включить как отдельный блок: внешний аудит, проверка на уязвимости, тест на проникновение, оценка соответствия GDPR или локальным требованиям по защите данных, если это применимо.
Запуск — не конец, а начало эксплуатации. Пропишите, кто принимает на себя поддержку, какие услуги входят в сопровождение и в какие сроки исправляются критические ошибки после запуска. Часто заказчики удивляются, что доработки после старта оцениваются отдельно. Лучше согласовать это заранее.
Примеры услуг сопровождения: исправление критических багов в течение 24 часов, ежемесячное обновление платформы, резервное копирование данных, мониторинг работоспособности.
Опишите, какие материалы и доступы вы ожидаете получить после завершения работ: исходники дизайна, доступы к хостингу и домену, инструкции по развёртыванию, списки API-ключей и права на сторонние сервисы. Чёткий список помогает избежать проблем при переходе поддержки к другой команде.
В приложениях соберите всё, что поможет команде: брендбук, логотипы, тексты, фотографии, примеры удачных интерфейсов, соглашения с 3rd-party сервисами. Чем меньше нужно догадок, тем быстрее пойдёт работа.
Если есть дополнительные технические требования — схемы базы данных, примеры ответов API, тестовые данные — приложите их прямо в ТЗ или ссылку на репозиторий.
Ниже короткий шаблон, который можно использовать как стартовую форму. Его удобно заполнить и отправить команде, а затем доработать по ходу обсуждений.
| Блок | Содержимое |
|---|---|
| Цель | Кратко: зачем нужен сайт и какие метрики важны |
| Аудитория | Кто основные пользователи и сценарии |
| Ключевой функционал | Список функций с приоритетом и критериями приёмки |
| Дизайн | Ссылки на референсы, брендбук, требования к адаптивности |
| Интеграции | Список внешних сервисов и требования к API |
| Сроки и бюджет | Этапы работ, вехи, условия оплаты |
Соберу самые частые промахи, которые приводят к переработкам и конфликтам. Зная их, вы сможете заранее уберечься и сэкономить бюджет.
Чтобы избежать этих ошибок, уделите подготовке ТЗ достаточное время. Лучше написать более подробный документ и сократить его при обсуждении, чем начать работу вслепую.
Если вы привлекаете стороннюю команду, договоритесь о регулярных встречах и прозрачной отчётности. Еженедельные стендапы, доступ к системе управления задачами и промежуточные демонстрации сохранят проект в пределах плана.
Не бойтесь просить оценки в человеко-часах и разбивать оплату по вехам. Это мотивирует команду и снижает риск затягивания этапов.
Хорошее ТЗ — это инвестирование времени в ясность проекта. Оно экономит деньги и нервы, ускоряет запуск и повышает вероятность того, что продукт будет полезен для бизнеса. Начните с чёткой цели, опишите функционал и нефункциональные требования, определите интеграции и план работ. Не забудьте прописать критерии приёмки и процедуру изменений.
Если вам нужно — возьмите за основу шаблон из этой статьи и адаптируйте под свой проект. Лучше посвятить пару дней четкой формулировке, чем недели на исправления после запуска.
Желаю удачи в составлении ТЗ и успешного запуска сайта. Если будете делать всё по плану, результат вас не разочарует.
Отправляя данную форму, Вы подтверждаете согласие на обработку персональных данных в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, Политикой конфиденциальности и Обработке персональных данных.