Техническое задание на разработку: как написать ТЗ
Фраза «нам нужна удобная программа для магазина» каждый разработчик поймёт по-своему: оценки будут отличаться в разы, а готовый продукт окажется не тем, что вы представляли. Техническое задание (ТЗ) нужно именно для того, чтобы заказчик и исполнитель одинаково понимали результат. Разберём, зачем нужно ТЗ на разработку, кто его пишет, из каких разделов оно состоит и каких ошибок избегать, — с примерами формулировок.
Что такое техническое задание и зачем оно нужно
ТЗ — документ, который описывает, что должна делать будущая система, кто будет ею пользоваться и при каких условиях работа считается выполненной. У него три функции:
- Общее понимание. Заказчик, менеджер, дизайнер и программисты видят один и тот же результат.
- Основа для оценки. Без чёткого перечня обоснованно посчитать стоимость и сроки невозможно.
- Критерии приёмки. Заранее понятно, что проверять при сдаче, а значит, меньше споров.
Кто пишет ТЗ
Есть три пути:
- Пишет заказчик. Он знает бизнес изнутри, но может упустить технические детали.
- Пишет исполнитель. Документ получается полным с технической стороны, но могут потеряться нюансы бизнеса.
- Вместе, на этапе аналитики. Заказчик рассказывает о процессах и целях, аналитик или менеджер проекта задаёт вопросы и оформляет документ, заказчик его утверждает. На практике это самый результативный вариант.
Даже если пишете сами, идеальный документ не нужен. Понятный черновик, написанный с точки зрения бизнеса, уже сильно помогает исполнителю.
Структура ТЗ: основные разделы
Цель проекта и решаемая проблема
Коротко: как вы работаете сейчас, что мешает, что должно измениться после запуска. Например: «Оптовые заказы принимаются в Telegram и по телефону, долги ведутся в Excel; цель — видеть все заказы и оплаты в одной системе».
Пользователи и роли
Кто работает в системе и что видит каждый: руководитель, менеджер, кладовщик, кассир, клиент. Если определить права доступа заранее, многие вопросы безопасности решатся сами собой.
Ключевые процессы и сценарии
Опишите важные процессы по шагам: «Менеджер создаёт заказ → выбирает клиента → добавляет товары и количество → система проверяет остаток → заказ уходит на склад → кладовщик собирает его и меняет статус». Такие сценарии полезнее сухого списка функций.
Список функций с приоритетами
Отметьте каждую функцию: обязательная (без неё запуск невозможен), важная (нужна в первой версии) или на потом. Это помогает разбить проект на этапы и управлять бюджетом.
Экраны и прототип
Перечень основных страниц или экранов, наброски от руки, скриншоты похожих программ. Картинка понятнее любых слов.
Данные
Что хранится в системе: клиент (имя, телефон, адрес, ценовая категория), товар (название, артикул, единица измерения, цены), заказ и так далее. Отдельно укажите, нужно ли переносить данные из Excel или старой программы.
Интеграции
С чем должна работать система: платёжные сервисы, бухгалтерская программа, Telegram-бот, SMS, сайт. Для каждой интеграции укажите, какие данные и в какую сторону передаются.
Технические и нефункциональные требования
- Платформы: веб, Android, iOS, Windows.
- Языки интерфейса: русский, узбекский (латиница, кириллица).
- Примерное количество пользователей и филиалов.
- Работа при слабом интернете, нужен ли офлайн-режим.
- Резервное копирование, права доступа, журнал действий.
Критерии приёмки
Для каждой ключевой функции опишите, что значит «работает». Например: «При подтверждении заказа остаток на складе уменьшается автоматически, при нехватке товара система предупреждает».
Что не входит в проект
Перечислите и то, чего не будет: например, в первой версии нет мобильного приложения и бухгалтерских отчётов. Это снимает недопонимания в будущем.
Размытые и точные требования: примеры
| Размыто | Точно |
|---|---|
| Система должна быть удобной | Менеджер создаёт заказ на одной странице, выбирая клиента и товары через поиск |
| Нужны отчёты | Руководитель видит отчёт по продажам с фильтром по дате, менеджеру и филиалу и выгружает его в Excel |
| Должно работать быстро | Список заказов открывается без долгого ожидания даже через мобильный интернет |
| Связь с Telegram | При новом заказе ответственный менеджер получает уведомление в Telegram |
| Должно быть безопасно | Кассир видит продажи только своего филиала и не может менять цены |
Правило простое: любой, кто прочитает требование, должен понять его одинаково и суметь проверить.
Частые ошибки
- Описывать решение вместо проблемы. Вместо «сделайте как в такой-то программе» напишите, какую задачу нужно решить.
- Длинный список без приоритетов. Если важно всё, значит, не важно ничего.
- Не спросить пользователей. Реальная работа кассира и кладовщика отличается от представлений в офисе.
- Противоречия. Дайте прочитать документ человеку со стороны.
- «Заморозить» ТЗ навсегда. Требования меняются, и это нормально; главное — согласовывать изменения письменно и оценивать их влияние на сроки и бюджет.
Простой шаблон ТЗ
- Компания и цель проекта.
- Текущий процесс и проблемы.
- Пользователи и роли.
- Ключевые сценарии.
- Список функций с приоритетами.
- Данные и их перенос.
- Интеграции.
- Технические требования.
- Критерии приёмки.
- Что не входит в проект.
В ТЗ на сайт на первый план выходят структура страниц, дизайн и требования для поисковой оптимизации — при создании сайтов мы уточняем эти разделы в первую очередь. В ТЗ на CRM или ERP в центре процессы, роли и отчёты.
Частые вопросы
Можно ли начать разработку без технического задания?
Для небольшой задачи хватит короткой письменной договорённости. Но для CRM, приложения или сложного сайта старт без ТЗ резко повышает риск разногласий по цене, срокам и результату.
Насколько подробным должно быть ТЗ?
Настолько, чтобы разработчик мог оценить работу без дополнительных вопросов, а вы — проверить результат. Мелкие детали можно уточнять на этапе прототипа и разработки.
Помогаете ли вы составить техническое задание?
Да, многие проекты начинаются с этапа аналитики: мы задаём вопросы, изучаем ваши процессы, готовим ТЗ и согласовываем его с вами.
UFLEX — IT-команда из Намангана. Разрабатываем сайты, мобильные приложения, Telegram-боты, CRM/ERP, складские и кассовые системы и сопровождаем проект от сбора требований и ТЗ до размещения на сервере и поддержки. С клиентами из Ташкента и других городов работаем удалённо. Чтобы превратить идею в понятное техническое задание, оставьте заявку или напишите нам в Telegram.