Как оценивать с помощью Story Points в Agile

Денис Парфенов    | 2021.08.09

Есть разные способы оценки проектов разработки приложений. Один из способов - использовать так называемые Story Points. Хотя этот тип оценки может быть не самым простым, оценка с помощью Story Points в Agile дает преимущества как разработчикам приложений, так и клиентам.

Подход Story Points использует исторические данные для сравнения характеристик одного проекта с характеристиками предыдущего аналогичного проекта для получения точной оценки.

Шестерни на изображении выше имеют разные размеры и уникальные атрибуты - точно так же, как функции в проекте разработки программного обеспечения. Представьте, что нет возможности измерить размер круга. Как мы могли определить точный размер каждой шестеренки? Мы могли бы использовать Story Points!

Истории чрезвычайно важны для бережливого стартапа и методологии Agile. Вот почему.

Давайте пройдемся по каждому этапу процесса оценки с помощью Story Points.

Шаг 1 - Определите базовую историю

Story Points в Agile - это сложная единица, которая включает в себя три элемента: риск, сложность и повторение.

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

Шаг 2 - Создайте матрицу для оценки

Для создания оценочных матриц используются два типа шкал: линейная шкала (1,2,3,4,5,6,7…) и порядковые числа Фибоначчи (0,5, 1, 2, 3, 5, 8, 13… ).

Здесь, в RubyGarage, мы используем порядковые номера Фибоначчи. Мы делаем это, потому что люди действительно умеют сравнивать размеры, но не оценивают абсолютные значения, такие как количество часов. Разница между 1 и 2 может показаться незначительной. Однако разница между 1 и 5 очевидна.

При оценке с использованием порядковых номеров Фибоначчи мы создаем матрицу со строками для каждого порядкового номера и связанных с ними историй. Затем мы собираем все наши истории и начинаем классифицировать их по рядам, сравнивая истории друг с другом и с другими завершенными историями. Обратите внимание, что наша Базовая история уже находится в этой матрице в первой строке со значением одного Story Point.

Вот одна из наших матриц:

Чтобы присвоить Story Points каждой истории, мы проводим собрание, на котором все специалисты, которые будут работать над проектом, собираются вместе и играют в Planning Poker.

Planning Poker - это метод оценки, основанный на консенсусе, для оценки отставания по продукту. Его можно использовать с различными единицами оценки, но мы используем Planning Poker с Story Points.

Вот как это работает:

Планирование процесса оценки покера

Каждому оценщику выдается набор карточек;

Все оценщики выбирают элементы невыполненной работы, обсуждают функции и задают вопросы;

Когда функция была полностью обсуждена, каждый оценщик в частном порядке (чтобы сделать оценку объективной) выбирает карточку, чтобы представить свою оценку;

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

К концу Planning Poker мы заполнили всю матрицу. Наши задачи разделены на ряды по количеству очков истории, необходимых для их реализации. Наконец, мы помещаем каждый элемент невыполненной работы в соответствующую строку. В одном ряду может быть несколько историй.

Шаг 3 - Планирование спринта

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

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

RubyGarage оценивает с помощью Story Points в Agile, потому что это быстро и помогает нам понять относительные усилия, необходимые для историй, с которыми мы никогда раньше не сталкивались. Story Points помогают нам предоставлять нашим клиентам более точные оценки. Опыт и ориентиры говорят лучше абстрактных человеко-часов.

Денис Парфенов Автор статей

Постоянный автор и редактор новостных статей, посвященных гемблингу и спорту, фанат казино и карточных игр, независимый обозреватель спортивых мероприятий.