← Назад к вопросам

Что такое Story Points?

2.0 Middle🔥 111 комментариев
#Процессы и методологии разработки

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое Story Points?

Story Points — это абстрактная единица измерения, используемая в agile-методологиях (в частности, в Scrum) для оценки относительной сложности и объёма работы, необходимого для реализации пользовательской истории (user story) или задачи. Ключевое слово здесь — относительность. Story Points не измеряют непосредственно время, а сравнивают сложность одной задачи с другими, выступая в роли "счётчика сложности".

Философия и ключевые принципы

Основная идея Story Points заключается в том, чтобы сместить фокус команды с абсолютного времени ("это займёт 5 часов") на анализ внутренней сложности работы. Это помогает избежать ряда когнитивных искажений:

  • Планирование по времени часто ошибочно, так как разработчики склонны недооценивать объём работы или не учитывать непредвиденные сложности.
  • Story Points оцениваются командой (на планировочном покере), а не одним человеком. Это позволяет учесть разные точки зрения, опыт и знания (например, о скрытой сложности в кодовой базе).
  • Они отражают совокупность трёх факторов:
    1.  **Сложность** (Complexity): Логическая и архитектурная трудность задачи.
    2.  **Объём работы** (Amount of work): Количество компонентов, которые нужно изменить или создать.
    3.  **Риски и неопределённость** (Risk & Uncertainty): Неясные требования, зависимость от внешних систем, незнакомая технология.

Часто для оценки используется последовательность Фибоначчи (1, 2, 3, 5, 8, 13, 21) или подобная шкала (например, 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100). Нелинейный рост чисел подчёркивает, что с ростом размера задачи неопределённость растёт экспоненциально.

Практическое применение и польза для команды

В процессе планирования спринта команда использует Story Points для:

  • Формирования Бэклога Продукта: Историям присваиваются баллы, что позволяет Product Owner приоритизировать не только бизнес-ценность, но и соотношение "ценность/сложность".
  • Определения ёмкости спринта (Velocity): После завершения нескольких спринтов команда узнаёт свою скорость (Velocity) — среднее количество Story Points, которое она стабильно завершает за спринт. Это ключевой метрика для прогнозирования.
  • Прогнозирования сроков: Зная общее количество Story Points в бэклоге и среднюю скорость команды, можно предсказать, сколько спринтов потребуется для реализации определённого объёма функциональности.

Золотое правило: Story Points — это инструмент для внутреннего использования команды. Сравнивать скорости разных команд абсолютно бессмысленно, так как "стоимость" одного балла (то, что за ним стоит) у каждой команды своя и калибруется на её собственном опыте.

Пример процесса оценки

Допустим, у нас есть три задачи:

  • A: Добавить новое поле в форму (простое, понятное, делали много раз).
  • B: Интегрировать платежную систему X (новый API, есть документация, но есть и неопределённость).
  • C: Переписать модуль авторизации под микросервис (архитектурно сложно, много связей, высокий риск).

На сессии планировочного покера команда сравнивает задачи друг с другом:

  1. Берём самую маленькую и понятную задачу из прошлого опыта как эталон в 1 Story Point (например, "Исправить опечатку в сообщении"). Задача A выглядит чуть сложнее, но всё ещё очень просто. Ей присваивают 2 балла.
  2. Сравниваем B с A: "Интеграция с платежкой" явно сложнее, чем добавить поле. Это новый код, тесты, обработка ошибок. Команда присваивает 5 баллов.
  3. Сравниваем C с B: Переписать целый модуль — задача на порядок сложнее. Здесь и архитектура, и рефакторинг, и риски поломки существующей функциональности. Ей единогласно выпадает 13 баллов.
# Упрощённый взгляд на бэклог после оценки
ID | Задача                                 | Story Points
---|----------------------------------------|-------------
US-1 | Добавить поле "Комментарий" в форму | 2
US-2 | Интеграция с PaymentProvider API     | 5
US-3 | Рефакторинг модуля Auth -> Service  | 13

Краткие выводы

  • Story Points — это не время. 5 баллов никогда не означает "5 часов работы". Это относительная мера сложности для конкретной команды.
  • Это командная метрика. Оценивает вся команда, учитывая все аспекты работы (разработка, тестирование, ревью).
  • Основная цель — прогнозирование. Позволяет команде реалистично планировать спринты и давать условные прогнозы по срокам релиза на основе эмпирических данных (Velocity).
  • Это защитный механизм. Уводит от микроменеджмента ("почему задача на 2 балла заняла не 4, а 6 часов?") к макропланированию на уровне итераций.

Таким образом, Story Points — это мощный инструмент самоорганизации и планирования для agile-команд, который, при корректном использовании, значительно повышает точность прогнозов и прозрачность процесса разработки.

Что такое Story Points? | PrepBro