Перейти к основному содержимому

Постановка задачи на разработку: этапы, отличие от ТЗ

Понятия постановки задачи на разработку и техническое задание часто путают между собой, но это разные вещи.

Что такое Техническое задание (ТЗ)

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

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

Постановка задачи на разработку — это описание конкретных задач, которые должны быть выполнены разработчиками для реализации ТЗ.

Когда постановка задачи должна быть представлена как отдельный артефакт

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

Случаи, когда необходимо описать постановку задачи отдельно:

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

Содержание постановки задачи на разработку

  • Введение, цель: Описание бизнес-контекста и причины возникновения задачи. Например, компания столкнулась с проблемой неэффективного учета заказов и хочет улучшить этот процесс.
  • Описание решения: Способ и границы реализации (ТЗ, Use Case, статусные модели, макеты UX/UI, описание интеграций).
  • Ключевые источники информации: Спецификации API, HLD, глоссарий, стандарты и т.д.
  • Диаграммы: UML sequence, activity, бизнес-процесс в BPMN, схемы данных.
  • Заинтересованные стороны: Перечень людей, влияющих на принятие решений.
  • Критерии приемки: Критерии, по которым будет оцениваться успешное завершение проекта.
  • НФТ и ограничения решения: Производительность, масштабируемость, доступность и т.д.

Отличие постановки задачи на разработку (ПЗ) от ТЗ

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

Подборка материалов

  1. Постановка задачи в ИТ-проектах
  2. 6 ошибок при постановке задач в IT-проектах
  3. Как правильно поставить задачу для разработки
  4. User Story Mapping: вопросы и ответы по постановке задач
  5. Свойства качественных требований
  6. От требований к постановкам задач
  7. Как справиться с декомпозицией задач и не перестараться

Видео

  1. Постановки задач в ИТ
  2. Как составить ТЗ на разработку?
  3. Схема постановки задач на примере компании
  4. Что должна содержать постановка на реализацию?
  5. Основы постановки задачи на разработку от Степик

Курс от Stepik

Постановка задачи на разработку ПО