Коли команда доставляє повільно, причина майже ніколи не в інженерах. Зазвичай це чотири-п'ять конкретних тертя, яких ніхто не виміряв.
«Команда повільна» — це симптом, і засновники зазвичай хибно діагностують його як проблему з людьми. За нашим досвідом, це майже завжди системна проблема: робота чекає в чергах, зміни великі й ризиковані, розгортання лякає, і ні в кого немає цифр, якими можна аргументувати.
Почніть із чотирьох вимірювань
Ці чотири добре усталені і, що важливіше, діагностичні: кожен поганий результат вказує на конкретний клас проблеми.
| Метрика | Що вона викриває, коли погана |
|---|---|
| Частота розгортань | Завеликий розмір партії, розгортання сприймаються як події |
| Час доставки змін | Час у черзі — зазвичай code review або очікування QA, а не кодування |
| Частка невдалих змін | Слабке тестування або відсутність відповідності staging продакшену |
| Час відновлення | Немає відпрацьованого відкату, погана спостережуваність |
Звичні знахідки
Code review — це вузьке місце, а не ворота якості
- Пул-реквести завеликі, щоб їх осмислено переглянути, тож review стає театром схвалення
- Немає очікувань щодо швидкості review, тож зміни лежать днями
- Один сеньйор — єдиний, хто апрувить: черга з одним віконцем
Розгортання — це подія
- Ручні кроки, які знає лише одна людина
- Немає відкату, якому хтось довіряє, тож релізи збираються в пачки, що робить їх ризикованішими, а отже рідшими
- Розгортання плануються на тихі години — сильний сигнал, що команда не довіряє процесу
Робота насправді не визначена
- Тікети, які потребують розмови, перш ніж хтось зможе почати
- Немає спільного визначення готовності, тож робота стрибає між розробкою і QA
- Забагато роботи в процесі — усі зайняті, нічого не завершується
Що змінювати першим
- Зробіть розгортання нудними — автоматизуйте, додайте відкат, відпрацюйте його. Усе інше покращується, щойно випуск стає безпечним.
- Зменшіть розмір партії — менші зміни легше переглядати, безпечніше випускати, швидше діагностувати.
- Встановіть SLA на review — години, а не дні, з другим апрувером, щоб одна людина ніколи не була вузьким місцем.
- Обмежте роботу в процесі — завершувати важливіше, ніж починати.
- Інструментуйте те, що відчувають клієнти, щоб інциденти знаходились усередині, а не приходили у скаргах.
Швидкість і безпека не є компромісом у доставці ПЗ. Команди, що розгортають найчастіше, мають і найнижчу частку відмов — бо малі, часті, зворотні зміни водночас швидші й безпечніші.
Досліджуйте роботу без рейтингу людей за метриками
Зіставні задачі показують обмеження системи. Пояснюйте очікування й переробки, не прирівнюючи активність до продуктивності.
- Оберіть кілька завершених змін, зокрема термінове виправлення.
- Виміряйте черги, цикли рев'ю, передавання та труднощі розгортання.
- Перевірте покращення з початковим показником і датою оцінки.
Часті запитання
Скільки триває аудит інженерних процесів?
Зазвичай один-два тижні: збір даних про доставку, інтерв'ю з командою, спостереження за справжнім релізом і огляд інструментів. Результатом має бути невелика кількість пріоритезованих змін з очікуваним ефектом, а не бал моделі зрілості.
Ви скажете нам впровадити Scrum?
Ні. Методологія рідко є обмеженням — ними є час у черзі, розмір партії і ризик розгортання. Команди добре доставляли за будь-якого фреймворку і погано за всіх; змінювати церемонію, не змінюючи цих трьох речей, не дає нічого.
Команда каже, що потрібно більше інженерів. Це правда?
Іноді, але наймати в процесне вузьке місце спершу погіршує ситуацію: більше людей створюють більше незавершеної роботи проти тих самих черг review і розгортання. Спершу виміряйте, куди насправді йде час; якщо більшість — це час у черзі, найм не є розв'язанням.
Чи можна порівнювати команди за сирими показниками?
Лише з контекстом продукту, типу робіт та операційних обмежень. Тренди допомагають дослідженню, але самі лічильники не доводять ефективності.
Команда доставляє повільніше, ніж мала б?
Ми вимірюємо, куди насправді йде час, і усуваємо головні обмеження — зазвичай за тижні, а не за квартали.
Читати далі за темою
Постмортем: як написати той, який справді читають
Більшість постмортемів — це археологія: точний запис того, що ніхто не змінить. Корисний дає невелику кількість речей, які справді робляться.
Технічний аудит MVP: що ми перевіряємо в перші 48 годин
Більшість аудитів MVP закінчуються документом. Корисний закінчується рішеннями: що горить, що може почекати і скільки коштує виправлення.