С оценками 2 проблемы:
- они занимают определенное время (и бывает, что реально много)
- они все равно сильно приблизительны (и на самом деле никто не знает как сделать их лучше)
Идея в том, что нужно разбить работу на относительно небольшие задачи. Это требует проектирования. Зная количество таких задач мы можем понять стоимость/сроки проекта и принять решение имеет смысл он или нет. Другими словами, “План - ничто, планирование - все.” (Д.Эйзенхауэр). Уже во время реализации проекта можно определить скорость по количеству задач и спрогнозировать срок для конкретной команды.
Это придумал Vasco Duarte. У него написана книга, но достаточно и 45-ти минутного видео (есть несколько вариантов за разные годы) для общего понимания.
В целом, концепт импонирует. И достаточно хорошо отвечает как же все же оценивать.
Для первоначальных оценок (когда еще нет команды и прочего) я использую немного другую схему, но идея примерно такая же: проект разбивается на поставляемые артефакты (условные формы в UI и API в бекенде) и каждая такая задачка занимает 4ч (может меняться немного от проекта к проекту). Это дает понять относительный размер проекта.
Понятно, что оценивать календарные сроки без команды, которая вместе отработала хотя бы пару недель, можно, но это просто пальцем в небо.
Чтобы сформировать список задач обычно сначала выделяю роли, к ролям прописываю пользовательские сценарии, а уже к сценариям задачи.
Опять же не нужно забывать, что оценка – это не обязательство. В проектах обязательство на себя берет прежде всего менеджер проекта – это его задача по определению справляться с самыми разными проблемами и успешно сдать проект. К оценкам разработки обычно добавляют различные риски. Это приводит к тому, что первоначальная оценка увеличивается в 3-10 раз.
В Agile нет проектов, оценка дается на продукт/функционал, чтобы понять оно примерно выгодно или нет. Затем уже есть движение к этому функционалу, которое в любой момент при достижении бизнес-целей (например, появился более приоритетный функционал, а этот уже немного работает и все “сливки” сняли) останавливается.