
Техническое задание на разработку — это формализованное описание требований к программному продукту, фиксирующее функциональность, интерфейсы, окружение и критерии приёмки. Правильно составленное ТЗ снижает вероятность перерасхода бюджета на 25–40% и сокращает количество изменений в процессе разработки в 2–3 раза, поскольку стороны договариваются об объёме до старта. Ключевые факты:
- ТЗ становится юридически значимым документом, особенно в спорах об объёмах и сроках.
- По данным опросов, 60% проектов без детального ТЗ выходят за рамки первоначальной оценки.
- Стандартный шаблон ТЗ включает 7–9 разделов, каждый из которых закрывает конкретный риск.
Статья адресована ИТ-руководителям, заказчикам разработки и владельцам продуктов, которые сталкиваются с хаотичным ростом сроков и бюджета. Вы получите готовую структуру ТЗ, примеры формулировок, методику оценки трудоёмкости и чек-лист для финальной проверки. Материал полезен как при заказе разработки в штатной команде, так и при работе с внешним подрядчиком.
Рассмотрим, как выстроить процесс от сбора требований до подписания ТЗ таким образом, чтобы каждая строчка документа работала на снижение рисков. Никакой воды — только практика, подкреплённая инженерным подходом и нормативной базой ГОСТ 19.
Зачем ТЗ нужно бизнесу и почему без него проекты выходят из-под контроля
Контроль бюджета и сроков в разработке ПО начинается не с графика проекта и не с выбора методологии — он начинается с единого источника правды о том, что именно должно быть сделано. Таким источником служит техническое задание. Когда требования размыты, каждая итерация добавляет «попутные доработки», за которые приходится платить отдельно.
Представьте: вы заказываете CRM для отдела продаж. Без ТЗ разработчик реализует карточку контакта, а вы ожидали ещё и интеграцию с телефонией. Начинается обсуждение, потом доплата, потом сдвиг срока. С ТЗ такая ситуация исключена: все функции перечислены и оценены заранее.
Последствия отсутствия ТЗ:
- Перерасход бюджета: средний выход за рамки составляет 20–22%.
- Размытые сроки: каждая «мелкая правка» отнимает часы и сдвигает график.
- Конфликты с подрядчиком: без письменных договорённостей каждая сторона трактует объём работ по-своему.
Цифры говорят сами за себя. По исследованиям Standish Group, проекты с чётко задокументированными требованиями успешны на 60% чаще, чем проекты с неполной спецификацией. В российских реалиях мы видим ту же картину: компании, внедрившие практику обязательного ТЗ, сокращают количество споров с подрядчиками вдвое.

