qvib.pro
EN

Декомпозиция работы (Epic → Story → Task)

Как дробить большое на проверяемое: иерархия Epic→Feature→Story→Task и принцип INVEST.

бесплатно любой

Суть

Декомпозиция — это дробление большого на маленькое и проверяемое. Главный принцип: крупное прячет риск, тормозит поток и не поддаётся оценке, а мелкое легко оценить, проверить и довести до конца. «Слона едят по кусочкам»: непонятную задачу на месяцы превращаем в цепочку понятных шагов на часы.

Иерархия

Epic     — крупная цель/тема (недели-месяцы), напр. «Облачная синхронизация».
  └ Feature — законченная возможность, напр. «Вход и регистрация».
      └ User Story — ценность для пользователя, влезает в спринт.
          └ Task — конкретный технический шаг (часы), напр. «эндпоинт логина + тест».
  • Epic/Feature — язык планирования и roadmap.
  • Story — язык спринта и приёмки (ценность + критерии).
  • Task — язык ежедневной работы (технические шаги).

INVEST — критерий хорошей истории

Independent · Negotiable · Valuable · Estimable · Small · Testable. Если история нарушает Small (не влезает в спринт) или Estimable (нельзя оценить) — её надо дробить дальше.

Пример декомпозиции на числах

Epic: «Облачная синхронизация» — оценка навскидку ~40 SP (слишком крупно, риск спрятан).

Дробим на Features:
  F1. Вход/регистрация ......... ~13 SP
  F2. Push/pull ядра ........... ~13 SP
  F3. Realtime + конфликты ..... ~14 SP

F1 «Вход/регистрация» дробим на Stories (каждая ≤ спринт, INVEST):
  S1. Регистрация по email ............ 5 SP
  S2. Вход и сессия ................... 5 SP
  S3. Выход и сброс локального ядра ... 3 SP

S1 дробим на Tasks (часы):
  T1. Эндпоинт POST /register + валидация + тест
  T2. Форма регистрации (UI) + состояния ошибок
  T3. Хеширование пароля + сохранение в БД + миграция

Проверка: 5+5+3 (Stories F1) ≈ 13 SP — сходится с оценкой Feature. ✔
Большие истории (≥13–21) НЕ берём в спринт как есть — дробим (нарушен Small).

Когда применять

  • Перед спринтом — Epic/Feature → Stories размера спринта.
  • Перед работой — Story → Tasks (технические шаги).
  • В вайб-кодинге — тот же принцип: сервис/фичу дробим на проверяемые шаги, после каждого — проверка (ровно фаза Plan конвейера).

Ловушки

  • История-гигант в спринте. → Неопределённость огромна, риск спрятан; дроби до ≤8–13 SP.
  • Дробление по слоям, а не по ценности («сделать весь бэкенд», «потом весь фронт»). → Story должна давать пользовательскую ценность вертикально (тонкий срез фичи целиком).
  • Task вместо Story («создать таблицу») как единица ценности. → Task — шаг, ценность несёт Story.
  • Передробление. → Десятки микрозадач на тривиальное — overhead; дроби до «понятно и проверяемо», не мельче.
  • Потеря целого. → Дробя, держи в голове Epic — зачем всё это; иначе соберётся не то.

Read in English →