Как составить техническое задание на разработку
Даем шаблон и разбираем, как готовят техзадание
Кто пишет техническое задание
Техническое задание может подготовить заказчик, подрядчик или обе стороны вместе. Это зависит от того, есть ли у заказчика своя продуктовая или техническая команда.
Если в компании есть аналитик, менеджер продукта или разработчики, они могут подготовить часть требований. Например, указать цели продукта, роли пользователей, сценарии работы и основные функции системы.
Когда техническое задание готовит подрядчик, команда разработки собирает требования на интервью, уточняет пользовательские сценарии, интеграции и ограничения системы и оформляет их в структурированный документ.
Когда к нам обращается потенциальный клиент, сначала мы собираем полную информацию о его проекте и бизнес-задачах. Чтобы написать техзадание, разбираем большую задачу на крупные верхнеуровневые блоки.
Потом обсуждаем задачи с командами: бэкенда, дизайна, фронтенда, эксплуатации и инфраструктуры (DevOps). Каждая команда оценивает по сложности и времени свою часть работы, уточняет бизнес-требования и технические детали.
На основе этих оценок составляем спецификации — документы, в которых все задачи разделены на крупные этапы. Например, по первой спецификации мы разрабатываем в приложении авторизацию или регистрацию пользователя. По второй — подключаем уведомления.
По третьей — связываем приложение с системой лояльности. Так клиент видит этапы работы и понимает, из чего складывается общая стоимость проекта. Он легко ориентируется в сроках и связанных или блокирующих задачах.
После согласования с клиентом мы на основе спецификаций переходим к разработке технического задания. В нем детально описываем все этапы работы и учитываем технические детали.
На практике техзадание часто готовят вместе. Заказчик описывает задачи продукта и его функции, подрядчик помогает дополнить требования техническими деталями. Например, параметрами работы системы, интеграциями, критериями приемки. Затем документ согласуется обеими сторонами.
Что входит в техническое задание
В российском законодательстве нет жестких требований к проектной документации, поэтому форма и содержание технического задания могут отличаться. Чаще всего в нем указывают:
- Цель и назначение продукта: задачи системы, платформы (iOS, Android, HarmonyOS), версии, языки интерфейса, регуляторные требования (например, требования к обработке персональных данных).
- Границы проекта: какие функции входят в объем работ, а какие нет.
- Роли пользователей и сценарии работы: типы пользователей — клиент, администратор, менеджер — и их действия в системе. Например, клиент оформляет заказ, система проверяет наличие товара, рассчитывает стоимость доставки и создает заказ.
- Функциональные требования: перечень всех функций и условия их работы. Например, система отправляет уведомление, когда меняется статус заказа.
- Нефункциональные требования: производительность, безопасность, отказоустойчивость, поддерживаемые устройства и версии операционных систем, требования к хранению данных. Например, время отклика интерфейса — не более двух секунд.
- Интеграции и внешние зависимости: список внешних систем (платежные системы, сервисы отправки сообщений или уведомлений), цель интеграции и как она реализована (API, обмен файлами).
- Технические ограничения: требования к инфраструктуре, архитектуре или размещению системы.
- Этапы реализации и критерии приемки. Проект можно разбить на релизы. Например, «авторизация пользователей», «каталог товаров», «оформление заказа». Для главных функций описывают условия, при которых задача считается выполненной.
Какие есть ГОСТы на разработку ПО
ГОСТы часто применяются при разработке государственных информационных систем. В таких проектах используют стандарты серии ГОСТ 34, для автоматизированных систем, и серии ГОСТ 19, для программной документации. Процессы жизненного цикла ПО описывают стандарты ГОСТ Р ИСО/МЭК 12207-2010 и ГОСТ Р ИСО/МЭК 15288-2005.
Например, если ведомство запускает систему для записи граждан на прием, структуру технического задания определяет ГОСТ 34.602-2020:
- Общие сведения.
- Назначение и цели создания (развития) системы.
- Характеристика объектов автоматизации.
- Требования к системе.
- Состав и содержание работ по созданию (развитию) системы.
- Порядок контроля и приемки системы.
- Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие.
- Требования к документированию.
- Источники разработки.
ГОСТ 19.201-78 описывает структуру технического задания для любой программы (например, для сервиса обработки изображений). Его применяют в проектах, где это требуется по регламенту организации или контракту. Техническое задание включает в себя:
- Введение.
- Основание для разработки.
- Назначение разработки.
- Требования к программе.
- Требования к программной документации.
- Технико-экономические показатели.
- Стадии и этапы разработки.
- Порядок контроля и приемки.
Пример технического задания на разработку
Техническое задание обычно оформляют в документе, например, в Google Docs или Microsoft Word. В продуктовых командах требования часто описывают в системах документации, таких как Confluence. Чтобы было проще начать работу, мы подготовили шаблон технического задания. Его можно скачать и адаптировать под свой проект.