Техническое задание на разработку: как написать | FITTIN
+7 (800) 444-11-27
Позвоните — обсудим ваш проект
Сергей CCO FITTIN
Сергей CCO FITTIN
Напишите мне в Telegram
Обсудить проект
Техническое задание на разработку ПО: как написать, пример и шаблон, обложка статьи FITTIN

Техническое задание на разработку ПО: как написать, пример и шаблон

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


Что такое техническое задание на разработку

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

Техническое задание (ТЗ) — документ, в котором заказчик и разработчик фиксируют, какой продукт должен получиться: цели, пользователей, функции, связи с другими системами, требования к скорости и безопасности, критерии приёмки результата. По ТЗ подрядчик считает смету и сроки, стороны подписывают договор, а в конце проекта — принимают работу.

Что такое техническое задание на разработку: документ, из которого вырастают смета, договор и акт приёмки

Для бизнеса документ решает четыре задачи:

  • Сопоставимая смета. С ТЗ на руках несколько студий оценивают один и тот же объём, и их предложения можно сравнивать напрямую. По отзывам на странице услуги разработки ТЗ, разброс оценок одного проекта у разных студий до спецификации доходил с 2 до 8 млн ₽, а после подготовки документа расхождение сократилось до 15%.
  • Основание для договора. Объём работ, сроки и порядок приёмки становятся частью договора, а не договорённостью из переписки.
  • Приёмка без споров. Каждый пункт ТЗ проверяется: либо функция работает по описанию, либо нет.
  • Передача проекта. По готовому документу продукт сможет развивать другая команда — требования уже собраны и записаны.

Чем крупнее продукт и чем больше в нём связей с другими системами, тем дороже обходится работа без документа: уточнение требований переносится на этап разработки, где изменение затрагивает уже макеты и код. Как устроен полный цикл от идеи до поддержки — в статье об этапах разработки ПО.

Чем техническое задание отличается от брифа

Бриф и ТЗ часто путают, потому что оба документа появляются до старта разработки. Разница в том, что бриф собирает вводные, а техническое задание фиксирует решения. Бриф заполняет заказчик в начале знакомства, ТЗ готовит аналитик после интервью и исследования.

Параметр Бриф Техническое задание
Назначение Познакомить подрядчика с задачей и пожеланиями Зафиксировать объём работ, требования и критерии приёмки
Кто пишет Заказчик, часто по анкете студии Аналитик вместе с заказчиком, после интервью и исследования
Глубина 2–5 страниц: цели, аудитория, общие пожелания Десятки страниц: сценарии по ролям, интеграции, нефункциональные требования
Юридический статус Не приложение к договору Приложение к договору, основа приёмки работ
Точность оценки Предварительный диапазон цен Рабочая смета по функциям и интеграциям

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

Из чего состоит техническое задание: восемь разделов

Единого обязательного формата ТЗ нет: в госзакупках ориентируются на ГОСТ 34.602, в коммерческих проектах студии работают по своим шаблонам. Состав разделов при этом совпадает почти везде — без любого из восьми ниже документ не выполняет свою задачу.

Раздел Что описываем Пример формулировки
1. Цели и метрики Задача бизнеса и показатели, по которым оценят результат «20% онлайн-заказов через приложение через год после запуска»
2. Аудитория и роли Кто пользуется продуктом и какие права есть у каждой роли «Покупатель, менеджер магазина, администратор сети»
3. Функциональные требования Сценарии: что делает пользователь и что отвечает система «Пользователь выбирает оттенок краски, система рассчитывает цену колеровки»
4. Интеграции Внешние системы, данные, направление и частота обмена «Каталог из учётной системы, обновление остатков каждые 15 минут»
5. Нефункциональные требования Скорость, нагрузка, платформы, безопасность, сторы «Экран каталога открывается до 2 секунд; публикация в App Store, Google Play, RuStore и других сторах по запросу»
6. Критерии приёмки Проверяемые условия, по которым принимают работу «Заказ на юрлицо оформляется без участия менеджера, счёт приходит на почту»
7. Этапы и сроки Разбивка на итерации с датами и точками согласования «Прототип — к 15 марта, первая версия — к 30 мая»
8. Ограничения и допущения Что не входит в проект и на чьей стороне какие зоны ответственности «Методы интеграции со стороны учётной системы предоставляет заказчик»

Четыре раздела — функциональные требования, интеграции, нефункциональные требования и критерии приёмки — определяют смету сильнее всего, поэтому разберём их подробнее.

Функциональные требования: от «сделайте каталог» к сценарию

