Как происходит декомпозиция задач?
Что проверяют
Умеете ли вы резать задачу так, чтобы каждый кусок можно было отдельно оценить, сделать и проверить. Смотрят на способ мышления, а не на знание фреймворка: где вы проводите границы и как поступаете с неизвестностью.
Как отвечать
- Начинать с цели и критериев приёмки: что считается сделанным и какой измеримый эффект ожидается. Без этого декомпозиция превращается в список работ.
- Резать вертикально, по пользовательскому сценарию: каждый кусок доводит ценность до конца. Горизонтальные слои (сначала вся схема БД, потом весь бэкенд, потом фронт) не дают ничего проверяемого до самого конца и прячут риск интеграции.
- Приёмы разреза: по шагам сценария, по бизнес-правилам (основной путь отдельно, исключения отдельно), по сегментам данных, по каналам, по схеме «сначала ручная операция, потом автоматизация», по операциям CRUD.
- Проверять куски по INVEST: независимый, обсуждаемый, ценный, оцениваемый, небольшой, тестируемый. Если оценить нельзя, там неизвестность, и на неё выделяется спайк с ограниченным временем, а не оценка на глаз.
- Явно выписывать зависимости и контракты между командами: согласование API обычно и определяет реальный срок.
- Проверять полноту: подзадачи должны покрывать цель без пересечений, а нефункциональные требования (нагрузка, права доступа, миграция данных, аналитика, откат) идут отдельными пунктами, иначе про них вспоминают на релизе.
Где спотыкаются
Декомпозируют по слоям и по исполнителям. Получается набор задач, ни одна из которых не приносит результата до полной сборки, и статус проекта невозможно измерить.
Дробят слишком мелко. Список из полусотни задач по два часа теряет связь с целью, а накладные расходы на управление съедают выигрыш.
Смешивают понятную работу и неизвестность в одной задаче, поэтому оценка всегда мимо. Исследование должно быть отдельным пунктом с ограничением по времени и понятным результатом.
Забывают про сопутствующее: миграции данных, права, логирование, документацию, план отката. Именно эти пункты обычно и срывают срок.