Ответ
Техническое задание (ТЗ) — это документ, который фиксирует требования к продукту, его функционалу, ограничения и критерии приемки. Вот как я подхожу к его составлению:
-
Сбор требований:
- Провожу интервью с заказчиком, стейкхолдерами и командой.
- Использую техники: User Stories, Use Cases, BPMN.
-
Структура ТЗ:
- Цель проекта (зачем делаем).
- Функциональные требования (что система должна делать).
- Нефункциональные требования (производительность, безопасность).
- Ограничения (бюджет, сроки, технологии).
- Критерии приемки (как поймем, что готово).
- Пример требования:
Система должна позволять пользователю авторизоваться через Google OAuth 2.0.
Время ответа API — не более 500 мс при нагрузке 100 RPS.
-
Валидация:
- Проверяю ТЗ на полноту, непротиворечивость и тестируемость.
- Согласовываю с командой и заказчиком.
-
Инструменты:
- Confluence, Notion, Jira (для трекинга требований).
- Иногда — прототипы в Figma для UI/UX.
Главное — сделать ТЗ живым документом: обновлять его по мере изменений, но минимизировать правки после старта разработки.