Существует несколько метрик, позволяющих определить глубину погружения в Agile практики вашей команды. Первым методом измерения, который мы рассмотрим, будет Shodan Adherence Metrics – Метрика соответствия уровню «Шодан» (Шодан – первый дан – первая мастерская степень в японских боевых искусствах).
Данную метрику предложил Билл Кербс в 2003 году (данные разнятся, где-то указывается 2002 год, а где-то 2004). Кербс разработал опросник, который анонимно должны заполнять все члены agile-команды на каждом ретроспективном собрании. Майк Кон, один из крупных деятелей в области Scrum и Agile, не рекомендует проводить опрос так часто. По его мнению, опрос надо проводить раз в полгода или в квартал. На мой взгляд, это надо делать после каждого крупного релиза.
Сутью данного опросника является степень погружения команды в практики XP (eXtreme Programming). Результаты опроса дают некий общий процент погружения, над увеличением которого команда должна работать. Голый процент погружения не даёт прямой информации о том, что надо делать. Команда должна разобрать составляющие данного коэффициента и выработать решение по исправлению ситуации (ну или это должен за них сделать их Agile Coach).
Сам опросник:
Практика | Вес | Описание |
Автоматическое модульное тестирование | 40 | В какой степени вы используете автоматизированные модульные тесты? |
Приёмочные тесты заказчика | 20 | Насколько важны приёмочные тесты заказчика в вашем процессе разработки? |
Разработка через тестирование | 20 | Какой процент времени у вас занимает разработка через тестирование? |
Парное программирование | 80 | Какой процент вашей работы (проектирование, анализ, кодирование) был сделан с помощью парной работы? |
Рефакторинг | 70 | Как часто вы тратите время на чистку кода без изменения функционала? |
Планирование релизов | 38 | Допускаете ли вы внесение изменений в план релизов или требования после каждой итерации (основываясь на откликах клиента или текущей реализации)? |
Работа с заказчиком | 32 | Всегда ли вам удаётся осуществлять взаимодействие с заказчиком, когда это требуется? |
Быстрые релизы | 40 | Насколько вы приблизились к получению релизов каждые 6 месяцев при работе итерациями в пару недель? |
Ежедневные собрания | 5 | Ваша команда ежедневно проводит стендап-собрания? |
Непрерывная интеграция | 60 | Как часто (в среднем) ваша команда синхронизирует и интегрирует код в систему контроля версий? (10 = 3 раза в день, 8 = один раз в день) |
Стандарт кодирования | 30 | Есть ли у вас стандарт кодирования, как часто вы ему следуете? |
Коллективное владение | 50 | Могут ли люди править чужой код, и как часто они это делают? |
Постоянный темп | 30 | Насколько хорошо вам удаётся держать рабочий ритм? ( 10 – мне постоянно удаётся держать темп. 5 – я работаю не столько сколько хотел бы, но мне удаётся выдавать результат в нужном темпе, правда ценой небольшого выгорания на работе. 2 – я работаю далеко не в нужном ритме и сильно выгораю, результат моей работы не всегда должного качества) |
Простая архитектура | 55 | Как часто вам удаётся придерживаться правила: «Делай свой код простым»? |
Метафора | 35 | Как часто, с вашей точки зрения, метафоры воплощаются в системе, которую вы разрабатываете? |
Усвоенные уроки | 6 | Команда проводит рестроспективы своей деятельности после каждого релиза? |
Рост | 6 | Изучаете ли вы новые методы и инструменты работы? Если вы не учитесь, вы отстаёте! |
Мораль | 6 | Как часто вы можете сказать, что наслаждаетесь своей работой? |
Уменьшение количества артефактов | 7 | Насколько вы можете: уменьшить количество рецензирований кода (парное программирование), уменьшить объем проектной документации (разработка через тестирование), упростить комментарии/внутреннюю документацию к коду (простая архитектура, рефакторинг)? |
Комментарии |
Disclaimer: В инете встречаются дополненные опросники или с переделанными весами, я особо не заморачивался по поводу какой из них более тру.
Для того чтобы заполнить опросник, необходимо оценить использование практики в вашей команде по баллам от 0 до 10. Для того чтобы проще оценивать, есть подсказка:
Оценка | Уровень соответствия |
10 | Фанатично (100%) |
9 | Всегда (90%) |
8 | Регулярно (80%) |
7 | Часто (70%) |
6 | Чаще пользуемся, чем не пользуемся (60%) |
5 | 50/50 (50%) |
4 | Чаще не пользуемся, чем пользуемся (40%) |
3 | Иногда (30%) |
2 | Редко (20%) |
1 | Бывает (10%) |
0 | Не согласны с данной практикой (0%) |
Итак, как считается результат:
- Вычислите среднее арифметическое по каждому показателю от команды
- Умножьте каждый показатель на его вес
- Просуммируйте все показатели
- Поделите полученную сумму на 630 (это максимальное значение) для того чтобы получить процент вашего погружения в практики
Ну и под конец ссылки на материалы:
- Статья с Cunningham & Cunningham, Inc WiKi
- Детальный вариант опросника
- Альтернативный опросник от университета Шеффилда
- Полезная книжечка (там немного про сабж есть)
За сим всё. Если получится, то будет продолжение.
Автор: pimenaus