Вимірюйте систему доставки
ЗавершеноПоєднуйте потік доставки, нестабільність, результати сервісу та зусилля. Використовуйте явні визначення для оцінювання впливу ШІ.
Видавець TaigaЯк ми пишемо
Перевірте своє розумінняПісля впровадження ШІ частота розгортань зростає, але зростає й кількість незапланованих розгортань для виправлення. Який висновок варто зробити?Виконайте вправу
Чого ви навчитеся
- Відрізняти результативність доставки від активності генерування коду.
- Тлумачити метрику за її визначеннями подій і сферою охоплення.
- Використовувати вимірювання для вибору поліпшення, а не ранжування людей.
Почніть із рішення, яке потрібно ухвалити
Команда хоче знати, чи ШІ поліпшує доставку. Підрахунок згенерованих рядків відповідає на інше питання. Визначте корисний результат і умови якості до вибору метрики.
Для вигаданого сервісу експорту бажаний результат — надійна доставка прийнятих змін із меншими загальними зусиллями. Записуйте підготовку, реалізацію, перегляд, виправлення та очікування. Включайте зміни, які не вдалися або від яких відмовилися.
Використовуйте один сервіс із чіткою межею. Поєднання експериментального вебсайту й критичного платіжного сервісу може дати число, яке не пояснює жодного з них. Опишіть контекст до порівняння періодів або команд.
Використовуйте актуальні визначення
Поточна модель доставки DORA містить п’ять метрик. Вони охоплюють результативність доставки, а не цінність кожної функції чи внесок окремої людини. Визначення метрик DORA.
| Метрика | Що вимірює |
|---|---|
| Час проходження зміни | Від commit до продуктивного середовища |
| Частота розгортань | Частота розгортань у продуктивному середовищі |
| Час відновлення після невдалого розгортання | Відновлення після невдалого розгортання |
| Частка невдалих змін | Розгортання, що потребують негайного втручання |
| Частка розгортань для перероблення | Незаплановані розгортання через інциденти в продуктивному середовищі |
Панель може використовувати інше визначення. Прочитайте його до тлумачення результату. Поточна документація Taiga щодо розгортань описує чотири звітні метрики, отримані із записів розгортань постачальника. Її показник відновлення використовує наступне успішне розгортання. Це не повний запис кожного інциденту в продуктивному середовищі. Визначення Taiga.
Дослідіть вигадану послідовність змін
Припустімо, сервіс виконує дванадцять розгортань за місяць. Вісім доставляють заплановані зміни. Чотири виправляють проблеми попередніх випусків. Кількість — дванадцять, але склад має значення.
Наступного місяця команда виконує десять розгортань: дев’ять запланованих змін і одне виправлення. Менша кількість розгортань може поєднуватися з більшою кількістю корисної роботи. Ці числа ілюструють тлумачення; вони не є орієнтиром результативності.
Також дослідіть розподіл. Одне тривале очікування перегляду може зникнути в середньому значенні. Показник відновлення з однієї відмови — слабкий доказ майбутньої надійності. Повідомляйте кількість спостережень і суттєві винятки.
Поєднуйте потік із наслідками
Використовуйте сигнали сервісу, щоб перевірити, чи зміни доставки впливають на користувачів. Швидшого pipeline недостатньо, якщо експорт частіше завершується невдало. Використовуйте відповідний SLO або інший чітко визначений показник результату. Рекомендації щодо SLO.
Зусилля на перегляд і перероблення допомагають пояснити результат. Якщо ШІ скорочує реалізацію, але створює великі diff, перегляд може стати обмеженням. Якщо отримання середовищ триває дні, швидше програмування може мало вплинути на загальний час доставки.
Виберіть одне поліпшення, що усуває спостережуване обмеження. Наприклад, надайте підтримуване тестове середовище або зменште розмір зміни. Визначте балансувальну метрику якості, щоб команда могла виявити видиме прискорення через слабші перевірки.
Зберігайте корисність вимірювання
Уникайте індивідуальних рейтингів на основі кількості PR або згенерованого коду. Ці показники можуть заохочувати штучний поділ роботи, уникнення складного обслуговування або перекладання зусиль на перегляд на колег.
Перегляньте результат із людьми, відповідальними за весь сервіс. Запишіть, що змінилося в інструменті, складі роботи, команді та середовищі. Ставтеся до порівняння до й після як до доказу з обмеженнями, а не автоматичного доведення причинності.
Мета — краще наступне рішення. Невелике надійне вимірювання, яке приводить до перевіреного поліпшення, корисніше за велику панель без узгодженого змісту.
Попрактикуйтеся на десяти змінах
Цей окремий вигаданий набір даних записує десять запланованих змін. Увесь час подано в UTC для зазначеної дати. Порожнє поле виправлення означає, що в цьому наборі даних виправлення не записано.
| Зміна / дата | Початок роботи | Код готовий | Початок перегляду | Прийнято | Випущено | Виправлено |
|---|---|---|---|---|---|---|
| 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 |
Порівняйте час від готовності коду до початку перегляду, потім від прийняття до випуску. Визначте найдовше видиме очікування. Дослідіть його причину, перш ніж називати його уникненним. Ці позначки часу не вимірюють активних зусиль і не визначають початку інциденту. Сам випуск виправлення не встановлює часу відновлення після невдалого розгортання.
Завантажити вигаданий набір даних (CSV)
Перевірте час очікування
Перевірте своє тлумачення: C05 очікує перегляду чотири години. C08 очікує три години після прийняття до випуску. Набір даних не пояснює цих очікувань. Запитайте про спроможність, робочі години, політику випусків і залежності.
Виконайте вправу
Використайте набір даних із десяти змін у цьому уроці. Визначте розгортання, невдалу зміну та подію відновлення. Знайдіть найдовше видиме очікування та вкажіть, що встановило б його причину. Запропонуйте поліпшення та показник, що виявив би погіршення якості.
Завантажити робочий аркуш (Markdown)Зняття цієї позначки видаляє весь прогрес, збережений у цьому браузері.
Прогрес залишається в цьому браузері. Без облікового запису та відстеження.
Джерела та додаткові матеріали
- DORA: Software delivery performance metrics ↗
- Taiga docs: Deployments and metric definitions ↗
- Google SRE: Implementing SLOs ↗