Ловушка скорости: почему метрики Agile могут ввести вас в заблуждение
В мире разработки программного обеспечения, особенно в рамках методологий Agile и Scrum, метрики скорости стали основным инструментом для оценки производительности команды и прогнозирования сроков выполнения проектов. Однако за видимой пользой этих показателей скрывается сложная сеть ограничений и подводных камней, которые могут сделать их скорее обманчивыми, чем полезными.
Исторический характер скорости
Скорость в Agile по сути является запаздывающим индикатором. Она показывает, сколько работы ваша команда выполнила в прошлом, но не предсказывает будущую производительность. Это похоже на вождение автомобиля, глядя только в зеркало заднего вида; вы можете знать, где вы были, но понятия не имеете, что впереди.
Игнорирование изменений объёма работ и зависимостей
Скорость учитывает только работу, изначально запланированную для спринта, игнорируя неизбежные изменения в объёме работ и зависимости, которые возникают. Непредвиденные задачи, такие как исправление ошибок или технический долг, могут существенно изменить фактическую нагрузку, делая прогнозы на основе скорости неточными. Это всё равно что пытаться ориентироваться в лабиринте, не учитывая движущиеся стены и скрытые препятствия.
Опасность сравнений
Одним из самых коварных способов использования скорости является сравнение производительности разных команд. Этот подход ошибочен, поскольку каждая команда работает в уникальном контексте с разными навыками, проблемами и определениями «завершённой» работы. Сравнение скоростей может привести к нездоровой конкуренции, когда команды могут завышать свои оценки или отдавать приоритет количеству над качеством, чтобы казаться более продуктивными.
Скорость как показатель эффективности
Использование скорости в качестве показателя эффективности — это путь к катастрофе. Оно вынуждает команды достигать произвольных целей, что может привести к выгоранию и сосредоточению внимания на количестве, а не на качестве. Такой подход игнорирует внешние факторы, влияющие на скорость, такие как зависимости и препятствия, и может создать порочный круг, в котором команды переоценивают свою работу, чтобы оправдать ожидания.
Ошибочность предсказательной силы
Многие руководители проектов считают, что, рассчитав историческую скорость команды, они могут предсказать дату завершения проекта. Однако этот метод по своей природе несовершенен. Скорость точно отражает планирование пропускной способности только для одного спринта за раз. Оценка долгосрочной даты завершения проекта на основе скорости похожа на попытку предсказать погоду на год вперёд; это больше догадки, чем наука.
Антипаттерны в оценке скорости
Существует несколько антипаттернов, которые могут негативно повлиять на скорость и сделать её ещё более бессмысленной:
- Установление целевых показателей скорости. Это может ввести в заблуждение, поскольку оценки по сюжетным точкам субъективны и могут сильно различаться между командами. Лучше сосредоточиться на улучшении процессов и устранении препятствий, а не устанавливать количественные цели.
- Ожидание мгновенной максимальной скорости. Новым командам или командам, начинающим новые проекты, нужно время, чтобы повзрослеть и полностью раскрыть свой потенциал. Ожидать высокой скорости с самого начала нереально и может привести к разочарованию и плохим результатам.
- Работа не разбита на мелкие части. Неспособность разбить работу на подробные истории и задачи может привести к неточным оценкам скорости. Эта ошибка игнорирует время, затраченное на автоматизированные тесты, исправления ошибок и технический долг, которые являются важными компонентами любого спринта.
Более сбалансированный подход
Что можно использовать вместо метрик скорости? Вот несколько более ценных и сбалансированных подходов:
- Время выполнения заказа и время цикла. Эти показатели измеряют время, необходимое для перехода от идеи к доставке функции и от начала работы до доставки соответственно. Они дают более чёткое представление об эффективности и скорости команды.
- Удовлетворённость клиентов. Сосредоточение внимания на показателях удовлетворённости клиентов гарантирует, что команда предоставляет ценность, отвечающую потребностям пользователей. Это более значимый показатель успеха, чем просто количество выполненных сюжетных точек.
- Созданная бизнес-ценность. Этот показатель соответствует основному принципу Agile: предоставлять работающее программное обеспечение, которое приносит пользу бизнесу. Он побуждает команды расставлять приоритеты задач в зависимости от их влияния, а не только от сложности или лёгкости выполнения.
Вместо того чтобы полагаться исключительно на метрики скорости, сделайте шаг назад и рассмотрите более широкую картину. Успех вашей команды зависит от этого.