Estimation: Story Points и Planning Poker

Story Points — относительные единицы оценки сложности задач в Agile, а Planning Poker — командная техника консенсусной оценки с помощью карточек по шкале Фибоначчи.

Зачем нужно

Оценка задач — один из самых сложных и важных навыков разработчика. Неверные оценки ломают sprint, разочаровывают stakeholders и создают стресс для команды. Story Points решают проблему абсолютных временных оценок ("эта задача на 3 часа"), заменяя их относительными сравнениями ("эта задача вдвое сложнее той"). Это снижает споры и учитывает неопределённость.

Где используется

  • Scrum Sprint Planning — оценка задач бэклога перед спринтом
  • Roadmap-планирование — приблизительная ёмкость эпиков
  • Найм — понимание, как кандидат мыслит о сложности задач

Story Points: принципы

Шкала Фибоначчи

1 — тривиально (исправить опечатку, обновить текст)
2 — просто (добавить CSS-класс, изменить конфиг)
3 — стандартно (небольшой компонент с логикой)
5 — умеренно сложно (интеграция с API, новый экран)
8 — сложно (новая фича с состоянием, рефакторинг)
13 — очень сложно → декомпозируй!
21 — эпик → разбей на несколько задач

Нет 4, 6, 7 — промежуточные значения снижают скорость принятия решений

Что учитывает Story Point

Сложность (Complexity)  — насколько нестандартная задача
Объём (Volume)          — количество кода/файлов
Неопределённость (Risk) — насколько понятно, что делать

НЕ учитывает: часы, дни, кто делает

Planning Poker: процесс

1. Product Owner читает User Story
2. Команда задаёт уточняющие вопросы
3. Каждый выбирает карточку (молча)
4. Все открывают карточки одновременно
5. Если разброс большой — обсудить крайние мнения
6. Повторить голосование
7. Записать финальную оценку

Пример сессии

Story: "Добавить фильтр товаров по цене"

Dev A: 3  (уже делал похожее)
Dev B: 8  (не понимает, нужен ли backend)
Dev C: 5

→ B объясняет: "Непонятно — фильтр на клиенте или серверный?"
→ PO уточняет: "Только на клиенте, данные уже в Redux"
→ Переголосование: A=3, B=3, C=3 → Story Point = 3

Velocity

Velocity = сумма Story Points завершённых задач за спринт

Пример: спринт 2 недели
  Команда 4 человека
  Завершили: 8 + 5 + 3 + 3 + 5 = 24 SP
  Velocity = 24 SP / спринт

Через 3–4 спринта velocity стабилизируется → можно планировать

Частые ошибки

Ошибка Проблема Решение
Оценивать в часах Зависит от исполнителя, вызывает конфликты Использовать SP как относительные числа
Давить на команду для снижения оценок Нереалистичный план, провал спринта PO принимает оценку команды
Брать задачи с 13+ SP Непредсказуемы, ломают спринт Декомпозировать до 8 и меньше
Менять смысл SP между спринтами Velocity теряет смысл Держать шкалу стабильной

Связанные темы

Ресурсы