Короткий ответ
Хорошее техническое задание фиксирует объём работ, а не вкус. Какие пять ответов нужны до любой оценки, почему список страниц определяет смету, кто отвечает за тексты и переводы и как готовый документ ложится на пакеты с названными ценами.
Зачем нужно техническое задание и чем оно не является
Техническое задание фиксирует объём работ. Это документ, который превращает разговор о сайте в список, который подрядчик может оценить, поставить в график и по которому его потом можно проверить. Всё полезное, что делает ТЗ, оно делает через эти три вещи.
Это другая задача, чем описание вкуса. Ссылка на сайт, который вам нравится, говорит о визуальном регистре, но не говорит, сколько страниц нужно, кто пишет тексты и в какую систему должна попадать заявка с формы. Вкус в задании уместен, но нести его на себе не может.
Проверка простая. Дайте документ человеку, который вас никогда не видел, и попросите назвать количество страниц, дату запуска и того, кто отвечает за тексты. Если он не сможет, перед вами ещё не задание, а список пожеланий.
Дальше — структура задания, которое эту проверку проходит, раздел за разделом, с пометками там, где владельцы обычно оставляют пробел. В конце — как готовый документ ложится на пакеты с уже названными ценами и сроками.
Версия на одну страницу: пять пунктов до любой оценки
До всех деталей есть пять ответов, без которых оценка невозможна: зачем нужен сайт, сколько на нём страниц, кто даёт контент, что к нему должно подключаться и когда он должен работать. Подрядчик, у которого есть эти пять, может назвать цифру.
Всё остальное в задании — подробности к этим пяти пунктам. Если времени мало, напишите одну страницу только с ними и отправьте. Такая страница даёт более твёрдую оценку, чем двадцать страниц, отвечающих на три пункта из пяти.
Порядок тоже важен. Цель определяет список страниц, список страниц определяет объём контента, а объём контента обычно и задаёт реальный срок. Если начать с дизайна, цепочка разворачивается наоборот, и оценка едет каждую неделю.
Считайте одностраничник черновиком, который останется с вами. Полное задание его не заменяет: это те же пять ответов с подробностями, а короткая версия остаётся тем резюме, которое помещается в голове у всех участников.
Цель: назовите одно действие, которое сайт должен производить
Запишите одно действие, которого вы ждёте от посетителя. Бронирование, звонок, заполненная форма, оформленный заказ, скачанный файл. Сайт может поддерживать несколько, но задание, где названо одно, даёт всем последующим решениям правило разрешения спора.
Именно эта фраза заканчивает споры о вёрстке. Когда двое расходятся, ставить цену выше описания или ниже, названное действие решает вопрос, и обсуждение занимает минуту, а не неделю.
Она же говорит, что измерять. Если действие — заполненная форма, то отправки формы и есть значимая цифра, а трафик становится контекстом, а не результатом. Названная в задании цель даёт аналитике конкретный предмет учёта.
Пишите обычным языком и ставьте в начало. «Посетитель должен увидеть цены и отправить заявку, не звоня нам» — рабочая цель. «Повысить узнаваемость бренда» — нет, потому что из неё ничего не следует в разработке.
Список страниц — основа любой оценки
Перечислите страницы. Главная, услуги, о компании, контакты, а дальше ваши собственные — каталог, сценарий бронирования, портфолио, юридические страницы. Посчитайте их и отметьте, какие повторяют шаблон, а какие существуют в одном экземпляре.
Разница между шаблоном и уникальной страницей — это место, где оценка выигрывается или проигрывается. Сорок карточек каталога на одном шаблоне — работа меньшего объёма, чем четыре страницы с собственной вёрсткой каждая, и видно это только по списку.
Добавьте к каждой странице строку о том, что на ней должно быть. Не текст, а блоки. «Страница услуги: описание, цена, что входит, что не входит, форма заявки». Этой строки хватает подрядчику, чтобы увидеть работу, и вам — чтобы заметить пропущенный блок.
Отметьте страницы, без которых запуск возможен. Задание, разделяющее стартовый набор и последующий, даёт рычаг, который вам понадобится: когда срок под угрозой, двигается второй список, и ничего не приходится пересогласовывать.
Контент: кто пишет, кто переводит и к какому числу
Контент — та часть проекта, которая срывается чаще других, и та, которую в задании чаще других оставляют пустой. Запишите, кто готовит текст для каждой страницы, кто даёт фотографии и к какой дате.
Называйте людей, а не отделы. «Маркетинг пришлёт тексты» — фраза без владельца; «Анна присылает описания услуг до 12-го» — с владельцем. Дело не в бюрократии: отсутствие ответственного не видно ровно до той недели, когда текст нужен.
Отдельно скажите, нужны ли переводы и кто их делает. VITON13 не пишет клиентский контент и не делает переводы — это остаётся на вашей стороне, и умолчание на этапе задания как раз и превращает сборку за пять дней в ожидание длиной в пять недель.
Если контента ещё нет, так и напишите и поставьте дату. Подрядчик может собрать сайт на заглушках и подменить их позже, но только если план это предусматривает. Обнаружить это при сдаче — совсем другой и куда худший разговор.
Дизайн: что уже есть и что нужно сделать
Отделите то, что есть, от того, что нужно. Логотип, палитра, лицензия на шрифт, фотографии, брендбук — перечислите, что существует и где лежат файлы. Всё, чего в списке нет, придётся производить, а производство занимает время.
Если брендбук есть, скажите, какие его части обязательны. Одни строги к цвету и типографике и свободны в вёрстке, другие наоборот. Подрядчик, знающий, какие правила не гнутся, перестаёт гадать и перестаёт спрашивать.
Здесь же полезны два-три референса с фразой, что именно вы берёте из каждого. «Этот — за то, как показана цена» стоит больше, чем голая ссылка, потому что отделяет то, что вам нравится, от того, что вам не нужно.
Скажите и о запретах. Цвет, принадлежащий конкуренту, вёрстка предыдущего сайта, фотографический стиль, неуместный на вашем рынке. Ограничения, названные заранее, дешевле правок, сделанных в конце.
Функции: прогоните каждую через одно предложение
На каждую нужную функцию напишите одно предложение: кто что делает и что происходит дальше. «Посетитель выбирает дату и время, отправляет форму, заявка приходит нам на почту и в CRM». Это предложение и есть спецификация.
Такая проверка отсеивает функции, которые звучат просто, но простыми не являются. «Онлайн-запись» прячет вопрос, должен ли календарь знать о уже занятых слотах; версия в виде предложения вытаскивает его до оценки.
Разделите список на то, что нужно к запуску, и то, что может идти следом. Почти в каждом проекте есть функции, кажущиеся обязательными на встрече и спокойно уходящие во вторую очередь, когда дата запуска становится реальной. Решить это в задании дешевле, чем под давлением.
Отдельно скажите про мобильное приложение, если вы его себе представляете. Адаптивный сайт и приложение в магазине — разные продукты с разной работой; пакеты разработки VITON13 покрывают веб-сборку, а нативные мобильные приложения прямо названы как не входящие.
Интеграции: назовите системы и владельцев доступов
Перечислите все внешние системы, с которыми сайт должен работать: CRM, платёжный провайдер, аналитику, почтовый сервис, систему записи, службу доставки. Называйте продукт, а не категорию: две CRM с одной задачей могут отличаться неделей работы.
По каждой скажите, у кого аккаунт и кто может выдать доступ. Интеграцию нельзя собрать с системой, в которую никто не может войти, а ожидание пароля — один из самых тихих способов сорвать срок.
Скажите, что и в какую сторону должно передаваться. Форма, отправляющая заявку в CRM, — одна работа; каталог, читающий остатки из учётной системы и записывающий туда заказы, — другая. Направление данных и составляет большую часть оценки.
Оплата заслуживает отдельной строки. Какой провайдер, какая страна, какое юридическое лицо подписывает договор и кто отвечает за лицензирование. В пакете «Разработка продукта» лицензирование платежей названо как выходящее за рамки, поэтому вопрос лучше закрыть в задании.
Ограничения: дата, диапазон бюджета и то, что менять нельзя
Назовите дату и скажите, чем она держится. Выставка, сезон, кампания, аренда. Подрядчик, знающий, что дата не двигается, планирует иначе, чем тот, кто считает её пожеланием, и разница видна в том, что он предлагает.
Дайте диапазон бюджета, а не одну цифру и не пустоту. Диапазон позволяет честно сказать, какие ваши требования в него помещаются, и это более полезный ответ, чем смета, подогнанная под сумму, которую вы и не собирались тратить.
Перечислите технологии, которые нужно сохранить. Существующая CMS, неистёкший хостинг, схема с доменом, учётная система, которую в этом году не заменить. Это нейтральные факты, и они меняют оценку независимо от того, упомянули вы их или нет.
Добавьте известные вам требования закона: политика конфиденциальности, работа с cookie, стандарт доступности, ожидаемый в вашей отрасли. Для последнего практическим чек-листом служит краткий справочник W3C по WCAG 2.2, и его лучше назвать прямо, чем подразумевать.
Приёмка: запишите заранее, как поймёте, что работа закончена
Задание, описывающее работу, но не финишную черту, оставляет конец проекта неопределённым. Напишите условия приёмки, пока вы спокойны: что вы откроете, на что нажмёте и что должно быть верно до подписи.
Формулируйте конкретно. Каждая страница открывается на телефоне и на десктопе; заявка приходит на почту и в CRM; цена на сайте совпадает с прайсом; сайт доступен по нужному адресу по HTTPS. На каждый пункт есть «да» или «нет».
Включите измеримые пункты, которые вам действительно важны. Скорость — честный пример: документация MDN по производительности даёт общий словарь для разговора о ней, а «главная должна быть быстрой» — не условие, которое можно пройти или не пройти.
Назовите того, кто подписывает. Один человек и заявленный срок на проверки. Приёмка с тремя проверяющими и без дедлайна — это механизм, которым готовый проект остаётся открытым ещё на месяц.
Чего в задании быть не должно
В нём не должно быть технических решений, для которых у вас нет причины. Названный фреймворк, о котором вы где-то прочитали, ограничивает сборку, ничего не улучшая. Сформулируйте требование — страницу должен править любой сотрудник офиса — и дайте подрядчику на него ответить.
В нём не должно быть выдуманных цифр. Придуманный трафик или умозрительная конверсия задают ожидание, по которому работу потом будут мерить, и мерить будут несправедливо ко всем.
В нём не должно быть требований без владельца. Каждая строка, где сайт «должен» что-то делать, требует привязанного человека, иначе она переживёт все согласования и обнаружится пропущенной на приёмке.
И оно не должно быть длинным ради длины. Документ существует для тех, кто оценивает и собирает. Шесть внятных страниц лучше тридцати, где список страниц утоплен в середине стратегического текста.
Как готовое задание ложится на фиксированные пакеты
Задание стоит писать ещё и потому, что оно позволяет сравнивать предложения на одном основании. В услуге разработки VITON13 пять пакетов с ценами, и когда список страниц и план по контенту готовы, задание обычно само выбирает один из них.
Site Fix Pack стоит $70 и занимает 1-2 рабочих дня на не более чем пять согласованных правок, с проверкой на мобильном и десктопе и списком «до/после» при сдаче; в нём один круг правок, и новые страницы, редизайн и переносы в него не входят. «Сайт для запуска» — $380 за 3-5 рабочих дней: адаптивная сборка, подключение базовой CMS или данных и настройка развёртывания, два круга правок до запуска, а контент и переводы даёте вы.
«Разработка продукта» — $880 за 2-3 недели: выпуск функций, логика состояний и маршрутов, тестирование и укрепление, два круга правок на каждую поставленную функцию; нативные мобильные приложения и лицензирование платежей за рамками. Launch Site Express — $520: тот же объём «Сайта для запуска» в приоритетной очереди за 2 рабочих дня с ежедневными сборками, чек-листом запуска и созвоном при передаче, один круг правок после первой полной сборки, без контента, съёмки и последующей поддержки.
«Постоянная техническая поддержка» — $290 в месяц помесячным циклом с уведомлением за 30 дней о прекращении: приоритетные обновления, недельный ритм релизов и техническое сопровождение; объём согласуется в начале каждого цикла, а новая сборка или редизайн оцениваются отдельно. Читайте условия именно того пакета, который выбираете, — они отличаются друг от друга намеренно.
Практический чеклист
- Напишите одностраничник с пятью ответами и отправьте его до подробного задания.
- Составьте список страниц и отметьте, какие повторяют шаблон, а какие уникальны.
- Назначьте по имени владельца текстов, фотографий и переводов с датами.
- Прогоните каждую функцию через одно предложение «кто что делает и что дальше».
- Перечислите внешние системы поимённо и укажите, у кого от них доступы.
- Запишите условия приёмки и одного человека, который подписывает.
Вопросы и ответы
Нужно ли техническое задание, если сайт небольшой?
Нужно, но короткое. Для небольшого сайта хватает одной страницы с пятью ответами: зачем нужен сайт, сколько на нём страниц, кто даёт контент, что к нему подключается и когда запуск. Этого достаточно, чтобы получить твёрдую оценку вместо диапазона.
Сколько стоит разработка и как задание влияет на цену?
В VITON13 пять пакетов: Site Fix Pack — $70 за 1-2 рабочих дня на до пяти согласованных правок, «Сайт для запуска» — $380 за 3-5 рабочих дней, Launch Site Express — $520 за 2 рабочих дня, «Разработка продукта» — $880 за 2-3 недели, «Постоянная техническая поддержка» — $290 в месяц. Задание не меняет цену пакета, оно показывает, какой пакет вам нужен.
Кто пишет тексты для сайта — подрядчик или заказчик?
Контент и переводы остаются на стороне заказчика: VITON13 их не пишет и не переводит. Поэтому в задании нужно назвать по имени того, кто отвечает за текст каждой страницы, и поставить дату, иначе срок сборки определит не разработка, а ожидание материалов.
Можно ли указать в задании конкретный фреймворк?
Можно, если у вас есть причина: например, существующая система, которую нужно сохранить, или команда, которая будет поддерживать сайт дальше. Без такой причины лучше сформулировать требование — скажем, чтобы страницу мог править любой сотрудник — и дать подрядчику ответить на него.
Что делать, если контента ещё нет?
Так и написать в задании и поставить дату. Сборку можно вести на заглушках и подменить их позже, но это должно быть планом, а не сюрпризом на приёмке. Отдельно отметьте, какие страницы можно не запускать в первый день.