Функциональный раздел описывает, что делает продукт, через роли и пользовательские истории. Рабочий формат формулировки — «действие → данные → результат»: пользователь что-то делает, система что-то проверяет и что-то возвращает. Такую формулировку можно оценить в часах и проверить при приёмке.

Разница между пожеланием и требованием:

  • Пожелание: «Сделайте удобный поиск». Требование: «Поиск по названию и артикулу, подсказки после третьего символа, выдача до 20 позиций с фото и ценой, фильтры по наличию в выбранном городе».
  • Пожелание: «Нужна программа лояльности». Требование: «Бонусы начисляются за заказ, списываются до 100% стоимости, виртуальная карта добавляется в Apple Wallet и Google Pay».
  • Пожелание: «Оформление заказа в пару кликов». Требование: «Корзина сохраняет адрес и получателя, способ доставки и оплаты выбирается на одном экране, повторный заказ — из истории».

Функциональные требования в техническом задании: колеровка, распил, доставка с манипулятором — пример из проекта «Сатурн»

Пример сложного функционального раздела — приложение сети строительных гипермаркетов «Сатурн». Для строительного ритейла в требованиях пришлось описать сценарии, которых нет в обычном интернет-магазине:

  • Колеровка краски — выбор оттенка из палитры и расчёт цены услуги;
  • Распил материалов — указание параметров реза при оформлении заказа;
  • Доставка крупногабарита — транспорт с манипулятором, ограничения по высоте проезда, заказ грузчиков с этажом и габаритами лифта;
  • Заказ на юридическое лицо — свои документы и способ оплаты;
  • Региональные склады — наличие и цены привязаны к городу и учётной системе 1С.

Каждый такой пункт меняет экраны, серверную часть и смету. Если бы колеровка всплыла на этапе разработки, команда пересматривала бы карточку товара, корзину и обмен с учётной системой уже по ходу проекта. Поэтому в функциональном разделе важны не общие слова про «каталог и корзину», а специфика ниши.

Интеграции: что зафиксировать до старта

Интеграционный раздел — самый недооценённый в самодельных ТЗ. Фраза «интеграция с 1С» для сметы бесполезна: непонятно, какие данные ходят, в какую сторону, с какой частотой и кто отвечает за методы на стороне учётной системы.

Для каждой внешней системы в документе фиксируют:

  • Данные — какие сущности передаются: товары, цены, остатки, заказы, клиенты, бонусы;
  • Направление обмена — система отдаёт, принимает или обмен меняется двусторонним;
  • Частота — в реальном времени, по расписанию, по событию;
  • Ответственный за API — готовые методы интеграции (API, webhooks) есть у поставщика системы или их нужно разрабатывать;
  • Поведение при сбое — что видит пользователь, если система не отвечает.

Интеграции в техническом задании: приложение, учётная система iiko и частота обмена данными

Как это выглядит в заполненном документе — на примере One Price Coffee, федеральной сети кофеен с более чем 350 точками, которые работают по франшизе. Интеграционный раздел проекта включал кассовую систему iiko (номенклатура, стоп-листы, приём заказов, часовые пояса и состояние смен), систему лояльности, эквайринг и сервис отправки SMS. По данным страницы кейса, каталог синхронизируется инкрементально — приложение забирает только изменившиеся позиции, — а стоп-листы обновляются отдельным расписанием каждые 15 минут по всем организациям сети, чтобы гость не заказал недоступный напиток. У франшизы свои реквизиты, налогообложение и доступы у каждой кофейни — и это тоже требование, которое нужно было записать до разработки.

Типовой набор интеграций для торгового приложения: учётная система (1С и аналоги), CRM и маркетинговые рассылки (Mindbox и другие), эквайринг и СБП, службы доставки (СДЭК, Boxberry, Почта России), для ресторанов — кассовые системы вроде iiko (подробнее — на странице интеграции приложения с iiko), для продаж через маркетплейсы — обмен с Wildberries, Ozon, Яндекс Маркетом. Общий подход к обмену с учётной системой описан на странице ERP-интеграции для интернет-магазина.

Нефункциональные требования

Нефункциональные требования описывают не то, что продукт делает, а то, насколько хорошо он это делает. Их заказчики забывают чаще всего, потому что эти свойства «не видно на экране». Минимальный набор для ТЗ:

  • Производительность — время открытия ключевых экранов и реакции на действие;
  • Нагрузка — пиковое число одновременных пользователей, например в день распродажи;
  • Платформы и сторы — версии iOS и Android, перечень сторов публикации;
  • Безопасность — работа с персональными данными по Федеральному закону № 152-ФЗ, роли и доступы;
  • Офлайн-сценарии — что доступно без интернета;
  • Доступность сервиса — допустимое время простоя и порядок мониторинга.