Основные разделы технического задания: пошаговый разбор
Структура ТЗ не жёстко регламентирована, но практика выработала устойчивый набор разделов. Ниже — типовой состав, который покрывает 95% проектов по разработке корпоративного и массового ПО.
| Раздел | Назначение | Пример содержимого |
|---|---|---|
| Введение | Определяет термины и контекст проекта | Заказчик, цели системы, глоссарий |
| Основание для разработки | Указывает, на чём базируется задача | Приказ, договор, решение о старте |
| Назначение разработки | Описывает, для чего создаётся система | Автоматизация учёта заказов |
| Требования к программе | Функциональные и нефункциональные характеристики | Процесс оформления заказа, время отклика |
| Требования к программной документации | Состав и форматы документации | Руководство пользователя, ГОСТ 19 |
| Технико-экономические показатели | Эффективность от внедрения | Сокращение времени обработки заказа на 30% |
| Стадии и этапы разработки | План-график с контрольными точками | Этап 1: дизайн, 4 недели |
| Порядок контроля и приёмки | Как заказчик будет тестировать результат | Тест-кейсы, демо-день, подписание акта |
Этот набор достаточен для большинства проектов. При работе по ГОСТ 19 состав разделов фиксирован, но на практике даже негосударственные заказчики часто берут его за основу — он проверен десятилетиями.
Шаблон ТЗ на разработку ПО: универсальная структура с примерами формулировок
Ниже — шаблон, который можно адаптировать под свой проект. В квадратных скобках указаны поля для замены на конкретные значения. Используйте его как каркас: наполнение каждого раздела зависит от особенностей системы.
- Наименование и шифр темы: Автоматизированная система управления складом (АСУС-2026).
- Заказчик: ООО «Ромашка».
- Разработчик: [Наименование компании-исполнителя].
- Основание для разработки: Договор №456 от 01.03.2026.
- Назначение системы: Обеспечить учёт товаров на складе в реальном времени, формирование отчётов по остаткам и движению, интеграцию с ERP.
- Функциональные требования:
- Приёмка товаров с автоматическим созданием приходного ордера.
- Отгрузка с резервированием и формированием расходной накладной.
- Инвентаризация: сканирование штрих-кодов, автоматическая выверка остатков.
- Печать этикеток в формате ZPL.
- Обмен данными с «1С:Бухгалтерия 8» через REST API.
- Нефункциональные требования: время отклика интерфейса не более 2 с при 200 одновременных пользователях; резервное копирование каждые 6 часов.
- Порядок контроля и приёмки: еженедельные демо, приёмка по каждому этапу согласно тест-кейсам (Приложение А).
Каждый раздел шаблона должен отвечать на конкретный вопрос. Раздел «Назначение разработки» отвечает на вопрос «Какую бизнес-проблему решаем?». Пример: «Система обеспечивает централизованное хранение и обработку заявок клиентов, поступающих через сайт, email и мессенджеры, с автоматическим назначением ответственного оператора». Такая ясность исключает двойное толкование.
Функциональные требования: как описать так, чтобы разработчик понял с первого раза
Функциональные требования — это ядро ТЗ. Они описывают, что система должна делать: как пользователь взаимодействует с интерфейсом, какие данные обрабатываются, какие отчёты формируются. Ошибки на этом уровне стоят дороже всего: переписать сценарий в середине разработки в 5–10 раз дороже, чем уточнить его на этапе проектирования.
Хорошая формулировка функционального требования всегда содержит три элемента: действие, объект и ожидаемый результат. «Система должна позволять администратору блокировать учётную запись пользователя» — плохо, потому что неясно, как именно. Лучше: «При нажатии кнопки „Заблокировать“ в интерфейсе администрирования система приостанавливает доступ пользователя к системе, сохраняет дату блокировки и отображает статус „Заблокирован“ в списке пользователей». Такая детализация исключает разночтения.
Советы по написанию функциональных требований:
- Используйте пользовательские истории: «Как менеджер по продажам, я хочу видеть историю взаимодействий с клиентом, чтобы подготовиться к звонку».
- Приоритизируйте требования: must have, should have, nice to have.
- Избегайте общих слов: «удобный интерфейс» — конкретизируйте, какие элементы должны быть на экране.
Не забывайте про граничные случаи: пустые списки, одновременный доступ нескольких пользователей к одной записи, восстановление после сбоя. Чем полнее ТЗ на старте, тем меньше «сюрпризов» в коде.

ГОСТ 19. ЕСПД: требования к ТЗ и когда его применять
ГОСТ 19 серии Единой системы программной документации (ЕСПД) до сих пор действует в России и обязателен для государственных контрактов. Для коммерческих проектов он необязателен, но использование стандарта — это защита от неопределённости. ГОСТ 19.201-78 «Техническое задание. Требования к содержанию и оформлению» задаёт чёткую структуру из 8 разделов: введение, основания, назначение, требования к программе, требования к документации, технико-экономические показатели, стадии и этапы, порядок контроля и приёмки.
Применение ГОСТ 19 дисциплинирует обе стороны. Заказчик вынужден сформулировать требования однозначно, а подрядчик лишается возможности ссылаться на «недосказанность». Тем не менее, шаблон ГОСТ архаичен: в нём нет разделов про интеграции, UX/UI, немодальные интерфейсы. Поэтому в коммерческой практике его дополняют современными разделами.
Когда стоит использовать ГОСТ 19 в ТЗ:
- проекты с госучастием или бюджетным финансированием;
- крупные инфраструктурные системы (АСУ ТП, банковские ядра);
- когда заказчик хочет минимизировать юридические риски и имеет ресурсы на формальную проработку.
Если вы не обязаны следовать ГОСТ, возьмите из него лучшее — структуру разделов — и наполните её современным содержанием. Так вы получите документ, понятный и юристам, и инженерам.
Оценка стоимости приложений по ТЗ: методики и типовые ловушки
Точная оценка стоимости возможна только при детальном ТЗ. Сюрприз: даже с ТЗ разброс предложений от разных подрядчиков может достигать 2–3 раз. Причина — в разных методиках оценки и допущениях. Основные методики: экспертная оценка (по опыту), оценка по аналогам, параметрическая оценка (на основе метрик, например, количество экранов) и метод функциональных точек.
Самая надёжная для заказных проектов — оценка по аналогам с привязкой к функциональным блокам. Вы делите систему на модули, для каждого определяете трудоёмкость в человеко-днях, умножаете на ставку. Важно получить от подрядчика не итоговую цифру, а детализированный расчёт — тогда видно, где завышено.
| Метод оценки | Суть | Плюсы | Минусы |
|---|---|---|---|
| Экспертная оценка | Опытный разработчик оценивает на глаз | Быстро | Сильно зависит от эксперта |
| По аналогам | Сравнение с похожими проектами | Реалистично, если аналоги точны | Трудно найти точный аналог |
| Параметрическая | Формула от количества экранов/форм | Объективно | Не учитывает сложность логики |
| Функциональные точки | Подсчёт функциональных элементов | Международный стандарт | Дорого и долго, требует обученного специалиста |
Главная ловушка: подрядчик даёт оценку «от 3 млн руб.», а по факту выходит 5 млн. Причина — в слове «от». Фиксируйте в ТЗ верхнюю границу или оговорку, что любое превышение должно быть согласовано. Второй риск: оценка без учёта нефункциональных требований (производительность, безопасность). Они могут удвоить трудозатраты. Поэтому пишите нефункционал в ТЗ и требуйте, чтобы он был учтён в смете.
Уточнение требований после подписания ТЗ: как работать с изменениями без срыва сроков
Изменения неизбежны. Бизнес-среда меняется, появляются новые регуляторные требования или руководитель вдруг решает, что нужна ещё одна отчётность. Вопрос в том, как пропустить изменения через ТЗ без раздувания бюджета.
В самом ТЗ заложите раздел «Порядок внесения изменений». Пример формулировки: «Любое изменение требований оформляется дополнительным соглашением с оценкой влияния на сроки и стоимость. Незначительные изменения (до 5 человеко-дней) могут приниматься по email-согласованию». Это отсекает мелкие хотелки, которые сыплются в чат.
Алгоритм управления изменениями:
- Запрос на изменение поступает в единую точку (например, менеджеру проекта).
- Проводится экспресс-оценка влияния: сколько часов/дней добавит, что сдвинет.
- Согласование с заказчиком: если готовы к доплате — включаем в спринт.
- Фиксация изменений в приложении к ТЗ с версионностью.
Такой подход превращает хаос в управляемый процесс. Команда не отвлекается на спонтанные просьбы, а заказчик видит цену каждого своего желания.

