✍️ Постановка задачи на разработку: этапы, отличие от ТЗ
Понятия постановки задачи на разработку и техническое задание часто путают меду собой, но это разные вещи.
🔸Техническое задание — это документ, который определяет, что должно быть реализовано и как это должно работать (функциональные требования) и насколько это должно быть быстро/безопасно/отказоустойчиво/дружелюбно/отслеживаемо (нефункциональные требования). ТЗ возникает как результат обработки бизнес-требований, и их перевода на системный уровень.
🔹Постановка задачи на разработку — описание конкретных задач, которые должны быть выполнены разработчиками для реализации ТЗ.
Когда постановка задачи должна быть представлена как отдельный артефакт
Постановка задачи на разработку нужна всегда, но не всегда должна быть оформлена как отдельный артефакт. Иногда достаточно ТЗ, если оно содержит нужные детали для разработки.
Случаи, когда необходимо описать постановку задачи отдельно:
💩Когда задача на доработку, а не на разработку с нуля. Есть одна большая спецификация на кусок функционала, и в это ТЗ дописываются требования по доработкам. ПЗ помогает выделить и описать конкретные изменения, которые нужно внести в существующую систему.
💩Когда задача составная и требует декомпозиции. В постановке можно разбить задачу на более простые подзадачи, тогда как ТЗ описывает реализацию функционала в целом без привязки на то, в рамках каких конкретных задач на разработку это будет реализовываться, сколько будет таких задач, кто их будет делать, какова оценка трудозатрат и т.д.
Постановка задачи на разработку может содержать следующие пункты:
💩Введение, цель: Необходимо описать бизнес-контекст, почему задача возникла. Например, компания столкнулась с проблемой неэффективного учета заказов и хочет улучшить этот процесс.
💩Описание решения: способ и границы реализации (ТЗ, Use Case, статусные модели, макеты UX/UI, описание интеграций)
💩Ключевые источники информации: спецификации API, HLD, глоссарий, стандарты и т.д.
💩Диаграммы: например, UML sequence, activity, бизнес-процесс в BPMN, схемы данных
💩Заинтересованные стороны: перечень людей, влияющие на принятие решений
💩 Критерии приемки: критерии, по которым будет оцениваться успешное завершение проекта.
💩НФТ и ограничения решения: производительность, масштабируемость, доступность и т.д.
🆚 Отличие постановки задачи на разработку (ПЗ) от ТЗ
💩(утрируя) ТЗ — это текст в Confluence, ПЗ — описание в Jira
💩ТЗ описывает требования к функциональности в целом, а постановка направлена на реализацию функционала в рамках конкретных задач
💩Одно ТЗ может быть декомпозировано на несколько задач, при этом каждая может иметь свою постановку на разработку
💩Иногда в ТЗ уже содержится и постановка задачи, но лучше понятия не смешивать и всё равно прописывать постановку задачи отдельно
⭐️ Подборки материалов по этой и другим темам доступны в базе знаний по системному анализу
#требования
Post #349
16K