Николь Форсгрен: «Качество системы растет вместе со скоростью разработки»

Lenny's Podcast 33 тыс. 1 ч 16 мин 3 мин 30.07.2023
Главное

🚀 Как измерить и повысить продуктивность разработчиков: урок от Николь Форсгрен 0:00

Большинство команд сталкиваются с трудностями при попытке улучшить продуктивность, потому что не имеют четкого понимания целей или путают понятия «культура» и «инструментарий». Николь Форсгрен, партнер в Microsoft Research и автор книги Accelerate, в разговоре с ведущим подкаста Ленни обсуждает, как с помощью данных и правильных фреймворков трансформировать работу инженерных команд. Главная мысль эксперта: стремление к высокой скорости разработки не противоречит стабильности, а наоборот — способствует ей.

📊 Фреймворки Dora и SPACE: от инструментов к стратегии 13:40

Николь Форсгрен подчеркивает, что выбор правильных метрик — это половина успеха, однако многие компании совершают ошибку, полагаясь на поверхностные показатели.

Dora: измеряем скорость и стабильность 14:06

Фреймворк Dora стал индустриальным стандартом благодаря фокусу на четырех ключевых показателях, которые статистически значимо коррелируют между собой:

По словам эксперта, команды, которые делают релизы чаще и меньшими порциями, выигрывают в стабильности. Короткие циклы позволяют быстрее обнаруживать ошибки и имеют меньший «радиус поражения». Контраргумент, который часто слышала Николь в крупных компаниях: «Нам нужно больше времени на проверку изменений для безопасности», — на деле оказывается пережитком старых практик управления изменениями (ITIL/ITSM), которые только накапливают технический долг и увеличивают вероятность конфликтов.

SPACE: целостный взгляд на продуктивность 29:36

Для измерения сложных творческих процессов Форсгрен предлагает использовать фреймворк SPACE, который помогает сбалансировать метрики, чтобы избежать фокусировки на чем-то одном (например, на количестве коммитов):

  1. S (Satisfaction): удовлетворенность и благополучие разработчиков.
  2. P (Performance): результат процесса, например, надежность системы.
  3. A (Activity): количественные показатели (количество пул-реквестов, коммитов).
  4. C (Communication): эффективность взаимодействия в команде и доступность документации/кода.
  5. E (Efficiency): поток работы (flow), время прохождения задачи через систему.

Николь Форсгрен советует выбирать минимум три измерения из пяти для сбалансированной картины, чтобы «не играть в лото» с метриками.

💡 Искусственный интеллект и будущее разработки 50:11

Внедрение инструментов вроде GitHub Copilot кардинально меняет работу инженеров, превращая их из «писателей кода» в «рецензентов».

📋 Практические советы: с чего начать завтра? 54:07

Для команд, которые хотят начать путь к улучшениям, Николь Форсгрен дает три простых шага:

  1. Зафиксируйте проблему: четко запишите, чего именно вы пытаетесь достичь, и обсудите это с командой.
  2. Найдите сигналы: определите, есть ли у вас хоть какие-то данные (количественные или качественные), которые могут подсветить эту проблему.
  3. Поговорите с людьми: если данных нет, проведите серию опросов или интервью с инженерами, чтобы узнать, что больше всего мешает их работе.

Николь Форсгрен также отмечает, что часто лучшие идеи для улучшений приходят из простого вопроса: «Кто наша аудитория и как мы донесем до них пользу нашего проекта?».

💬 Цитаты

«Дев-опс — это не набор инструментов, который вы покупаете. Это набор технических, архитектурных и культурных возможностей.»

Николь Форсгрен 26:22

«Если вы заставляете людей ждать две недели для одобрения изменений, вы просто копите проблемы.»

Николь Форсгрен 16:35

«Ключ к хорошей стратегии — это знание того, что не нужно делать.»

Николь Форсгрен 1:07:31
👥 Спикеры
📚 Упомянутые книги
🎬 Упомянутые фильмы и сериалы
🔗 Упомянутые сайты и проекты
📖 Термины
Dora
DevOps Research and Assessment — программа исследований и набор метрик для оценки скорости и стабильности разработки.
SPACE
Фреймворк для оценки продуктивности в сложных творческих задачах, включающий удовлетворенность, производительность, активность, коммуникацию и эффективность.
Lead time for changes
Время от момента фиксации кода (commit) до его работы в продакшене.
MTTR
Mean Time to Restore — среднее время восстановления работоспособности системы после сбоя.
Blast radius
Радиус поражения — масштаб потенциальных проблем при выпуске изменений в продакшен.
📊 Цифры
🗓 Хронология
  1. 2010-е Зарождение исследований DevOps и публикация первых отчетов DORA.
  2. 2025-2026 Период активного влияния ИИ на инженерные процессы и пересмотр метрик продуктивности.
⚖️ Другая сторона
Технологии и IT Nicole Forsgren Dora framework SPACE framework Microsoft Research GitHub