Около года назад я рассказывал о том “как научить команду оценивать в ежиках попугаях” (aka в пунктах, story points или как вы их там называете). С тех пор я неоднократно ссылался на этот пост во время работы с командами или на тренингах. Но и этого не всегда достаточно, чтобы команды смогли не только понять, а и начать использовать практику сравнительной оценки.
Вот с Planning Poker вроде все понятно – там есть простые правила и мы следуя им можем начать что-то оценивать. Правда проблема Покера в том, что не понятно сколько “весит” каждая отдельная карточка и чему равен один пункт. С наглядной шкалой вроде проще, но непонятно кто и как раскладывает карточки так, чтобы могли высказаться все – от джуниора до синьора, тестировщики, разработчики, аналитики и все-все-все.
Есть еще одна “игра в оценку” с более простыми правилами и даже более эффективная, чем Planning Poker.
Идею в свое время предложил Стив Бокман (Steve Bockman) и сформулировал простые правила игры.
Подготовка: Распечатайте или напишите от руки карточки с Историями Пользователя (или Требованиями), которые вы собираетесь оценивать. Мне кажется, достаточно написать код в вашей системе хранения требований и короткий заголовок или даже сокращенное название, которое все могут вспомнить.
Ход игры: Каждый игрок может сделать следующие действия:
- Взять карточку сверху стопки и положить ее где-то на столе относительно других карточек.
При этом сразу следует договориться: слева – это проще, справа – сложнее, снизу – имеющейся карточки – такого же размера. - Подвинуть одну из лежащих на столе карточек, объясняя почему он не согласен
- Пропустить ход.
Игра заканчивается, когда в стопке не осталось больше карточек и когда ни один из игроков не хочет подвинуть имеющиеся карточки (т.е. каждый уже пропускает ход).
Очень важно общаться во время игры и пояснять, почему игрок сделал тот или иной выбор. Все-таки наша цель – дать совместные командные оценки, эта игра не ради выигрыша одного участника :-).
После того, как вы получили на столе линию карточек от простых до сложных, вам остается только подставить шкалу. Вы можете использовать числа от 1 до 10. Можете использовать логарифмическую шкалу. Или может лучше взять шкалу Фибоначчи (1,2,3,5,8,13), которая, как известно, быстро растет вверх и тем самым избавляет от ненужных обсуждений разницы между большими и сложными Историями.
Допустим, на первом в жизни команды планировании мы разложили карточки с Историями Пользователей (или просто Требованиями к системе) и присвоили им некоторые относительные веса. А что делать, когда приходят новые пожелания? Как их оценивать?
Если вы планируете целую новую версию или новый продукт и карточек много, то я бы рекомендовал сыграть в игру еще раз, а уже на этапе подстановки шкалы, сравнил бы с прошлыми карточками и, возможно, ваши знания и текущее понимание требований позволят изменить шкалу.
Если же вам приходят новые требования в ходе работы над текущей версией продукта, то вам достаточно взять новую карточку и вести ее по шкале от самого большего значения к меньшему. При этом около каждого “веса” спрашивайте команду: “новое требование такое же сложное как это?”. Нет? Двигаем в сторону меньшего “веса” и спрашиваем опять. Вы очень быстро найдете место на шкале, с которым согласна вся команда, а это и есть цель совместной оценки сравнением :-).
Удачных вам совместных оценок!
P.S.
Понравилась игровая техника? Хочу напомнить, что летом мы запустили проект перевода на русский язык сайта tastycupcakes.com, где есть еще множество игр и упражнений, которые помогут Agile командам. Небольшая и очень инициативная группа усердно работала, несмотря на отпуска, и уже переведено более половины статей.
Мы начинаем выкладывать переводы на сайт tastycupcakes.com, а интересные на мой взгляд упражнения, я постараюсь регулярно публиковать на нашем сайте.
Хотите присоединиться к группе переводчиков? Напишите нам.
Хотите узнать, когда появятся переводы? Следите за нашим сайтом через RSS или подпишитесь на рассылку.
Здравствуйте, Тимофей.
У меня проблема с пониманием стори поинтов. Ясно как оценивать задачи, но не понятно как суммировать эти оценки.
Вот пример: за спринт комманда выполнила 5 задач по 1 поинту каждый. Значит велосити комманды = 5.
На сдедующий спринт, стало быть, можно взять одну задачу весом в 5 поинтов.
Вот тут-то и проблема – от предыдущей по шкале оценки к следующей, вес задачи меняется нелинейно. Тоесть если на задачу в 1 поинт уходит 3 часа, то в 5 поинтов – несколько дней (шкала у всех своя).
Тоесть, 5 задач по 1 поинту некак не может быть равна одной задаче в 5 поинтов.
Следовательно, любая величина, являющаяся суммой стори поинтов (например, велосити комманды), лишена всякого смысла. К тому-же привязать ко времени такую величиеу нельзя (по тойже причине).
Поскажите, где я ошибаюсь?
Роман, отличные вопросы, и вы не первый, кто меня спрашивал об этом.
Буквально недавно на тренинге обсуждали такие же вопросы, поэтому я решил написать ответ-пост.
Постараюсь опубликовать сегодня-завтра.
http://tim.com.ua/2010/10/how-to-estimate-in-story-points/
Вот еще одно толковое англо-язычное изложение подхода оценки сравнением http://www.agilelearninglabs.com/2012/05/how-to-play-the-team-estimation-game/
Добрый день!
Моя команда как раз занимается разработкой плагина к Jira Cloud, который позволяет оценивать бэклог по методике Стива Бокмана.
Ссылка на плагин: https://marketplace.atlassian.com/plugins/agile.estimation.3.0_private
Отличная идея!
Если появилась возможность визуально сортировкать карточки прямо в джире, то это ускорит работу многих команд.