BETA

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

Стори поинт (story point) — условная единица размера задачи. Она ничего не говорит о часах и минутах и нужна ровно для одного: сравнивать задачи между собой, чтобы понимать, сколько команда успевает за спринт.

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

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

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

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

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

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

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

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

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

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

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

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

Velocity — сумма поинтов задач, доведённых до готовности за спринт. Считается по фактически законченному: наполовину сделанная задача в сумму не входит вовсе.

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

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

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

Есть несколько привычек, которые обесценивают всю затею.

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

Сколько поинтов — слишком много

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

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

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

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

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