BETA

Стори поинты: что это и как считать

Стори поинтами (story points) измеряют размер задачи в условных единицах. К часам и минутам они отношения не имеют. Поинты нужны, чтобы сравнивать задачи между собой и понимать, сколько команда успевает за спринт.

Почему не часы

Часы у каждого свои. Одну и ту же работу два разработчика сделают за разное время. Оценка в часах всегда означает «сколько это займёт у меня», хотя потом её считают общей.

Кроме того, часы воспринимают как обещание. Сказал «шесть часов», и через день тебя спрашивают, почему не готово. А между оценкой и готовой задачей ещё ревью, тестирование, чужие блокеры и отвлечения на поддержку.

С поинтами такой проблемы нет. Поинт говорит, что эта задача примерно вдвое больше той. Такое утверждение команда может проверить и оспорить, и никому не придётся оправдываться.

Из чего складывается размер

Поинт учитывает не только объём кода. В него входят три вещи, и путаница начинается, когда помнят только про первую.

  • Объём: сколько всего надо сделать. Экраны, поля, сценарии, тесты.
  • Сложность: насколько это трудно. Незнакомая область, хитрая логика, чужой код.
  • Неопределённость: сколько неизвестного. Внешний сервис, который может повести себя как угодно, или требования, которые ещё уточняют.

С чего начать: эталон

Сама по себе единица ничего не значит, поэтому команде нужен эталон. Это задача, которую все помнят: небольшая, но и не пустяковая. Ей ставят, например, двойку и дальше сравнивают всё с ней.

Удобно завести два-три эталона разного размера: на двойку, на пятёрку и на восьмёрку. С тремя точками отсчёта новую задачу оценить проще, чем с одной.

Со временем эталоны меняются. Через полгода бывшая пятёрка может стать двойкой, потому что область стала знакомой. Это нормально, но шкалу лучше пересматривать целиком, а не по одной задаче.

Как из поинтов получается velocity

Velocity считают как сумму поинтов задач, законченных за спринт. Считается только то, что готово. Наполовину сделанная задача в сумму не входит.

Цифра начинает что-то значить к третьему-четвёртому спринту, когда видно среднее и разброс. С ними планирование сводится к арифметике: «Обычно мы берём сорок, в бэклоге пятьдесят пять, значит, что-то не поместится».

Velocity нужна для прогноза. Если за неё начинают хвалить и ругать, поинты растут. Работать быстрее команда не станет, зато уже в следующем спринте начнёт оценивать щедрее.

Чего с поинтами делать нельзя

Несколько привычек сводят пользу поинтов к нулю.

  • Переводить поинты в часы. Правило «поинт равен четырём часам» возвращает всё к оценке в часах.
  • Сравнивать velocity двух команд. У каждой своя шкала.
  • Ставить velocity целью. Если цифра растёт, а работы делается столько же, метрику подгоняют.
  • Оценивать поинтами людей. Оценивают задачу, а не того, кто её взял.
  • Менять оценку задним числом. Она показывает, что знали на момент оценки, и именно поэтому полезна для прогноза.

Сколько поинтов уже слишком много

Если команда оценивает задачу выше восьмёрки, скорее всего, её не до конца понимают. Такую задачу лучше разбить на части. Большие задачи не запрещены, просто в них слишком много неизвестного, и оценка получается ненадёжной.

Хорошее правило: задача должна помещаться в спринт с запасом. Если она занимает весь спринт, любая неожиданность оставит команду без готовых задач.

Попробовать на своей задаче

Комната создаётся одной кнопкой, команда входит по ссылке без регистрации.

Создать комнату