Два примера из проектов FITTIN. У «Сатурна» нефункциональным требованием была публикация сразу в четырёх сторах — App Store, Google Play, RuStore и AppGallery: для федеральной сети важно присутствие бренда на всех площадках, и это влияет на сборку и релизный цикл. У One Price Coffee офлайн-требованием стал QR программы лояльности: код формируется локально и показывается на кассе даже без интернета.

Роли и зоны ответственности в ТЗ

В разделе об ограничениях и ролях записывают, кто за что отвечает: кто предоставляет доступы и методы интеграции, кто готовит контент, кто согласует макеты, кто заводит учётные записи разработчика в сторах. Этот раздел экономит недели, потому что снимает ожидания «мы думали, это делаете вы».

Рабочий пример — проект Lassie, приложение для финского бренда детской одежды. Работа была разделена так: команда клиента готовила API и вебхуки — методы интеграции для передачи товаров, заказов, программы лояльности и доставки, — а команда FITTIN параллельно делала интерфейсы и приложение на Flutter. Когда методы были готовы, осталось подключить данные, и простоев не возникло. По данным страницы кейса, приложение вышло к предновогоднему сезону и собрало 3 576 установок за первые 6 недель, в пиковые дни декабря — до 376 установок в день. Такой параллельный график возможен только когда зоны ответственности и сроки по данным зафиксированы в документе заранее.

Кто вообще участвует в проекте и за что отвечает каждая роль — в статье о команде разработки.

Критерии приёмки: как зафиксировать результат

Критерий приёмки — проверяемое условие, по которому стороны понимают, что работа сделана. Общая фраза «приложение работает корректно» не критерий: её каждая сторона трактует по-своему. Критерии пишут на языке проверки: выполнил действие → получил предсказуемый результат.

Требование Критерий приёмки
Синхронизация стоп-листов с кассовой системой Позиция, снятая с продажи, недоступна в приложении не позднее чем через 15 минут
Программа лояльности с QR на кассе Код открывается и сканируется при выключенном интернете
Заказ на юридическое лицо Покупатель указывает реквизиты, оплачивает по счёту, документы приходят на почту без участия менеджера
Публикация в сторах Приложение проходит модерацию и доступно для установки во всех сторах, перечисленных в ТЗ

По таким формулировкам тестировщики готовят проверки, а заказчик принимает работу без дискуссий. Кроме сценарных критериев в ТЗ включают общие: набор устройств для проверки, нагрузочное тестирование перед пиковым сезоном (отдельная услуга — нагрузочное тестирование), порядок приёмки по этапам.

Как написать техническое задание: шесть шагов

Порядок работы над документом одинаков для приложения, сайта и внутренней системы — различается только глубина проработки.

Шаг 1. Сформулировать цель и метрики

Шаг 1 • Результат: цель продукта и 2–3 метрики успеха

Что происходит: Отвечаем на вопрос, какую задачу бизнеса решает продукт и как поймём, что он удался. Метрика формулируется с цифрой и сроком: не «рост продаж», а «20% онлайн-заказов через приложение через год после запуска». Какие показатели отслеживать и чем их собирать — в статье об аналитике мобильного приложения.

Шаг 2. Собрать вводные и ограничения

Шаг 2 • Результат: бриф с вводными от всех отделов

Что происходит: Проводим интервью с участниками, которых затрагивает продукт: продажи, маркетинг, логистика, поддержка, ИТ-служба. Фиксируем бюджет, желаемую дату запуска, обязательные системы и требования к защите данных.

Шаг 3. Описать роли и сценарии

Шаг 3 • Результат: перечень пользовательских историй с приоритетами