Типичные ошибки в ТЗ, которые приводят к росту бюджета
Ошибки в ТЗ можно разделить на три группы: неполнота, неоднозначность, избыточность.
Список наиболее частых промахов:
- Отсутствие критериев приёмки: «система должна быть быстрой» — что значит «быстро»? Укажите конкретное время отклика: «экран списка заказов должен открываться не более чем за 2 секунды».
- Путаница между пожеланием и требованием: ставить в ТЗ «реализовать интерактивный дашборд» без описания, какие метрики и срезы нужны. В итоге разработчик делает красивую картинку, а пользоваться невозможно.
- Слишком жёсткое описание интерфейса на старте: требовать «кнопка должна быть зелёной» до проработки UX-дизайна. Лучше описать суть действия, а визуал оставить на дизайн-этап.
- Игнорирование окружения: не указаны версии браузеров, ОС, интеграций. Потом выясняется, что система не работает на Windows 11 или с определённой версией API.
- Отсутствие нефункциональных требований: не учтена нагрузка (1000 пользователей одновременно), требования к отказоустойчивости. Это потом оборачивается переписыванием архитектуры.
Чтобы избежать этих ошибок, привлекайте к рецензированию ТЗ технического специалиста со стороны заказчика, который сможет задать неудобные вопросы до старта.
Checklist: что проверить перед подписанием ТЗ
Финальная проверка ТЗ — это последний рубеж, на котором можно предотвратить проблемы. Пройдите по чек-листу вместе с командой и подрядчиком.
- Все функциональные требования сформулированы однозначно и привязаны к бизнес-целям.
- Определены нефункциональные требования: производительность, безопасность, надёжность, совместимость.
- Указаны границы системы: что она делает и, главное, чего не делает.
- Описаны интеграции с внешними системами: форматы данных, протоколы, регламенты.
- Зафиксированы критерии приёмки для каждого крупного функционального блока.
- Определён порядок внесения изменений.
- Рассчитана предварительная оценка с разбивкой по модулям или этапам.
- Проверено соответствие нормативным требованиям (если применимо: 152-ФЗ, ГОСТ, отраслевые стандарты).
- Назначены ответственные за согласование со стороны заказчика и подрядчика.
- ТЗ подписано обеими сторонами.
Не торопитесь пропускать пункты — каждый из них экономит в 10 раз больше средств, чем занимает проверка. После подписания храните ТЗ в общем доступе как контрольную копию для сверки на всех демо. Если самостоятельное составление ТЗ вызывает сложности, обратитесь к специалистам, которые помогут проработать требования и избежать скрытых рисков.