Что такое planning poker и почему его используют в разработке

Что такое planning poker и почему его используют в разработке

Когда команда разработчиков собирается планировать новый спринт, перед ними встаёт вопрос: сколько времени займёт каждая задача? Один разработчик говорит два часа, другой — два дня. Как договориться? Раньше лидер проекта просто выбирал мнение авторитетного человека, и все остальные соглашались. Теперь есть лучший способ — planning poker. Это метод, который даёт каждому члену команды голос и приводит к более точным оценкам.

История planning poker

Planning poker придумал Джеймс Греннинг в начале 2000-х годов. Он заметил, что когда разработчики открыто обсуждают оценки, часто происходит групповое мышление. Лидер команды высказывает мнение первым, и все остальные ему верят. Или самый громкий человек влияет на решение, даже если он не прав.

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

Название "poker" выбрано не случайно. В покере игроки ставят карточки на стол одновременно, и никто не может влиять на других игроков, пока карточки не открыты. То же самое с planning poker.

Как работает planning poker

Процесс простой, но эффективный.

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

Потом каждый разработчик берёт карточку с числом, которое, по его мнению, соответствует сложности задачи. Карточки обычно имеют числа из последовательности Фибоначчи: 1, 2, 3, 5, 8, 13, 21, 34 и так далее. Почему именно Фибоначчи? Потому что чем больше число, тем больше неуверенности в оценке. Разница между 5 и 8 меньше, чем между 13 и 21, что отражает реальность.

Все разработчики выбирают карточку одновременно, но никто не показывает её другим. Потом все карточки открываются одновременно.

Если все выбрали одно и то же число, или числа близки друг к другу, задача оценена. Все согласны примерно со сложностью.

Если числа сильно отличаются, начинается обсуждение. Разработчик, выбравший самое высокое число, объясняет, почему он думает, что задача сложнее. Разработчик с самым низким числом объясняет, почему считает задачу простой. Команда слушает и учится видеть проблемы, которые кто-то не заметил.

После обсуждения снова голосуют. Обычно после одного-двух раундов обсуждения команда приходит к согласию.

Почему planning poker работает

На первый взгляд может показаться, что это просто усложнение процесса. Почему не просто попросить каждого сказать своё мнение? Потому что psychology людей сложнее, чем кажется.

Когда один человек высказывается первым, это якорирует оценку. Остальные люди подсознательно ориентируются на это число, даже если они не согласны. Это называется эффектом якоря.

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

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

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

Что происходит на практике

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

С traditional обсуждением новичок может не сметь возражать опытному разработчику, и команда выберет неправильную оценку.

С planning poker обе оценки выходят наружу сразу. Новичок выбирает 3, опытный выбирает 13. Все видят разницу. Начинается обсуждение. Новичок узнаёт о требованиях безопасности, которые он не знал. Опытный разработчик понимает, что некоторые требования можно отложить на следующий спринт. Команда приходит к согласию на оценке 8.

Варианты и адаптации

Planning poker имеет варианты, которые команды используют в зависимости от своих нужд.

  • Некоторые команды используют Т-shirt sizes вместо чисел: XS, S, M, L, XL. Это менее точно, но проще для новичков.
  • Некоторые команды используют часы вместо точек. Это может быть удобнее для клиентов, которые привыкли к часам.
  • Некоторые команды используют planning poker с дополнительными карточками: "?" для неясности и "∞" для невозможных задач.

В современном мире есть онлайн версии planning poker, где разработчики в разных городах или странах могут голосовать через интернет. Сервис собирает оценки, показывает результаты и помогает команде обсудить разницы. Например, planitpoker.ru предоставляет бесплатный инструмент для planning poker, где команды могут быстро оценить задачи и синхронизировать мнения.

Типичные ошибки

Но и в planning poker есть ошибки, которые делают новые команды.

  1. Одна ошибка — слишком быстро переходить к работе без полного обсуждения. Если оценки сильно отличаются, нужно понять, почему. Если пропустить это, задача может оказаться намного сложнее, чем думали.
  2. Другая ошибка — использовать оценку как обещание. Если разработчик оценил задачу в 5 точек, это не обещание сделать её за 5 часов. Это оценка сложности, а не времени. Время зависит от многих факторов: опыт разработчика, количество перерывов, технические проблемы.
  3. Третья ошибка — позволить одному человеку доминировать обсуждением. Planning poker работает, только если все голосуют независимо. Если один авторитет всегда влияет на решение, метод теряет смысл.

Когда planning poker особенно полезен

Planning poker особенно полезен в Agile командах, где спринты короткие (неделя или две) и нужно быстро оценивать много задач.

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

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

Инструменты для planning poker

Раньше люди использовали физические карточки. Встречались вживую, выбирали карточки, открывали их.

Сейчас есть много онлайн инструментов. Они автоматизируют процесс, собирают результаты, создают отчёты. Команда может начать planning poker прямо из Slack или Jira.

Заключение

Planning poker — это простой, но мощный метод для оценки задач в разработке. Он решает психологические проблемы группового принятия решений и приводит к более точным оценкам.

Это не волшебство. Плохие оценки остаются плохими, если команда не понимает задачу. Но если задача ясна, planning poker помогает команде выработать общее мнение быстро и справедливо.

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

Понравилась статья? Расскажи друзьям!
Уважаемый посетитель, чтобы получить помощь или оставить отзыв вам необходимо Зарегистрироваться либо Войти на сайт под своим именем.
Вы также можете войти c помощью социальных сетей: