Измеряйте систему поставки
ЗавершеноОценивайте поток поставки, нестабильность, результаты сервиса и затраты труда вместе. Используйте явные определения при оценке влияния ИИ.
Издатель TaigaКак мы пишем
Проверьте пониманиеПосле внедрения ИИ частота развёртываний выросла, но внеплановых развёртываний с исправлениями тоже стало больше. Какой вывод следует сделать?Выполните упражнение
Чему вы научитесь
- Отличить эффективность поставки от активности генерации кода.
- Интерпретировать метрику с учётом определений событий и области измерения.
- Использовать измерения для выбора улучшения, а не для ранжирования сотрудников.
Начните с решения, которое нужно принять
Команда хочет узнать, улучшает ли ИИ поставку. Подсчёт сгенерированных строк отвечает на другой вопрос. Определите полезный результат и условия качества до выбора метрики.
Для вымышленного сервиса экспорта желаемый результат — надёжно поставлять принятые изменения с меньшими суммарными затратами труда. Фиксируйте подготовку, реализацию, review, исправление и ожидание. Учитывайте изменения, которые не удались или от которых отказались.
Выберите один сервис с чёткими границами. Объединение экспериментального сайта и критического платёжного сервиса может дать число, которое не объясняет ни один из них. Опишите контекст до сравнения периодов или команд.
Используйте актуальные определения
Текущая модель поставки DORA содержит пять метрик. Они измеряют эффективность поставки, а не ценность каждой функции или вклад отдельного человека. Определения метрик DORA.
| Метрика | Что измеряется |
|---|---|
| Время поставки изменения | От коммита до production |
| Частота развёртываний | Частота развёртывания в production |
| Время восстановления после неудачного развёртывания | Восстановление после неудачного развёртывания |
| Доля неудачных изменений | Развёртывания, требующие немедленного вмешательства |
| Доля повторной работы при развёртывании | Внеплановые развёртывания из-за инцидентов в production |
Dashboard может использовать другое определение. Прочитайте его до интерпретации результата. Текущая документация Taiga по развёртываниям описывает четыре отображаемые метрики на основе записей поставщика о развёртываниях. Показатель восстановления использует последующее успешное развёртывание. Это не полный учёт всех инцидентов в production. Определения Taiga.
Изучите вымышленную последовательность изменений
Предположим, за месяц сервис развёртывают двенадцать раз. Восемь развёртываний поставляют плановые изменения. Четыре исправляют проблемы предыдущих релизов. Общее число — двенадцать, но важен состав.
В следующем месяце команда выполняет десять развёртываний: девять плановых изменений и одно исправление. Меньше развёртываний может сопровождаться большим объёмом полезной работы. Эти числа иллюстрируют интерпретацию, а не служат эталоном эффективности.
Изучите и распределение. Одно долгое ожидание review может скрыться в среднем значении. Показатель восстановления по единственному сбою слабо подтверждает будущую надёжность. Указывайте число наблюдений и существенные исключения.
Сопоставляйте поток работы с последствиями
Используйте сигналы сервиса, чтобы проверить влияние изменений поставки на пользователей. Более быстрого pipeline недостаточно, если экспорт чаще завершается сбоем. Используйте подходящий SLO или другой чётко определённый показатель результата. Рекомендации по SLO.
Затраты на review и доработку помогают объяснить результат. Если ИИ сокращает время реализации, но создаёт большие diff, ограничением может стать review. Если получение среды занимает дни, ускорение написания кода может мало повлиять на общее время поставки.
Выберите одно улучшение, которое устраняет наблюдаемое ограничение. Например, предоставьте поддерживаемую тестовую среду или уменьшите размер изменения. Определите дополнительную метрику качества, чтобы команда могла обнаружить видимое ускорение за счёт более слабых проверок.
Сохраняйте практическую пользу измерений
Не ранжируйте сотрудников по числу PR или сгенерированному коду. Такие показатели могут поощрять искусственное дробление работы, отказ от сложного сопровождения или передачу затрат на review коллегам.
Обсудите результат с людьми, которые отвечают за весь сервис. Запишите, что изменилось в инструменте, составе работ, команде и среде. Считайте сравнение до и после свидетельством с ограничениями, а не автоматическим доказательством причинной связи.
Цель — принять следующее решение лучше. Небольшое достоверное измерение, которое приводит к проверенному улучшению, полезнее большого dashboard без согласованного смысла.
Потренируйтесь на десяти изменениях
Этот отдельный вымышленный набор данных содержит десять плановых изменений. Всё время указано в UTC для указанной даты. Пустое поле исправления означает, что в этом наборе исправление не зафиксировано.
| Изменение / дата | Начало работы | Код готов | Начало review | Принято | Выпущено | Исправлено |
|---|---|---|---|---|---|---|
| C01 · 2026-09-14 | 08:00 | 08:45 | 09:15 | 09:30 | 10:00 | — |
| C02 · 2026-09-14 | 09:00 | 09:30 | 12:00 | 12:20 | 13:00 | — |
| C03 · 2026-09-15 | 08:00 | 09:00 | 09:15 | 09:40 | 10:00 | 15:00 |
| C04 · 2026-09-15 | 10:00 | 10:30 | 10:45 | 11:00 | 11:15 | — |
| C05 · 2026-09-16 | 08:00 | 09:00 | 13:00 | 13:30 | 14:00 | — |
| C06 · 2026-09-16 | 10:00 | 11:00 | 11:30 | 12:00 | 12:15 | — |
| C07 · 2026-09-17 | 08:00 | 08:30 | 09:00 | 09:20 | 09:30 | — |
| C08 · 2026-09-17 | 10:00 | 10:45 | 11:00 | 11:30 | 14:30 | — |
| C09 · 2026-09-18 | 08:00 | 08:30 | 09:00 | 09:30 | 10:00 | — |
| C10 · 2026-09-18 | 09:00 | 09:30 | 10:00 | 10:30 | 11:00 | 14:00 |
Сравните время от готовности кода до начала review, затем — от приёмки до релиза. Найдите самое долгое видимое ожидание. Изучите причину, прежде чем считать его устранимым. Эти временные отметки не измеряют активные трудозатраты и не показывают начало инцидента. Сам релиз исправления не позволяет определить время восстановления после неудачного развёртывания.
Скачать вымышленный набор данных (CSV)
Проверьте время ожидания
Проверьте свою интерпретацию: C05 ждёт review четыре часа. C08 ждёт релиза три часа после приёмки. Набор данных не объясняет эти ожидания. Уточните доступные ресурсы, рабочие часы, правила релизов и зависимости.
Выполните упражнение
Используйте набор из десяти изменений в этом уроке. Определите развёртывание, неудачное изменение и событие восстановления. Найдите самое долгое видимое ожидание и укажите, что поможет установить причину. Предложите улучшение и показатель, который выявит ухудшение качества.
Скачать рабочий лист (Markdown)Если снять этот флажок, весь прогресс, сохранённый в этом браузере, будет удалён.
Прогресс остаётся в этом браузере. Без аккаунта и отслеживания.
Источники и дополнительные материалы
- DORA: Software delivery performance metrics ↗
- Taiga docs: Deployments and metric definitions ↗
- Google SRE: Implementing SLOs ↗