Состояние Continuous Delivery в 2019 году

Наш эксперт, Андрей Александров, рассказал про состояние практики Continuous Delivery в индустрии на 2019 год в рамках курса "DevOps практики и инструменты" от компании OTUS.

В выступлении рассмотрено:
  1. История появления практики и ее развитие в индустрии. В докладе были разобраны ключевые источники, сформировавшие современное понимание Continuous Delivery: книга Continuous Delivery (Непрерывное развертывание ПО), книга The DevOps Handbook (Руководство по DevOps) как практическое руководство по внедрению DevOps и Continuous Delivery в организациях, Technology Radar Volume 19 от компании Thoughtworks как обзор эволюции практик в индустрии, книга Accelerate (Ускоряйся! Наука DevOps) и исследование Accelerate State of DevOps 2018 как эмпирическая база, подтверждающая влияние практики Continuous Delivery на результаты компаний;
  2. Определение и принципы практики непрерывная поставка (Continuous Delivery). Практика Continuous Delivery была определена как способность быстро и безопасно поставлять любое изменение пользователю, независимо от его типа: новая функциональность, исправление дефекта, изменение конфигурации или инфраструктуры. Были подробно разобраны базовые принципы практики: встроенное качество (Quality Built In) через автоматические проверки и тесты, работа с небольшими изменениями (Working in small batches), автоматизация рутинных операций, постоянные улучшения конвейера поставки и общая ответственность команды за процесс поставки и его стабильность;
  3. Основы Continuous Delivery и минимальный набор практик, необходимых для ее внедрения. В выступлении подчеркивалось, что в основе Continuous Delivery лежат всестороннее управление конфигурацией (Configuration Management, Infrastructure as Code), непрерывная интеграция (Continuous Integration) и непрерывное тестирование (Continuous Testing). Конвейер поставки рассматривался как автоматизированный поток, в котором сборка, тестирование, развертывание и создание окружений выполняются машиной, а люди фокусируются на решении проблем и развитии продукта;
  4. Модель Accelerate (DORA core model) и влияние практики Continuous Delivery на Software Delivery Performance (SDO), Organizational performance и инженерную культуру. В докладе подробно разбиралась корреляция между внедрением Continuous Delivery и улучшением ключевых показателей: скорости поставки, стабильности сервисов и бизнес-результатов. Отдельно отмечалось влияние практики на работу внутри команды: повышение качества продукта, сокращение времени на поиск дефектов, снижение переработок и ночных релизов, уменьшение уровня стресса и выгорания, а также рост ответственности команды за результат.
  5. Драйверы для улучшения практики Continuous Delivery. Были рассмотрены ключевые технические и организационные факторы, усиливающие эффект от Continuous Delivery: управление версиями (Version Control) как основа всех практик, автоматизация тестирования (Test Automation), автоматизация развертывания (Deployment Automation), Trunk-Based Development как модель ветвления, поддерживающая частые интеграции, непрерывная интеграция (Continuous Integration), управление тестовыми данными (Test Data Management), а также интеграция Security и Monitoring непосредственно в конвейер поставки. Подчеркивалось, что эти элементы должны развиваться совместно и быть частью единого процесса;
  6. Ключевые метрики (4 key metrics) для оценки и измерения практики Continuous Delivery. В выступлении были разобраны ключевые DORA метрики: срок поставки (Lead Time for Changes), частота развертывания (Deployment Frequency), время восстановления (MTTR) и неуспешные изменения (Change Failure Rate). Отмечалось, что эти метрики позволяют объективно оценивать текущее состояние поставки, отслеживать эффект от внедрения практик и аргументированно показывать бизнесу влияние Continuous Delivery на результаты компании.

Подробнее в записи выступления:
Если вам интересно развитие инженерных практик и переход к Continuous Delivery в вашей компании или команде, обращайтесь к нам за помощью.

Мы помогаем компаниям и руководителям оценивать, измерять и развивать инженерную культуру, процессы и практики, помогаем адаптировать модели и фреймворки под контекст, принципы и культуру компании, развиваем внутренние платформы и экспертные команды.

Не забывайте подписываться на наш канал Enabling.team Insights, чтобы быть следить за состоянием в индустрии.