Оценка и story points
Story Points
Что это такое
Story points — это абстрактная единица: работу измеряют относительно другой работы, а не в часах. Команда договаривается о грубой шкале и оценивает элементы друг относительно друга. Сумма небольшой партии затем служит прогнозом того, что уместится в итерацию, а артефакт — оценённый бэклог.
Почему это важно
Команды плохо дают абсолютные оценки и куда лучше справляются со сравнениями: на вопрос «это больше прошлого?» ответить можно, а «сколько часов?» приглашает догадку, переодетую в число. Относительная оценка переживает и обнаружение забытой задачи, потому что шкала измеряет элемент относительно соседей, а не относительно часов. Однако режимы отказа столь же конкретны: story points читают как показатель продуктивности, velocity сравнивают между командами, а шкала не имеет общего смысла, — и любой из них превращает помощь в прогнозировании в метрику производительности, после чего команда начинает завышать оценки или играть с ними.
Ключевые идеи
Оценивайте относительно опорного элемента, а не часов
Держите два-три известных элемента и сравнивайте всё с ними: шкалы 1, 2, 3, 5, 8, 13 без привязанных часов достаточно.
Опорный 3 добавить фильтр в существующий список
Опорный 8 построить простую форму с валидацией и состояниями ошибок
Новый элемент: «массовый импорт заказов из файла»
Сравнение: больше формы (неизвестные форматы файлов), меньше полной
переделки оформления заказа -> 13, или разбить его
Шкала намеренно грубая
Тонкие различия — ложная точность, поэтому два трудно различимых элемента оценивайте одинаково и идите дальше: неопределённость в работе, а не в числе.
Оценивайте партию, а не человека
Команда оценивает вместе, и число принадлежит элементу. Индивидуальные оценки приглашают якорение и превращают обсуждение в соревнование.
Velocity прогнозирует партию; она не сравнивает команды
Внутри одной команды среднее по последним итерациям прогнозирует следующую. Между командами числа не находятся на одной шкале, и их сравнение не измеряет ничего, кроме определения story point каждой командой.
Переоценивайте только когда элемент изменился
Оценка, которая всё время двигается вместе со сроком, — обязательство под маскировкой: если элемент изменился, переоцените его и скажите, что изменилось.
Практика
Постройте опорную шкалу из трёх элементов
Возьмите три элемента из последней итерации, напишите размер, который вы дали бы каждому, и почему, и оцените относительно них пять новых элементов.
Готово, когда: два человека независимо оценивают те же пять элементов и совпадают в пределах одного шага минимум по четырём из них.
Проверьте, что на самом деле предсказывает ваша velocity
Возьмите последние шесть итераций: сумму оценок как сделанного и то, что было спрогнозировано.
Готово, когда: вы можете сказать, предсказало ли среднее следующую итерацию в пределах примерно двадцати процентов, и назвать одну причину промахов.
Частые ошибки
- Story points как метрика продуктивности — команда завышает, и прогноз теряет смысл; исправить: держите story points на элементах, никогда на людях.
- Сравнение velocity между командами — шкалы не взаимозаменяемы; исправить: прогнозируйте только внутри команды, которая делала оценки.
- Часы под маскировкой — «один story point равен дню» возвращает абсолютную оценку и её догадки; исправить: держите минимум три опорных элемента и сравнивайте с ними.
- Мелкозернистые шкалы — точность, которую работа не поддерживает; исправить: держите шкалу грубой и оценивайте близкие элементы одинаково.
- Переоценка под давлением — оценки становятся обязательствами; исправить: переоценивайте только при изменении объёма и говорите, что изменилось.
Что читать дальше
- Пользовательская история (04-product-process/12-user-story) — прочитайте это первым; story points оценивают элементы, которые определяет история.
- Бэклог и поток спринта (04-product-process/10-scrum-software-development/02-the-backlog-and-sprint-flow) — где оценённые элементы упорядочиваются и прогнозируются.
- Scrum (разработка ПО) (04-product-process/10-scrum-software-development) — фреймворк, в котором обычно используют velocity.
- Дорожная карта (04-product-process/14-roadmapping) — что делать, когда вопрос о датах, а не о размерах.