Что происходит: Выписываем роли и для каждой — сценарии в формате «действие → данные → результат». Сценарии раскладываем по приоритетам, обычно по методу MoSCoW (от англ. Must, Should, Could, Won't — обязательно, желательно, возможно, не в этой версии), чтобы очертить объём первой версии.

Шаг 4. Зафиксировать интеграции и нефункциональные требования

Шаг 4 • Результат: карта интеграций и требования к скорости, нагрузке, платформам

Что происходит: Для каждой внешней системы записываем данные, направление и частоту обмена, ответственного за API и поведение при сбое. Отдельно — производительность, нагрузка, версии ОС, перечень сторов, требования по персональным данным.

Шаг 5. Определить критерии приёмки

Шаг 5 • Результат: проверяемые условия приёмки для каждого сценария

Что происходит: Превращаем ключевые требования в проверки: действие и ожидаемый результат. Договариваемся о порядке приёмки — по этапам или целиком, кто и в какой срок подписывает.

Шаг 6. Согласовать и приложить к договору

Шаг 6 • Результат: подписанный документ — приложение к договору

Что происходит: Документ проходит согласование у владельца продукта и всех отделов-участников, после чего становится приложением к договору. С этого момента изменения проходят через дополнительное соглашение с пересмотром сметы и сроков.

Восемь частых ошибок в техническом задании

По нашему опыту разработки приложений и сайтов, споры и перерасход бюджета чаще всего растут из восьми мест в документе:

  1. Расплывчатые формулировки. «Удобный», «быстрый», «современный» не проверить и не оценить — каждое свойство переводим в цифру или сценарий.
  2. Функции без критериев приёмки. Требование есть, а способа проверить его нет — на приёмке начинается спор о трактовке.
  3. Интеграции «как-нибудь». Не записано, кто отвечает за методы со стороны учётной системы, — и обмен сдвигается на неопределённый срок.
  4. Забытые нефункциональные требования. Производительность, нагрузка, сторы и офлайн-сценарии вспоминают после релиза, когда доработка дорожает.
  5. ТЗ без участия заказчика. Подрядчик написал документ в одиночку — и склад с поддержкой узнают о продукте на тестировании.
  6. Нет приоритетов первой версии. Все функции «обязательные» — смета раздувается, а запуск откладывается. Приоритеты по MoSCoW решают это до подписания.
  7. Изменения без процедуры. Новые пожелания добавляются устно, смета и сроки не пересматриваются — конфликт гарантирован.
  8. Копия чужого ТЗ. Документ от другого проекта тащит чужие роли, системы и ограничения — собственная специфика остаётся незаписанной.

Ещё один пласт промахов лежит на стороне заказчика за пределами самого документа — они собраны в статье об ошибках заказчика при разработке приложения.

Шаблон технического задания на разработку

Рабочий каркас, с которого начинаем документы в проектах FITTIN, — двенадцать пунктов:

  1. Общие сведения — название продукта, стороны, назначение документа;
  2. Цели и метрики — задача бизнеса и показатели успеха;
  3. Термины и сокращения — словарь, чтобы все читали документ одинаково;
  4. Аудитория и роли — пользователи и их права;
  5. Функциональные требования — пользовательские истории с приоритетами;
  6. Интеграции — системы, данные, направление, частота, ответственные;
  7. Нефункциональные требования — скорость, нагрузка, платформы, безопасность;
  8. Интерфейсы — ссылка на макеты и правила их согласования;
  9. Критерии приёмки — проверки по сценариям и общие условия;
  10. Этапы и сроки — итерации с датами и точками согласования;
  11. Ограничения и зоны ответственности — что не входит и кто что предоставляет;
  12. Порядок изменений — как новые требования попадают в документ и смету.

Шаблон технического задания на разработку: двенадцать разделов от общих сведений до порядка изменений

По такому каркасу любая студия даст сопоставимую оценку — это и есть проверка полноты шаблона. Глубина проработки зависит от продукта: для мобильного приложения критичны сторы, версии ОС и push-уведомления, для сайта — структура разделов, формы, скорость загрузки и требования поисковиков, для B2B-системы — роли, доступы и обмен с учётной системой.

Сколько стоит разработка ТЗ и кто его пишет

Три рабочих варианта авторства: документ пишет сам заказчик (подходит, когда в компании есть опытный аналитик), пишет аналитик подрядчика (самый частый сценарий — интервью и формализация требований на его стороне) или стороны делают это вместе. Во всех трёх вариантах заказчик отвечает за вводные, участие отделов и согласование.

Цены на разработку технического задания в FITTIN опубликованы на странице услуги:

Формат Объём документа Стоимость и срок
Мини-ТЗ Описание MVP до 20 экранов, пользовательские истории, макеты ключевых экранов от 80 000 ₽, 2–3 недели
Стандартное ТЗ Полная спецификация до 50 экранов, интерактивные прототипы, архитектура и план реализации от 200 000 ₽, 3–4 недели
Комплексное ТЗ Мультиплатформенный продукт (iOS, Android, веб-версия и административная панель), детальные контракты API, UX-исследование от 400 000 ₽, 4–6 недель

Срок зависит от объёма продукта и скорости согласований на стороне заказчика. Если документ готовит аналитик подрядчика по часовой оплате (Time & Materials), работа считается по ставкам ролей со страницы тарифов — со сметой и оценкой по часам перед стартом задачи.

Кейсы: как требования из ТЗ работают в реальных проектах

Три проекта FITTIN, где результат определило качество требований, зафиксированных до разработки. Цифры приведены со страниц кейсов.

Сложные функциональные требования · DIY-ритейл

«Сатурн» — 7 594 установки за первый месяц, конверсия 12,4%

Федеральная сеть строительных гипермаркетов, более 20 городов и свыше 30 000 товаров в каталоге. Колеровка красок, распил материалов, доставка с манипулятором и грузчиками, оформление на юридическое лицо, привязка к региональным складам в 1С — каждое требование описано до старта, поэтому приложение вышло одновременно для iOS и Android и опубликовано в четырёх сторах: App Store, Google Play, RuStore и AppGallery.

Разделение работ · Детская одежда

Lassie — 3 576 установок за 6 недель, выпуск к новогоднему сезону

Приложение финского бренда детской одежды как продолжение интернет-магазина. Команда клиента готовила API и вебхуки, команда FITTIN параллельно делала интерфейсы и приложение — к готовности методов интеграции оставалось подключить данные. Приложение вышло без простоев к предновогоднему сезону: в пиковые дни декабря — до 376 установок в день, основным драйвером стал смартбаннер на сайте.

Требования к интеграциям · Сеть кофеен

One Price Coffee — 350+ точек на франшизе, стоп-листы каждые 15 минут

Приложение сети кофеен с предзаказом, конструктором напитка и лояльностью с QR без интернета. Интеграционный раздел включал iiko, систему лояльности, эквайринг и SMS: каталог синхронизируется инкрементально, стоп-листы обновляются каждые 15 минут по всем организациям сети, реквизиты и доступы хранятся по каждой кофейне отдельно — иначе точки франшизы не смогли бы работать в одном приложении.

Остальные проекты — в разделе кейсов.

Кейсы «Сатурн», Lassie и One Price Coffee — как требования из технического задания сработали в проектах

Итог: как получить работающее техническое задание

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

Что делать дальше:

Вопросы и ответы

Что должно входить в техническое задание на разработку?

Восемь обязательных разделов: цели и метрики, аудитория и роли, функциональные требования в виде пользовательских историй, интеграции с внешними системами, нефункциональные требования (скорость, нагрузка, платформы, безопасность), критерии приёмки, этапы и сроки, ограничения и зоны ответственности. Без любого из них документ не даёт ни точной сметы, ни основы для приёмки.

Кто должен писать техническое задание — заказчик или разработчик?

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

Чем техническое задание отличается от брифа?

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

Сколько страниц должно быть в техническом задании?

Объём следует за числом сценариев и интеграций, а не за нормой страниц. Описание MVP до 20 экранов обычно укладывается в 15–30 страниц, спецификация продукта до 50 экранов — в 40–80, мультиплатформенный проект с контрактами API занимает больше сотни. Признак достаточности — по документу незнакомая с проектом студия даёт оценку без уточняющих вопросов по существу.

Сколько стоит разработка технического задания?

В FITTIN мини-ТЗ (описание MVP до 20 экранов) стоит от 80 000 ₽ и занимает 2–3 недели, стандартное (спецификация до 50 экранов с прототипами и архитектурой) — от 200 000 ₽ и 3–4 недели, комплексное (мультиплатформенный продукт с контрактами API и UX-исследованием) — от 400 000 ₽ и 4–6 недель. Актуальные составы форматов опубликованы на странице услуги разработки ТЗ.

Как написать техническое задание на разработку сайта?

Каркас тот же, что для приложения, но акценты другие: структура разделов и навигация, формы и их обработчики, требования к скорости загрузки и адаптивной вёрстке, интеграции с учётной системой и сервисами аналитики, требования поисковых систем к индексации. Для сайта с большим объёмом структурированного контента — каталога, медиа, портала — отдельным разделом описывают модель контента и права редакторов.

Можно ли начать разработку без технического задания?

Можно, если объём мал и понятен — например, доработка работающего продукта по часовой оплате. Для нового продукта без документа уточнение требований переносится на этап разработки, где изменения затрагивают макеты и код. Оптимальный путь при ограниченном бюджете — мини-ТЗ или разработка MVP с узким набором сценариев.

Что делать, если требования изменились после подписания ТЗ?

Изменения оформляют дополнительным соглашением: новое требование оценивается по часам и срокам, смета и график пересматриваются, стороны подписывают обновлённую версию раздела. Такая процедура записывается в самом ТЗ — пункт «порядок изменений» как раз и существует для этого случая.

Материал носит информационно-аналитический характер, отражает оценку команды FITTIN на дату публикации.

ДАВАЙТЕ ОБСУДИМ
ВАШ ПРОЕКТ

Мобильное приложение