Agile метрики

Agile метрики. Часть 4: Метрики из инструментов контроля версий (Source Control tools)

Продолжаем рассматривать agile метрики. В предыдущих частях мы рассмотрели: метрики из Agile Project Tools, метрики Lean Kanban. В этой части мы познакомимся с метриками из инструментов контроля версий.

Системы контроля версий являются фундаментальной частью любой разработки программного обеспечения. Их используют все, даже люди, которые занимаются разработкой самостоятельно, поскольку им также необходимо видеть историю версий и иметь возможность осуществить откат. Существует два распространенных типа систем контроля версий: централизованные системы контроля версий (CVS, такие как SVN) и распределенные системы контроля DVCS, так как они предлагают некоторые важные преимущества. В рамках данного руководства предположим, что используете или можете получить доступ к данным в DVCS. Если вы используете CVS, то у вас будет гораздо меньший набор полезных данных, а так же вы столкнетесь с некоторыми врожденными проблемами, поэтому я рекомендую перейти на DVCS, как только будет возможность.

Количество и процент принятых пул-реквестов (merged pull requests)

Один из самых простых показателей — просто количество принятых пул реквестов, хотя он несет куда большую пользу, если рассматривать его как пропорцию. В частности процент принятых пул-реквестов к их общему количеству. Если это число достаточно велико, это скорее всего хорошо, хотя возможно вы захотите убедиться, что некоторые проверки кода и обсуждения все равно продолжаются. Если показатель окажется низким — не страшно. Не все пул-реквесты могут быть приняты. Иногда разработчики придумывают другой или более оптимальный способ сделать что-то близким к идеалу, даже не прибегая к изменению кода (исходный код — это ответственность, а не актив). Если число слишком низкое, это может быть предупреждением о проблеме между двумя и более разработчиками. Как и всегда, убедитесь, что эта метрика используется как часть серии разговоров, а не для случайного отчета, который должен быть отправлен руководству. Эта метрика несет огромной вред, когда подается без учета людей и ситуаций связанных с этой метрикой.

Продолжительность открытых пул реквестов

Это среднее время, в течении которого пул реквест остается в открытом состоянии. Это одна из интересных метрик “Златовласки”, потому что вы хотите чтобы она была не слишком большой и не слишком низкой, а находилась где-то посередине. Если пул реквесты открыты в течении длительного времени, это может указывать на то, что из-за чьей-то работы ведется много длительных обсуждений. И хотя обсуждения это хорошо, вы не хотите чтобы они продолжались вечно: решение должно быть принято. Если каждый пул реквест находится в открытом состоянии в течении недели, команде будет очень тяжело выполнить значительный объем работы. С другой стороны вы не хотите чтобы этот показатель был низким. Если каждый пул-реквест закрывается за пять минут, это говорит о том, что его никто не просматривает и не проверяет. Это может быть из-за того, что команда неэффективно взаимодействует или из-за того, что кто-то изводит команду, что они “поторопились и продолжали работать!” В любом случае, высокий или низкий показатель — плохой знак, и вам с командой нужно выяснить причину.

Как использовать эту метрику

Вы должны проверять ее время от времени. Ваша DVCS должна рассчитывать ее автоматически, если нет, то выберите ту которая это позволяет делать.

Количество комментариев на пул реквест

Этот показатель немного похож на предыдущий, то вместо измерения среднего времени которое пул реквест открыт мы определяем среднее количество комментариев к пул-реквесту. Также вы должны хотеть чтобы это значение было не слишком высоким (что указывает, что в команде есть проблемы, если кто-то получает 12 комментариев каждый раз при отправке пул-реквеста), но и не слишком низким (если каждый кто отправляет пул реквест получает один или ноль комментариев, значит никто их не смотрит). Используйте этот показатель так же как и продолжительность открытого состояния пул реквеста. Ваша DVCS должна рассчитывать и показывать автоматически этот показатель.

Добавления и удаления кода

Ваша DVCS должна иметь график, который показывает изменения кода (добавления и удаления) с течением времени, обычно измеряемый в CLOC (количество измененных строк кода). Это хороший показатель, на который стоит регулярно обращать внимание. Вы должны искать не только частоту и количество, но и закономерности. По выходным много скачков? Люди работают сверхурочно, что не есть хорошо. Много добавлений и нет удалений? Возможно никто не занимается рефакторингом (поскольку рефакторинг обычно приводит к уменьшению строк кода в системе). Помните, что исходный код — не актив, а ответственность. Лучшая система имеет минимум строк кода, а не миллионы.

Продолжение

В следующей части мы рассмотрим метрики связанные с инструментами CI/CD.

This post was last modified on 26 июля, 2021 3:22 пп

Share
Николай Сарры

Меня зовут Николай, я руководитель проектов по внедрению Битрикс24 и его долгосрочному сопровождению. Лофт с заметками, статьями, идеями и мыслями по управлению проектами, использованию гибких методологий разработки. Здесь собраны мои мысли, решения, заметки и статьи. В основном по управлению проектами, PHP-разработке и используемым инструментам, обзоры прочитанных статей, тезисы посещенных конференций.

View Comments

    Recent Posts

    Ретроспектива как способ вызвать пермены

    Ретроспектива - формат совместной работы группы, который сочетает элементы мозгового штурма, коучинга и обратной связи.…

    25 ноября, 2021

    Управление рисками. Практические советы

    Несмотря на сверхдоступность информации, по-прежнему существуют люди, закрывающие глаза на ряд очевидных вещей. Это приводит…

    18 ноября, 2021

    Что делать с выгоранием?

    До тех пор пока вы не знаете о принципах работы мозга вы просто думаете что…

    4 ноября, 2021

    14 советов как давать обратную связь

    Вчерашний программист стал тимлидом. По собственному желанию или нет, но его обязанности сильно изменились. Как…

    27 июля, 2021

    Agile метрики. Часть 6: Метрики из инструментов бизнес-аналитики

    Ранее мы рассмотрели: метрики Agile Project Tools, метрики Lean Kanban, меткрики инструментов контроля версий, метрики…

    26 июля, 2021

    Agile метрики. Часть 5: Метрики из инструментов CI/CD

    В предыдущих частях мы рассмотрели: метрики из Agile Project Tools, метрики Lean Kanban, метрики из…

    26 июля, 2021