Блог / Статья

Техническое задание на разработку: сохранить бюджет и сроки

11 февраля 2025 г.Техническое заданиеРазработкаМобильные приложенияРедакция LeanTech

Техническое задание на разработку: сохранить бюджет и сроки

Техническое задание на разработку — это формализованное описание требований к программному продукту, фиксирующее функциональность, интерфейсы, окружение и критерии приёмки. Правильно составленное ТЗ снижает вероятность перерасхода бюджета на 25–40% и сокращает количество изменений в процессе разработки в 2–3 раза, поскольку стороны договариваются об объёме до старта. Ключевые факты:

  • ТЗ становится юридически значимым документом, особенно в спорах об объёмах и сроках.
  • По данным опросов, 60% проектов без детального ТЗ выходят за рамки первоначальной оценки.
  • Стандартный шаблон ТЗ включает 7–9 разделов, каждый из которых закрывает конкретный риск.

Статья адресована ИТ-руководителям, заказчикам разработки и владельцам продуктов, которые сталкиваются с хаотичным ростом сроков и бюджета. Вы получите готовую структуру ТЗ, примеры формулировок, методику оценки трудоёмкости и чек-лист для финальной проверки. Материал полезен как при заказе разработки в штатной команде, так и при работе с внешним подрядчиком.

Рассмотрим, как выстроить процесс от сбора требований до подписания ТЗ таким образом, чтобы каждая строчка документа работала на снижение рисков. Никакой воды — только практика, подкреплённая инженерным подходом и нормативной базой ГОСТ 19.

Зачем ТЗ нужно бизнесу и почему без него проекты выходят из-под контроля

Контроль бюджета и сроков в разработке ПО начинается не с графика проекта и не с выбора методологии — он начинается с единого источника правды о том, что именно должно быть сделано. Таким источником служит техническое задание. Когда требования размыты, каждая итерация добавляет «попутные доработки», за которые приходится платить отдельно.

Представьте: вы заказываете CRM для отдела продаж. Без ТЗ разработчик реализует карточку контакта, а вы ожидали ещё и интеграцию с телефонией. Начинается обсуждение, потом доплата, потом сдвиг срока. С ТЗ такая ситуация исключена: все функции перечислены и оценены заранее.

Последствия отсутствия ТЗ:

  • Перерасход бюджета: средний выход за рамки составляет 20–22%.
  • Размытые сроки: каждая «мелкая правка» отнимает часы и сдвигает график.
  • Конфликты с подрядчиком: без письменных договорённостей каждая сторона трактует объём работ по-своему.

Цифры говорят сами за себя. По исследованиям Standish Group, проекты с чётко задокументированными требованиями успешны на 60% чаще, чем проекты с неполной спецификацией. В российских реалиях мы видим ту же картину: компании, внедрившие практику обязательного ТЗ, сокращают количество споров с подрядчиками вдвое.

Основные разделы технического задания: пошаговый разбор

Структура ТЗ не жёстко регламентирована, но практика выработала устойчивый набор разделов. Ниже — типовой состав, который покрывает 95% проектов по разработке корпоративного и массового ПО.

РазделНазначениеПример содержимого
ВведениеОпределяет термины и контекст проектаЗаказчик, цели системы, глоссарий
Основание для разработкиУказывает, на чём базируется задачаПриказ, договор, решение о старте
Назначение разработкиОписывает, для чего создаётся системаАвтоматизация учёта заказов
Требования к программеФункциональные и нефункциональные характеристикиПроцесс оформления заказа, время отклика
Требования к программной документацииСостав и форматы документацииРуководство пользователя, ГОСТ 19
Технико-экономические показателиЭффективность от внедренияСокращение времени обработки заказа на 30%
Стадии и этапы разработкиПлан-график с контрольными точкамиЭтап 1: дизайн, 4 недели
Порядок контроля и приёмкиКак заказчик будет тестировать результатТест-кейсы, демо-день, подписание акта

Этот набор достаточен для большинства проектов. При работе по ГОСТ 19 состав разделов фиксирован, но на практике даже негосударственные заказчики часто берут его за основу — он проверен десятилетиями.

