Автор статьи: Дмитрий Курдюмов
Участвовал в Аджайл-трансформациях в крупнейших компаниях в России (Альфа банк, МТС, Х5 retail group)
DevOps представляет собой методологию разработки программного обеспечения, которая объединяет разработки (Development) и операции (Operations) для повышения взаимодействия между командами. Основная цель DevOps заключается в сокращении времени цикла разработки, увеличении частоты релизов и улучшении качества продукта. Это достигается за счет автоматизации процессов, непрерывной интеграции, доставки и мониторинга.
В данной статье мы рассмотрим инструменты и философию DevOps из Scaled Agile Framework. Это фреймворк масштабирования Agile в компании, который объясняет как объединить большое количество команд и построить с одной стороны предсказуемую разработку, а с другой стороны сохранить гибкость.
Принципы CALMR
Одной из основ DevOps в SAFe являются принципы CALMR:
Culture (Культура): Формирование культуры сотрудничества и обмена знаниями между командами. Важно создавать среду, где члены команды доверяют друг другу, активно обмениваются знаниями и опытом, а также работают совместно для достижения общих целей.
Automation (Автоматизация): Автоматизация процессов, таких как тестирование, развертывание и мониторинг, для сокращения ручной работы и уменьшения числа ошибок. Это позволяет ускорить процесс доставки, повысить его надежность и обеспечить постоянную готовность к изменениям.
Lean Flow (Бережливый поток): Оптимизация процессов для минимизации задержек и увеличения скорости поставки. Включает управление потоком задач и устранение узких мест, что позволяет доставлять ценность пользователю как можно быстрее.
Measurement (Измерение): Постоянное измерение и анализ данных для улучшения процессов. Включает мониторинг ключевых показателей эффективности (KPI) и использование данных для принятия обоснованных решений.
Recovery (Восстановление): Быстрое восстановление и реагирование на инциденты. Включает разработку планов восстановления, регулярное проведение тестов и обеспечение готовности к восстановлению после сбоев.
Основные Домены Практик DevOps
DevOps включает несколько ключевых доменов практик, которые способствуют эффективной разработке и доставке программного обеспечения.
Continuous Exploration (Непрерывное Исследование)
Continuous Exploration (CE) включает в себя процесс постоянного изучения потребностей клиентов и разработку новых идей. Это помогает организациям быстро адаптироваться к изменениям на рынке и удовлетворять потребности пользователей.
Гипотезы и Исследования: Определение и проверка гипотез о потребностях клиентов.
Архитектура и Синтез: Разработка архитектурных решений и синтез идей для создания новых функций.
Continuous Integration (Непрерывная Интеграция)
Continuous Integration (CI) включает в себя процесс постоянной интеграции кода и автоматизации тестирования. Это позволяет командам быстро находить и устранять ошибки, обеспечивая высокое качество продукта.
Разработка и Сборка: Постоянная интеграция кода и автоматизация сборки.
Тестирование и Валидация: Автоматизация тестирования для обеспечения качества кода.
Continuous Deployment (Непрерывное Развертывание)
Continuous Deployment (CD) включает в себя автоматизацию развертывания и мониторинг работы приложения. Это позволяет командам быстро и надежно развертывать изменения в продакшн.
Развертывание и Мониторинг: Автоматизация развертывания и мониторинг работы приложения.
Release on Demand (Релиз по Требованию)
Release on Demand (RoD) включает в себя процесс стабилизации и измерения производительности системы, а также быструю реакцию на изменения и выпуск обновлений по мере необходимости.
Стабилизация и Измерение: Постоянное измерение производительности и стабильности системы.
Релиз и Реагирование: Быстрая реакция на изменения и выпуск обновлений.
SAFe DevOps Health Radar
SAFe DevOps Health Radar — это инструмент для оценки зрелости DevOps в вашей компании. Он помогает определить текущий уровень зрелости и эффективности DevOps практик в организации. Радар включает четыре ключевых области:
Continuous Exploration (Непрерывное исследование): Оценка способности команды генерировать и развивать новые идеи.
Continuous Integration (Непрерывная интеграция): Оценка эффективности процессов интеграции и тестирования.
Continuous Deployment (Непрерывное развертывание): Оценка способности команды автоматизировать и управлять развертыванием.
Release on Demand (Релиз по требованию): Оценка способности команды быстро и безопасно выпускать обновления по мере необходимости.
Радар позволяет командам самооценить свои процессы по пятибалльной шкале, что помогает выявить слабые места и наметить пути для улучшения.
Зрелость DevOps в Компании
Оценка зрелости DevOps в компании важна для понимания текущего состояния процессов и определения направлений для улучшения. Важно учитывать следующие аспекты:
Культура и Командное Взаимодействие: Насколько команды готовы к сотрудничеству и обмену знаниями. Команды должны иметь общее понимание целей и быть готовыми к открытому взаимодействию.
Автоматизация и Инструменты: Уровень автоматизации процессов и используемые инструменты. Высокий уровень автоматизации позволяет сократить время выполнения задач и снизить риск ошибок.
Процессы и Практики: Насколько хорошо отлажены и стандартизированы процессы. Стандартизированные процессы обеспечивают предсказуемость и стабильность работы.
Мониторинг и Анализ: Наличие систем мониторинга и анализа данных для принятия решений. Мониторинг позволяет оперативно выявлять и устранять проблемы, а анализ данных помогает улучшать процессы.
Заключение
DevOps — это не просто набор практик, а философия и подход к разработке программного обеспечения, направленный на повышение эффективности и качества. Использование принципов CALMR, внедрение практик из основных доменов DevOps и оценка зрелости с помощью инструментов, таких как SAFe DevOps Health Radar, помогут вашей компании достигнуть новых высот в разработке и доставке программного обеспечения.
Если понравилась статья — подписывайтесь на мой телеграм канал, чтобы узнать больше о построении гибких процессов разработки продукта.
Также приходите на бесплатные открытые уроки, которые пройдут в преддверии старта курса "Product Manager IT‑проектов":
11 июня, «Как составить продуктовую стратегию?». Разберем шаги и инструменты, необходимые для эффективного создания стратегии, которая будет успешно вести продукт к его целям и удовлетворять потребности пользователей. Запись по ссылке
19 июня, «Как генерировать продуктовые гипотезы и что это такое?». Изучим методики формулировки и первичной проверки гипотез; рассмотрим примеры простых гипотез и способы получения обратной связи. Запись по ссылке