Введение
Оценка проектов — непростая задача. По статистике, около 91,5% крупных проектов выходят за рамки бюджета, сроков или и того, и другого. В Agile‑командах для улучшения точности планирования используют Story Points — оценку не в часах, а в относительных единицах, учитывающих сложность, объем работы и риски.
Что такое Story Points?
Story Points — это относительная шкала оценки задач, которая помогает команде понять, насколько одна задача сложнее или больше другой.
Чаще всего используется шкала Фибоначчи:
1, 2, 3, 5, 8, 13, 20, 40, 100
Итак, если команда разработчиков оценила создание автобуса в 8 Story Points, это означает, что по сложности, масштабу и общим затратам усилий задача находится примерно в середине спектра.
При определении оценки для каждой задачи команда учитывает несколько факторов:
- Сложность - уровень технической сложности каждой задачи
- Повторяемость - выполнялась ли подобная задача ранее, и есть ли у команды соответствующий опыт
- Ресурсы - требуется ли участие нескольких членов команды или задачу может выполнить один человек. Также учитывается необходимость внешних ресурсов
- Риск - насколько рискованными являются изменения для существующего решения, бизнес-операций или успеха проекта
- Определение готовности - базовый стандарт проекта, описывающий требования к качеству, которым должен соответствовать каждый элемент. Чем выше стандарт, тем больше усилий требуется
Оценка Story Points является ключевой частью процесса уточнения бэклога, когда команды разработчиков вместе с владельцем продукта и/или менеджером проекта оценивают бизнес-требования и преобразуют их в пользовательские истории.
Это совместный процесс, в котором каждый член команды делится своим мнением о том, какой должна быть оценка, а затем команда работает над достижением консенсуса.
Крайне важно, чтобы все члены команды согласились с окончательной оценкой в Story Points, поскольку именно эти оценки используются для определения того, сколько пользовательских историй команда возьмёт на себя в следующем спринте разработки.
По мере того как команды разработки выполняют всё больше и больше задач, они обычно становятся более точными в будущих оценках Story Points. Это повышает эффективность команды и гарантирует, что они знают свой недельный, двухнедельный или месячный потенциал — известный в мире Agile как Team Velocity (скорость команды).
Почему не оценивать в часах?
Понимание Story Points может потребовать времени, поскольку эту концепцию сложно объяснить без определённого контекста или общей точки отсчёта для сравнения.
В этой статье Story Points объясняются на примере оценки размера собаки.
Если кто-то спросит вас, какого размера немецкая овчарка, вы вряд ли скажете «около 63 сантиметров в высоту». Вместо этого вы, скорее всего, сравните её с другой известной вам породой собак, например: «немецкая овчарка немного крупнее лабрадора».
Именно поэтому Story Points дают более полную оценку, чем просто время.
Как только команды разработки получают общие точки отсчёта для каждой оценки в Story Points, им становится значительно проще предсказывать сложность, масштаб и трудозатраты будущих задач.
Так зачем в итоге использовать Story Points вместо времени?
- Оценки в Story Points позволяют учитывать не только время, но и сложность, неопределённость и возможные риски.
- Позволяют команде планировать спринты без давления жестких дедлайнов.
- Помогают отслеживать скорость (velocity) команды в ходе нескольких спринтов.
Как внедрить Story Points: пошагово
Шаг 1: Объясните команде идею и пользу Story Points
Прежде чем приступить к внедрению нового способа работы, важно убедиться, что ваша команда готова к этому. Переход на использование Story Points — не исключение, особенно учитывая, что эта концепция может быть сложной для освоения некоторыми членами команды. Поэтому не торопитесь и убедитесь, что каждый понимает ценность и преимущества использования Story Points.
Как вдохновить и мотивировать команду:
- Объясните преимущества: Подчеркните, как Story Points помогают улучшить планирование, повысить точность оценок и сделать процесс более гибким.
- Приведите примеры: Используйте реальные примеры и аналогии, чтобы показать, как Story Points работают на практике. Например, сравнение размеров собак, как было описано ранее.
- Подчеркните практическую пользу: Объясните, как это поможет команде лучше прогнозировать свои возможности и избегать переработок.
Использование различных методов коммуникации:
- Асинхронное общение: Рассмотрите возможность отправки информационных писем, создания обучающих материалов и размещения обучающих ресурсов в общем доступе.
- Личные встречи: Проводите индивидуальные встречи с каждым членом команды, чтобы ответить на их вопросы и развеять сомнения.
- Групповые обсуждения: Организуйте командные встречи, где каждый сможет высказать своё мнение и задать вопросы.
- Визуальные материалы: Используйте диаграммы, инфографику и другие визуальные средства для наглядного объяснения концепции.
- Практические упражнения: Проводите тренировочные сессии, где команда сможет на практике попробовать оценивать задачи в Story Points.
Дополнительные рекомендации:
- Постепенное внедрение: Начните с небольших изменений и постепенно внедряйте использование Story Points в рабочий процесс.
- Обратная связь: Регулярно собирайте обратную связь от команды и корректируйте подход по мере необходимости.
- Поддержка руководства: Убедитесь, что руководство поддерживает переход на Story Points и активно участвует в процессе внедрения.
Следуя этим рекомендациям, вы сможете успешно внедрить использование Story Points в вашей команде и получить все преимущества от этого подхода.
Шаг 2: Выберите шкалу для оценок
При внедрении Story Points важно правильно выбрать шкалу оценки. Большинство Agile-команд используют вариацию последовательности Фибоначчи. Вот несколько шагов, которые помогут вам определиться с выбором шкалы и её внедрением:
- Использование упрощенной шкалы Фибоначчи:
На начальном этапе рекомендуется использовать упрощенную версию последовательности Фибоначчи, состоящую из округленных чисел, чтобы оценки были более понятны и удобны в работе.
Пример такой шкалы: 1, 2, 3, 5, 8, 13, 20, 40, 100. - Переход на использование размеров футболок:
Если ваша команда испытывает трудности с пониманием концепции Story Points, можно использовать альтернативный метод оценки — размеры футболок.
Вместо чисел вы используете категории: Small (маленький), Medium (средний), Large (большой), Extra Large (очень большой) и т.д. Это помогает упростить процесс оценки. - Создание опорных точек:
Определите две-три предыдущих задачи или проекта, которые будут служить опорными точками для вашей шкалы.
Например, небольшое исправление багов может оцениваться в 1 Story Point, а масштабный редизайн сайта — в 100 Story Points.
Эти референсы помогут новым членам команды быстрее понять систему оценок. - Гибкость в адаптации:
По мере накопления опыта вы можете корректировать шкалу, добавляя или изменяя значения в зависимости от специфики ваших задач.
Важно регулярно пересматривать и обновлять шкалу, чтобы она оставалась актуальной и полезной для всей команды. - Обучение и поддержка:
Обеспечьте обучение команды новым методам оценки и поддерживайте их в процессе перехода.
Используйте реальные примеры и практические упражнения для закрепления материала.
Правильный выбор и адаптация шкалы Story Points помогут вашей команде более эффективно оценивать задачи и планировать работу, что в конечном итоге приведет к улучшению качества и предсказуемости результатов.
Изображение 2: Пример Planning Poker — команда держит карточки с оценками
Описание изображения:
Группа разработчиков одновременно поднимает карты с оценками задач — пример метода Planning Poker.
Шаг 3: Составьте матрицу критериев
После того как вы определили шкалу и опорные точки, важно структурировать ваши оценки с помощью создания матрицы Story Points. Эта матрица станет удобным справочником для вашей команды и поможет объединить различные уровни усилий, ресурсов, рисков и сложности для получения взвешенной оценки.
Шаги по созданию матрицы Story Points:
1. Определите основные параметры оценки:
- Усилия (Effort)
- Ресурсы (Resources)
- Риски (Risks)
- Сложность (Complexity)
2. Создайте шаблон матрицы:
Разработайте таблицу с основными категориями и уровнями оценок.
Пример шаблона:
3. Заполните матрицу примерами:
Опишите, какие задачи соответствуют каждому уровню оценок.
Например:
- 1 Story Point: Простая задача, требующая минимальных усилий и ресурсов.
- 5 Story Points: Задача средней сложности с умеренными рисками.
- 13 Story Points: Более сложная задача, требующая значительных ресурсов и повышенного внимания к рискам.
- 40 Story Points: Очень сложная и масштабная задача с высоким уровнем неопределенности.
4. Согласуйте матрицу с командой:
Проведите встречу с командой, чтобы убедиться, что все понимают и согласны с предложенной матрицей.
Обсудите примеры и получите обратную связь для возможных корректировок.
5. Регулярно обновляйте матрицу:
Периодически пересматривайте и обновляйте матрицу на основе накопленного опыта и новых данных.
Убедитесь, что матрица остаётся актуальной и полезной для всех членов команды.
Создание и использование матрицы Story Points поможет вашей команде более точно и согласованно оценивать задачи, учитывая все важные факторы, и обеспечит успешное внедрение этого метода в рабочий процесс.
Шаг 4: Подготовка бэклога продукта с использованием Story Points
Теперь, когда ваша шкала оценки Story Points готова к использованию, настало время приступить к подготовке бэклога продукта. Под руководством Владельца продукта команда работает над приоритизацией требований, удалением неактуальных задач, добавлением новых элементов и обеспечением того, чтобы все требования были четко определены и готовы к планированию спринтов.
Шаги по подготовке бэклога:
- Понимание стратегии продукта:
Убедитесь, что вся команда понимает стратегию продукта. Это может быть как решение проблем пользователей, так и использование новых возможностей для бизнеса. Регулярно пересматривайте стратегию, чтобы убедиться, что бэклог соответствует текущим целям и задачам. - Обновление знаний по Scrum и Agile:
Бэклог груминга — это основа многих методологий Agile-управления проектами, включая Scrum. Если у вас есть пробелы в знаниях, освежите свои знания с помощью руководств и материалов по Scrum и Agile. - Приоритизация требований:
Работайте над приоритизацией требований вместе с командой. Определите, какие задачи наиболее важны и срочны. Используйте матрицу Story Points для оценки сложности и усилий по выполнению каждой задачи. - Удаление неактуальных задач:
Регулярно анализируйте бэклог и удаляйте задачи, которые больше не актуальны или не соответствуют текущей стратегии продукта. Это помогает сосредоточиться на действительно важных задачах и избежать перегрузки бэклога ненужными элементами. - Добавление новых элементов:
Следите за появлением новых требований и возможностей. Добавляйте их в бэклог, если они соответствуют стратегии продукта. Убедитесь, что новые задачи четко описаны и понятны всем членам команды. - Использование фреймворков приоритизации:
Если вы новичок в груминге бэклога, используйте фреймворки приоритизации, такие как RICE (Risk, Impact, Confidence, Effort), чтобы определить, какие функции следует поставить в приоритет. RICE помогает оценить риски, влияние, уверенность и усилия для каждой задачи, что облегчает принятие решений о приоритизации. - Регулярное обновление бэклога:
Постоянно обновляйте бэклог, чтобы он всегда отражал текущее состояние продукта и стратегию команды. Проводите регулярные встречи для обсуждения и обновления бэклога, чтобы все члены команды были в курсе изменений.
Следуя этим шагам, вы сможете эффективно подготовить бэклог продукта и обеспечить успешное планирование и выполнение спринтов с использованием Story Points.
Шаг 5: Внедрение оценок с использованием Story Points
Теперь, когда бэклог обновлен и готов, настало время добавить последний элемент головоломки: оценки. Именно на этом этапе вы начинаете активно использовать Story Points, когда каждый член команды предлагает свою оценку для обсуждения и согласования. Существует несколько способов сделать процесс оценки более увлекательным и эффективным. Рассмотрим два самых популярных метода.
1. Planning Poker (Плановый покер)
Плановый покер — это наиболее распространенный способ оценки с использованием Story Points. Вот как он работает:
- Материалы: Каждый член команды получает набор карточек с оценками в Story Points (например, 1, 2, 3, 5, 8, 13, 20, 40, 100).
- Вопросы и ответы: По очереди каждый член команды задает вопросы Владельцу продукта относительно функциональности. После ответов на все вопросы каждый участник выбирает одну из карточек.
- Обсуждение: Все одновременно показывают свои карточки. Команда обсуждает различия в оценках и пытается прийти к консенсусу.
- Повторение: Процесс повторяется до тех пор, пока все члены команды не согласятся с выбранной оценкой.
Этот метод помогает вовлечь команду в процесс оценки и способствует достижению общего понимания сложности задачи.
2. Bucket System (Система ведер)
Система ведер — это альтернативный метод оценки, который также позволяет эффективно распределить задачи по уровням сложности:
- Подготовка: Фасилитатор размещает на доске стикеры с крайними значениями шкалы Story Points (например, 1 и 100).
- Карточки задач: Каждый член команды получает карточки, представляющие оцениваемые задачи.
- Размещение: Участники размещают свои карточки на доске в соответствии с тем, насколько сложной они считают задачу.
- Обсуждение: Команда обсуждает, почему задачи были размещены в тех или иных местах шкалы. Важно прийти к общему пониманию и скорректировать оценки.
- Консенсус: После обсуждения команда согласовывает окончательные оценки для каждой задачи.
Использование этих методов поможет сделать процесс оценки более прозрачным, увлекательным и эффективным, что в конечном итоге приведет к более точным и согласованным оценкам задач.
Шаг 6: Планирование спринта в PM-инструменте
Используйте инструменты управления проектами для учета Story Points и построения отчетов (burn‑down, burn‑up).
Шаг 7: Ретроспектива и анализ
После каждого спринта важно проводить ретроспективу — встречу, на которой команда обсуждает, что прошло хорошо, а что можно улучшить. Это помогает не только оценить точность оценок Story Points, но и выявить области для совершенствования в будущих спринтах.
Как провести успешную ретроспективу:
- Подготовка: Убедитесь, что все участники готовы делиться своими мыслями и предложениями.
- Обсуждение успехов: Начните с положительных моментов — что команда сделала хорошо и что принесло наибольшую пользу.
- Анализ проблем: Обсудите возникшие трудности и причины их появления.
- Поиск решений: Сформулируйте конкретные шаги по улучшению процессов, инструментов и взаимодействия в команде.
- Действия: Определите ответственных за реализацию предложенных улучшений и установите сроки.
Рекомендации по проведению ретроспективы:
- Используйте структурированные шаблоны обсуждений.
- Привлекайте всех членов команды к активному участию.
- Фиксируйте все идеи и предложения для дальнейшего анализа.
- Сделайте ретроспективу регулярной частью вашего процесса.
Отслеживание метрик:
Данные играют ключевую роль в оценке эффективности команды и улучшении процессов. Важно отслеживать следующие метрики:
- Velocity (Скорость): Показывает, сколько Story Points команда завершает за один спринт. Помогает понять, сколько работы команда может выполнить за определенный период.
- Cumulative Flow (Кумулятивный поток): Визуализирует количество задач на разных стадиях разработки, помогая выявить узкие места и оптимизировать процессы.
- Lead Time (Время выполнения): Время от создания задачи до её завершения. Позволяет оценить эффективность процессов и выявить задержки.
- Issue Burn Up (Сгорание задач): График, показывающий, сколько задач было запланировано и сколько уже выполнено, помогает отслеживать прогресс и планировать будущие спринты.
Как использовать метрики:
- Сбор данных: Регулярно собирайте и анализируйте данные по указанным метрикам.
- Анализ и отчетность: Создавайте отчеты для команды и заинтересованных сторон.
- Принятие решений: Используйте данные для принятия обоснованных решений по улучшению процессов и распределения ресурсов.
- Постоянное улучшение: Постоянно сравнивайте текущие показатели с предыдущими спринтами и внедряйте изменения для повышения эффективности.
Следуя этим рекомендациям, вы сможете не только улучшить точность оценок Story Points, но и создать более слаженную и продуктивную команду, готовую к достижению новых высот в Agile-разработке.
Частые ошибки при работе с Story Points
- Привязывать Story Points к конкретным часам — это убивает идею относительной оценки.
- Не адаптировать шкалу под свою команду и продукт.
- Игнорировать неопределённость и риски.
- Не объяснять подход заинтересованным лицам вне команды.
- Отказываться от метода после первых неудач.
Что делать, если Story Points не работают?
Рассмотрите методику #NoEstimates — альтернативный подход, где упор делается на непрерывный поток задач без традиционных оценок.
Итог
Story Points — это мощный инструмент Agile, позволяющий командам улучшить планирование и управление задачами. Главное — адаптировать метод под свою команду и регулярно совершенствовать процесс.
#Agile #StoryPoint #Velocity #PlanningPoker #Product #Backlog