Шаблон ТЗ на разработку ПО: универсальная структура с примерами формулировок

Ниже — шаблон, который можно адаптировать под свой проект. В квадратных скобках указаны поля для замены на конкретные значения. Используйте его как каркас: наполнение каждого раздела зависит от особенностей системы.

  1. Наименование и шифр темы: Автоматизированная система управления складом (АСУС-2026).
  2. Заказчик: ООО «Ромашка».
  3. Разработчик: [Наименование компании-исполнителя].
  4. Основание для разработки: Договор №456 от 01.03.2026.
  5. Назначение системы: Обеспечить учёт товаров на складе в реальном времени, формирование отчётов по остаткам и движению, интеграцию с ERP.
  6. Функциональные требования:
  • Приёмка товаров с автоматическим созданием приходного ордера.
  • Отгрузка с резервированием и формированием расходной накладной.
  • Инвентаризация: сканирование штрих-кодов, автоматическая выверка остатков.
  • Печать этикеток в формате ZPL.
  • Обмен данными с «1С:Бухгалтерия 8» через REST API.
  1. Нефункциональные требования: время отклика интерфейса не более 2 с при 200 одновременных пользователях; резервное копирование каждые 6 часов.
  2. Порядок контроля и приёмки: еженедельные демо, приёмка по каждому этапу согласно тест-кейсам (Приложение А).

Каждый раздел шаблона должен отвечать на конкретный вопрос. Раздел «Назначение разработки» отвечает на вопрос «Какую бизнес-проблему решаем?». Пример: «Система обеспечивает централизованное хранение и обработку заявок клиентов, поступающих через сайт, 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-согласованию». Это отсекает мелкие хотелки, которые сыплются в чат.

Алгоритм управления изменениями:

  1. Запрос на изменение поступает в единую точку (например, менеджеру проекта).
  2. Проводится экспресс-оценка влияния: сколько часов/дней добавит, что сдвинет.
  3. Согласование с заказчиком: если готовы к доплате — включаем в спринт.
  4. Фиксация изменений в приложении к ТЗ с версионностью.

Такой подход превращает хаос в управляемый процесс. Команда не отвлекается на спонтанные просьбы, а заказчик видит цену каждого своего желания.

Типичные ошибки в ТЗ, которые приводят к росту бюджета

Ошибки в ТЗ можно разделить на три группы: неполнота, неоднозначность, избыточность.

Список наиболее частых промахов:

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

Чтобы избежать этих ошибок, привлекайте к рецензированию ТЗ технического специалиста со стороны заказчика, который сможет задать неудобные вопросы до старта.

Checklist: что проверить перед подписанием ТЗ

Финальная проверка ТЗ — это последний рубеж, на котором можно предотвратить проблемы. Пройдите по чек-листу вместе с командой и подрядчиком.

  1. Все функциональные требования сформулированы однозначно и привязаны к бизнес-целям.
  2. Определены нефункциональные требования: производительность, безопасность, надёжность, совместимость.
  3. Указаны границы системы: что она делает и, главное, чего не делает.
  4. Описаны интеграции с внешними системами: форматы данных, протоколы, регламенты.
  5. Зафиксированы критерии приёмки для каждого крупного функционального блока.
  6. Определён порядок внесения изменений.
  7. Рассчитана предварительная оценка с разбивкой по модулям или этапам.
  8. Проверено соответствие нормативным требованиям (если применимо: 152-ФЗ, ГОСТ, отраслевые стандарты).
  9. Назначены ответственные за согласование со стороны заказчика и подрядчика.
  10. ТЗ подписано обеими сторонами.

Не торопитесь пропускать пункты — каждый из них экономит в 10 раз больше средств, чем занимает проверка. После подписания храните ТЗ в общем доступе как контрольную копию для сверки на всех демо.

Читайте также


LeanTech

Нужна команда под задачу?

Подберём выделенных инженеров или команду под ваш проект — от разработки до DevOps и аутстаффинга.

Наши услуги Оставить заявку