9.2

9.2 Справочник определений и формул метрик

Каждая формула из книги, собранная в одном месте. Каждый пункт называет тему с полным обсуждением, включая её риск манипулирования и страховочную метрику. Используйте это как быстрый поиск, а не замену самой темы.

Метрики потока (часть 2)

МетрикаФормулаТема
Скорость потокаЧисло элементов потока, завершённых за единицу времени2.3
Распределение потока(Завершённые элементы одного типа элемента потока) / (Общее число завершённых элементов) × 100%2.3
Время потокаВремя от входа элемента потока в поток создания ценности до его доставки2.4
Нагрузка потокаЧисло элементов потока, в данный момент активных или ожидающих в потоке создания ценности2.4
Закон ЛиттлаНагрузка потока (незавершённая работа) = Темп поступления × Время потока (время цикла)2.4, 2.7
Эффективность потокаАктивное время работы / Общее истёкшее время × 100%2.5
Время циклаСумма длительностей этапов: кодирование + подхват + ревью + тестирование + развёртывание2.6
УтилизацияТемп поступления / Темп обслуживания2.7
Процент полноты и точности (%C/A)(Единицы, пригодные для использования ниже по течению без переделки) / (Общее число единиц) × 100%2.8
Совокупный выход%C/A этапа 1 × %C/A этапа 2 × … × %C/A этапа N2.8
Время тактаДоступное рабочее время / Спрос клиента за этот период2.8
Время до первого ревьюВремя от открытия запроса на слияние до первого содержательного ответа рецензента2.9
Частота развёртыванияЧисло успешных развёртываний в продакшен за единицу времени2.10
Время выполнения для измененийВремя от первого коммита до успешного развёртывания в продакшене (сообщайте медиану и 90-й перцентиль)2.10
Доля неудачных изменений(Развёртывания, вызывающие отказ) / (Общее число развёртываний) × 100%2.10
Время восстановления после неудачного развёртыванияВремя от обнаружения отказа до подлинного восстановления сервиса2.10

Опыт разработчика (часть 3)

МетрикаФормулаТема
Время фокусаЧисло и длительность непрерывных блоков от двух часов и более в неделю, из данных календаря3.6
Доля ответов(Полученные ответы на опрос) / (Отправленные приглашения на опрос) × 100%3.7

Код и качество (часть 4)

МетрикаФормулаТема
Цикломатическая сложностьНезависимые пути через поток управления (рёбра − узлы + 2, согласно МакКейбу)4.1
Тестовое покрытие(Строки/ветвления, выполненные тестами) / (Общее число строк/ветвлений) × 100%4.2
Доля убитых мутантов(Мутанты, убитые набором тестов) / (Общее число введённых мутантов) × 100%4.2
Объём изменений кодаСтроки добавленные + изменённые + удалённые на файл за временное окно4.3
Оценка горячей точкиОбъём изменений × Сложность, ранжированная по файлу4.3
Стоимость несения долгаОценочная постоянная стоимость неисправления пункта (более медленная связанная работа, повышенный риск дефектов)4.5

Продукт и бизнес (часть 5)

МетрикаФормулаТема
Доля утёкших дефектов(Утёкшие дефекты, взвешенные по серьёзности) / (Единица поставки или времени)5.1
Начальное принятие(Пользователи, попробовавшие функцию хотя бы раз) / (Целевая аудитория) × 100%5.2
Удержанное принятие(Пользователи, всё ещё использующие функцию через N недель) / (Пользователи, первоначально попробовавшие её) × 100%5.2
Стоимость на единицуОбщая стоимость (люди + инфраструктура + инструментарий) / Значимая единица (клиент, транзакция)5.4
ROI(Общая выгода − Полная стоимость владения) / Полная стоимость владения, представленная как диапазон5.5

Надёжность, эксплуатация и безопасность (часть 6)

МетрикаФормулаТема
Бюджет ошибок(1 − цель SLO) × Временное окно (например, 0,1% от 30 дней ≈ 43 минуты)6.1
Скорость расходования бюджета ошибокПотреблённый бюджет ошибок / Выделенный бюджет ошибок, за данное окно6.1
MTTDВремя от начала инцидента до обнаружения6.2
MTTAВремя от уведомления об инциденте до подтверждения6.2
MTTR (инцидент)Время от подтверждения до подлинного восстановления сервиса6.2
Распределение вызовов дежурстваВызовы, полученные на отдельного человека, за скользящее окно (не среднее по команде)6.3
Время до устранения уязвимостиВремя от обнаружения до подлинного устранения, отслеживаемое по серьёзности6.4

Заметки об использовании этих формул

  • Всегда сочетайте формулу скорости или выработки с её страховочной метрикой (тема 1.2): долю неудачных изменений с частотой развёртывания и временем выполнения; долю утёкших дефектов со скоростью поставки; расходование бюджета ошибок с активностью развёртывания.
  • Используйте медианы и перцентили, а не средние, для формул, основанных на времени (тема 1.6), если формула явно не требует среднего.
  • Каждой формуле нужна задокументированная исходная система и метод сбора (тема 1.5) наряду с её математическим определением; две команды, вычисляющие одну и ту же формулу из разных источников, не произведут сравнимых чисел.
  • Взвешивание по серьёзности не показано явно в каждой формуле выше, но применяется везде, где появляется «взвешенное по серьёзности»; смотрите соответствующую тему для полной схемы классификации.