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 теряет смысл | Держать шкалу стабильной |
Связанные темы
- _MOC Процессы
- Scrum -- роли, события, артефакты
- Sprint -- планирование и ретроспектива
- User Stories и Acceptance Criteria
- Декомпозиция задач