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

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

основатель компании
Техническое задание на разработку сайта — это не сухая бумажка, а карта и договор одновременно. Хорошее ТЗ помогает сэкономить время и деньги, сократить недопонимания между заказчиком и командой и сделать проект предсказуемым. В этой статье мы подробно разберём, что должно быть в полноценном ТЗ, как его структурировать и какие ошибки стоит избежать. Я расскажу на языке практики, без воды, с шаблонами и примерами, которые можно сразу взять и использовать.
Представьте: вы хотите построить дом, но говорите строителям только «сделайте красиво». Результат может вас не устроить. С сайтом та же история. ТЗ фиксирует ожидания, приоритеты и критерии приёмки. Это не просто документ — это соглашение, по которому команда будет работать.
Хорошее ТЗ позволяет заранее оценить сроки, ресурсы и риски. Оно экономит время на коммуникацию, потому что многие вещи уже прописаны: функционал, дизайн-ограничения, интеграции, требования к безопасности и производительности. Если документа нет, каждое решение превратится в спор, и бюджет быстро уйдёт в перерасход.
ТЗ полезно всем участникам проекта. Заказчику — чтобы учесть свои бизнес-цели. Проектному менеджеру — чтобы планировать спринты и контроль качества. Разработчикам и дизайнерам — чтобы знать границы и приоритеты. Тестировщикам — чтобы составлять тест-кейсы. И юридическим отделам — чтобы описать обязательства сторон.
Даже если вы работаете с фрилансером, ТЗ всё равно необходимо. Оно сокращает вероятность недоразумений и служит опорой при обсуждении правок и оплаты.
ТЗ состоит из блоков. Ниже — рекомендуемая структура, проверенная в практических проектах. Пункты можно адаптировать под конкретный масштаб — от лендинга до сложного портала.
Каждый блок — это источник требований, который потом транслируется в задачи для команды. Чем точнее описан пункт, тем меньше вопросов в процессе разработки.
Начните с краткой, но ёмкой формулировки задачи: зачем создаётся сайт, какую бизнес-цель он решает, кто целевая аудитория. Это помогает всем участникам выстраивать приоритеты. Например: «Создать интернет-магазин для продажи спортивного питания с удобной корзиной и интеграцией 1С» — уже даёт много контекста.
Здесь же перечислите основные метрики успеха: конверсия, количество заказов, средний чек, время на оформление заказа. Числовые цели делают проект управляемым.
Определите роли: заказчик, продакт-менеджер, подрядчик, дизайнер, фронтенд-разработчик, бэкенд-разработчик, тестировщик. Укажите контактные данные и зоны ответственности. Это поможет избегать споров о том, кто принимает решения.
Также полезно дать словарь терминов — если в проекте есть специфические понятия, они должны быть однозначными для всех.
Чётко пропишите, что входит в объём работ, а что — нет. Это главное место, где фиксируются ожидания. Например, «включить базовую SEO-оптимизацию» мало говорит; лучше: «прописать мета-теги для 50 ключевых страниц, настроить ЧПУ и карту сайта».
Не забудьте указать формат передачи материалов: кто предоставляет фото, тексты, юридические документы, логотипы. Если заказчик не предоставляет контент, это увеличивает сроки и бюджет — зафиксируйте это.
Это сердце ТЗ. Описывайте функции так, чтобы по ним можно было написать тест-кейсы. Лучше использовать список или таблицу с приоритетами. Укажем примерный набор для интернет-магазина, но структуру можно применить к любому типу сайта.
| Функция | Описание | Приоритет | Критерии приёмки |
|---|---|---|---|
| Каталог товаров | Структурированные карточки товаров с фильтрами по категориям, цене, бренду | Высокий | Поиск и фильтрация возвращают корректные списки; карточка содержит фото, цену, товарные опции |
| Корзина и оформление заказа | Добавление/удаление товаров, подсчёт итогов, выбор доставки и оплаты | Высокий | Оформление заказа проходит без ошибок на тестовых платежах |
| Личный кабинет | Просмотр заказов, история, изменение профиля | Средний | Пользователь может изменить данные и увидеть статус заказа |
Для других типов сайтов — портала или лендинга — список будет другим, но принцип тот же: функция, описание, приоритет, критерии приёмки.
Опишите ключевые сценарии взаимодействия. Лучше в форме user story: «Как покупатель, я хочу… чтобы…». Такие истории удобны и разработчикам, и тестировщикам.
Это требования не к функционалу, а к поведению системы: скорость, надёжность, безопасность, масштабируемость, поддержка браузеров и устройств. Их часто недооценивают, но они критичны для качества.
Примеры: время ответа страницы менее 2 секунд при 100 одновременных пользователях, аптайм не менее 99.9%, поддержка браузеров последние две версии Chrome, Firefox, Safari, Edge, адаптивность для мобильных и планшетов.
Укажите цели по производительности и условия для нагрузочного тестирования. Например: «Сайт должен выдерживать 500 одновременных пользователей при времени отклика не более 3 секунд. Провести нагрузочное тестирование и предоставить отчёт.»
Если проект предполагает кампании с резкими всплесками трафика, укажите требования к автошкале и быстрым решениям по увеличению ресурсов.
Опишите принципиальные меры безопасности: HTTPS по всему сайту, хранение паролей только в виде хешей, защита форм от CSRF, базовая проверка вводимых данных, ограничения на количество попыток входа, резервное копирование. Если сайт обрабатывает персональные данные, укажите соответствие законодательству и требования к хранению и удалению данных.
Дизайн — это не только красота, но и работа с удержанием и конверсией. В ТЗ нужно указать требования к визуалу и опыт пользователя: адаптивность, поведение элементов, типы страниц, использование фирменного стиля.
Хорошо иметь референсы и примеры, что нравится и что нет. Но избегайте перечисления «сделать как в XXX» без объяснения, какие элементы важны. Уточняйте цветовую гамму, шрифты, сетки, отступы и правила использования логотипа.
Укажите, какие страницы должны быть прототипированы и какие макеты будут сданы. Пример: главная, каталог, карточка товара, страница оформления заказа, личный кабинет. Желательно определить, кто утверждает макеты и сколько итераций заложено в цену.
Если это важно, укажите требования по доступности: соответствие WCAG 2.1 уровня AA, контрастность текста, навигация с клавиатуры, корректные alt-атрибуты для изображений. Это не только этическая опция, но и юридическая защита и улучшение SEO.
Контент часто становится узким местом проекта. В ТЗ укажите, кто отвечает за тексты, изображения, видео; в каком формате они передаются; какие объёмы и сроки. Если планируется наполнение сайта из сторонней CMS или интеграция с каталогом, это нужно описать.
| Тип контента | Кто отвечает | Формат | Сроки передачи |
|---|---|---|---|
| Тексты для основных страниц | Заказчик | docx / Google Docs | До старта верстки |
| Фотографии товаров | Заказчик / фотограф | JPEG, 2000 px | Поэтапно, при согласовании карточек |
| Видео | Заказчик | MP4 | За 2 недели до публикации |
Если заказчик не готов предоставить часть контента, укажите опции: копирайтер, фотосессия, покупка стоков, и как это будет оплачиваться.
Одной из частых причин проволочек становятся сторонние интеграции: платёжные системы, CRM, учётные системы, курьерские службы. Для каждой интеграции укажите, какие методы будут использоваться, где брать документацию, кто предоставляет тестовые учётные данные.
Например: интеграция с 1С через обмен по XML каждые 15 минут; интеграция с платежным шлюзом X — реализовать webhooks и тестовые сценарии для успешной и неуспешной оплаты.
Опишите, где будет размещён сайт, какие ресурсы нужны, план по масштабированию. Уточните требования к резервному копированию и восстановлению, схемы CI/CD, процессы деплоя и права доступа к серверам.
Если инфраструктуру предоставляет подрядчик, зафиксируйте SLA. Если заказчик — предоставит доступы, перечислите, какие именно: FTP, SSH, панели управления, учётные записи в облаке.
ТЗ должно содержать план тестирования: какие виды тестов будут проведены и кто их выполняет. Укажите приёмные критерии и процедуру исправления замечаний. Без этого сложно понять, когда проект завершён.
Традиционно включают функциональное тестирование, регрессионное, кроссбраузерное, адаптивное, нагрузочное, тестирование безопасности. Укажите пороговые значения и формат отчёта.
| Критерий | Описание |
|---|---|
| Функции | Все функции из списка с приоритетом «высокий» работают без ошибок при тестировании |
| Дизайн | Макеты согласованы, визуальные отклонения не более 5% по ключевым страницам |
| Производительность | Время загрузки главной страницы < 2.5 сек при стандартной нагрузке |
Опишите процедуру обработки багов: как они фиксируются, сроки исправления, критерии закрытия. Часто используют систему приоритетов P0-P3 и SLA на исправление.
Разбейте проект на этапы и укажите ожидаемые сроки для каждого. Для прозрачности добавьте план работ и зависимости. Если вы даёте оценку в человеко-часах, укажите допуски и условия, при которых оценка считается действительной.
Например: дизайн — 2 недели, верстка и интеграция — 4 недели, тестирование — 1 неделя. Общая оценка 7 недель плюс 2 недели на правки. Бюджет укажите в виде фиксированной суммы или поэтапной оплаты с процентами по вехам.
| Этап | Описание | Сроки | Оплата |
|---|---|---|---|
| Аналитика и прототип | Сбор требований, первичные прототипы | 2 недели | 20% предоплата |
| Дизайн | Макеты ключевых страниц | 2 недели | 20% после утверждения |
| Разработка | Верстка, интеграции, бекенд | 4 недели | 40% после демо |
| Тестирование и запуск | Тесты, исправления, деплой | 2 недели | 20% после приёмки |
После запуска важно не потерять проект в чёрной дыре. Укажите, какие документы передаются заказчику: инструкция по администрированию, список API, конфигурации сервера, тестовые сценарии. Опишите условия пострелизной поддержки: количество часов в месяц, реакция на критические ошибки, стоимость дополнительных правок.
Чётко обозначьте границы бесплатной поддержки: баги, найденные в пределах согласованного функционала, исправляются бесплатно в течение N дней. Всё остальное — по тарифу.
Ниже — практичные шаблоны, которые можно вставить в своё ТЗ и адаптировать. Начнём с краткого чек-листа для приёмки и закончиваем списком частых ошибок.
Самые распространённые провалы — это размытые требования, отсутствие ответственности за контент, недооценка интеграций и игнорирование нефункциональных требований. Ещё одна типичная ошибка — неделя на «правки», которая превращается в месяц бесконечных мелких задач. Чтобы этого не случилось, фиксируйте объём правок и количество итераций в ТЗ.
Ниже пример того, как можно детализировать одну страницу — это хорошая практика, потому что подробно прописанные ключевые страницы задают тон всему проекту.
| Аспект | Требование |
|---|---|
| URL | /catalog/ |
| Содержимое | Список товаров, сортировка, фильтрация, хлебные крошки, пагинация или бесконечная прокрутка |
| Фильтры | Категория, цена, бренд, наличие, рейтинг. Фильтры сохраняются в URL для шаринга |
| SEO | ЧПУ, тег title и meta description подстраиваемые для параметров фильтра |
| Критерий приёмки | Фильтрация работает корректно в 95% случаев тестовых данных; ссылки в карточках ведут на корректные страницы |
Изменения неизбежны. В ТЗ стоит прописать процедуру управления изменениями: как инициируются, кто утверждает, как оцениваются и оплачиваются. Это уменьшит конфликты и даст гибкость проекту.
Обычно вводят каналы коммуникации (технический канал в мессенджере, таск-трекер для задач), форму заявки на изменение и SLA по оценке. Например: «Заказчик подаёт запрос, подрядчик оценивает в течение 3 рабочих дней, согласовывает стоимость и сроки, затем работа начинается».
В приложениях к ТЗ можно включить: список сторонних библиотек, лицензии, требования к логированию и мониторингу, матрицу рисков и план их уменьшения. Если проект большой, имеет смысл приложить диаграммы архитектуры и диаграммы потоков данных.
Ещё хорошая практика — добавить список «не делать»: функции и решения, от которых принято отказаться на этом проекте. Это избавляет от ненужных обсуждений.
Техническое задание — это живой документ. Оно начинается с детального описания целей и требований, а затем живёт в таск-трекере и меняется по мере развития проекта. Главное — прописывать важное: функционал, нефункциональные требования, интеграции, порядок тестирования и приёмки. Чем яснее ТЗ, тем выше шанс, что конечный продукт будет соответствовать ожиданиям и не сорвёт сроки и бюджет.
Возьмите шаблоны из этой статьи, адаптируйте под свой проект и не экономьте время на деталях. Это вложение окупится при запуске сайта и в процессе поддержки.
Полезная ссылка для дальнейшего чтения и заказа услуг: техническое задание (тз) для сайта
Отправляя данную форму, Вы подтверждаете согласие на обработку персональных данных в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, Политикой конфиденциальности и Обработке персональных данных.