Оценка историй в Scrum

Ряд Фибоначчи

В скраме используются относительные, а не абсолютные оценки. Абсолютные оценки — это оценки в часах, днях, человеко-днях и прочих единицах, которые так или иначе привязаны ко времени. В чем проблема с такими абсолютными оценками?

Человеко-час разный у всех людей, в зависимости от опыта и других факторов. Также люди часто склонны недооценивать требуемое на работу время, и вообще риски, которые могут возникнуть при выполнении работы. Не говоря уже о том, что требования могут не включать в себя какие-то важные вещи.

Например, для того чтобы продемонстрировать, в чем проблема с оценкой, расскажу вам такую историю. Сколько вам требуется времени, чтобы разгрузить машину? Ну два часа. Но это КамАЗ. Тогда, наверное, нужно четыре часа. Но это КамАЗ, который везет песок. Ну на разгрузку песка, наверное, нам потребуется восемь часов. Да, но у вас нет никаких инструментов, лопат или чего-то еще. У вас есть только руки. Тогда у нас, наверное, уйдет два дня. Представьте, что на улице при этом еще и −40.

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

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

Представьте, что у вас есть набор шариков в форме птиц в натуральную величину, надувных шариков. Два волнистых попугая, три воробья, две вороны, четыре голубя, один лебедь и две утки. Нам необходимо надуть шарики и оценить время, которое у нас уйдет на то, чтобы их все надуть. При этом мы знаем, что двух волнистых попугайчиков мы надуваем за одну минуту. Сколько у вас займет времени, чтобы надуть все эти шарики? Попробуйте оценить это время самостоятельно. Итак, что нам нужно сделать?

Мы должны оценить все шарики в попугаях, как в популярном мультике. Например, три воробья, мы считаем, что они примерно по размеру как попугаи, и считаем, что они равны трем попугаям. А вот, например, один лебедь — это сорок попугаев или восемь голубей. У меня получилось примерно 97 попугаев всего. Теперь, поделив 97 на 2, потому что мы знаем, что двух попугаев мы надуваем за одну минуту, я могу предположить, что у меня на то, чтобы надуть все эти шарики, уйдет 48,5 минут.

В действительности, в скраме попугаи называются story points, или единицами историй. Story points отражают размер историй, а размер — это такой комплексный параметр, который включает в себя сложность, трудоемкость и возможные риски при реализации элемента бэклога. Для еще большего упрощения процедуры оценки для единиц историй выбирают специальную шкалу и при оценке используют только значения из этой шкалы.

Например, популярные шкалы для единиц историй — это степень двойки: 1, 2, 4, 8, 16, 32, 64 и так далее, и ряд Фибоначчи: 0, 1, 2, 3, 5, 8, 13, 21 и так далее. Я рекомендую вам использовать так называемый модифицированный ряд Фибоначчи, который очень удобен для скрам-команд: 0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40 и 100. В чем смысл использования такой нелинейной шкалы? Она предотвращает лишние споры в команде о том, в 10 раз этот элемент больше эталонного или в 11. На самом деле это совершенно, такая точность нам здесь не нужна. Мы должны выбрать просто из двух вариантов, к какому из значений по шкале этот элемент ближе, к 8 или к 13, например, если мы используем ряд Фибоначчи. Как показывает практика, для оценки такой точности более чем достаточно.

Также популярная ловушка начинающих команд — это то, что им сложно отказаться от оценки в часах или в человеко-часах. Или еще хуже, когда они начинают эти единицы историй каким-то образом, через какую-то формулу приравнивать так или иначе к часам. В таком случае можно вообще использовать практику, шкалу, которая называется Bucket Estimation, когда в качестве шкалы мы используем размеры одежды: XS, S, M, L, XL. В силу того, что она не числовая, ее сложно каким-то образом приравнять к часам.

Магия