Процесс разработки нужно постоянно улучшать, чтобы справляться с проблемами роста, обновления команды и улучшать общую производительность. Для этого его нужно оценивать и измерять, а это сложно. Большая часть подходов субъективна или имеет слабое отношение к реальности.
Для измерения качества процесса разработки сейчас используются различные метрики:
- процент завершенных историй из запланированных (количество завершенных историй / количество запланированных историй)
- технический долг (изменение размера бэклога, связанного с техническим долгом)
- скорость команды (количество пойнтов за итерацию)
- ускорение команды (изменение количества пойнтов за итерацию)
- цикл истории (время от планирования до завершения)
- цикл приемки (время от завершения до релиза или положительной реакции пользователей)
- точность оценки (соотношение реальной и запланированной трудоемкости для завершенных историй)
- количество дефектов на цикл релиза
- количество дефектов на единицу трудоемкости
- количество выполненных тестов
Проанализировав эти метрики, можно придти к выводу, что почти все они обладают одним из следующих недостатков:
- привязка к размеру истории
- привязка к размеру стори пойнта
Эти показатели отличаются для разных команд, плюс могут изменяться с течением времени для одной команды. Также эти метрики не выстраиваются в дерево KPI, они сделаны ad-hoc по следам проблем, существовавших в отдельных командах.
В данном докладе предлагается система KPI для разработки ПО, для команды бережливой (lean) разработки SAAS, основная задача которой – провести максимальное количество экспериментов по улучшению продукта за итерацию:
- они представляют собой дерево KPI, в корне которого – продуктивность (предполагаемая трудоемкость запланированных и завершенных историй / потенциальные ресурсы трудоемкости команды). Данный KPI показывает, насколько команда способна выполнять в срок запланированные эксперименты.
- при помощи анализа соотношений (ratio analysis) продуктивность раскладывается на следующие составляющие:
- точность оценки (предполагаемая трудоемкость запланированных и завершенных историй / фактическая трудоемкость запланированных и завершенных историй)
- способность завершать начатое (фактическая трудоемкость запланированных и завершенных историй / количество ресурсов, потраченных в итерации на запланированные задачи)
- способность планировать задачи (количество ресурсов, потраченных в итерации на запланированные задачи / общее количество ресурсов, потраченных в ходе итерации)
- степень использования ресурсов (общее количество ресурсов, потраченных в ходе итерации / потенциальные ресурсы трудоемкости команды)
Достоинства предлагаемой системы KPI:
- они инвариантны к используемой единице трудоемкости и ее текущему выражению в человеко-часах
- они инвариантны к средней трудоемкости истории
- это, в свою очередь, позволяет оценивать динамику изменения KPI для команды с течением времени и сравнивать различные команды
- продуктивность полностью раскладывается на KPI второго порядка, что позволяет однозначно определить узкие места в процессе разработки
Константин Савенков
Операционный директор, Bookmate
Окончил ВМК МГУ в 2003 году, после защиты в 2008 году кандидатской диссертации руководил исследовательскими проектами и преподавал в МГУ имени М.В. Ломоносова. В 2010 году пришел на роль директора по науке в проект Zvooq, затем стал и.о. технического директора, а потом и операционным директором холдинга Dream Industries, в который входят компании Zvooq, Bookmate, Theory&Practice, Exchang.es, DI Telegraph и Unisound. В 2015 году полностью перешел в Bookmate, сервис электронных книг по подписке, который в настоящее время продолжает международную экспансию.
Comment