Зачем нужен этот тренинг
Многие компании, в том числе и внедрившие у себя agile, сталкиваются со следующими проблемами:
-
сопротивление отдела отвечающего за выпуск и установку продукта (Operations) - в то время, как команда разработки хочет выпускать продукт чаще, operations сопротивляется этому из-за ожидания возможных проблем при поставке
-
снижение скорости выпуска нового функционала - команда разработки тратит много времени на то, чтобы решить проблему пришедшую с боевого сервера или от клиента, вместо создания нового функционала
-
сложности диагностирования проблем пришедших от клиента - вся команда от тестировщиком до operations тратит много времени на то, чтобы выявить причину ошибок, воспроизвести их у себя и отправить fix клиенты
-
и многие, многие другие
На сегодняшний день существует подход, позволяющий решать подобные проблемы. Он называет DevOps.
Что такое DevOps
Термином «DevOps» обычно называют подход, который выступает за совместные рабочие отношения между разработчиками и ИТ-подразделением, в результате получая более быстрое выполнение планируемых работ (например, высокие темпы развертывания), одновременно увеличивая надежность, стабильность, устойчивость и безопасность production-среды. DevOps особенно хорошо дополняет Agile, так как он расширяет и дополняет процессы непрерывной интеграции и выпуска продукта.
Существует 4 работающих метода внедрения DevOps:
Метод 1: Углубление процессов разработки в поставку: это включает расширение непрерывной интеграции и выпуска в на боевые сервера, интеграция тестирования и информзащиты в рабочие процессы, что дает готовый к поставке код, настроенные среды, и так далее.
Метод 2: Создание обратной связи от боевой среды до разработки: включает создание полной хронологии событий в разработке и администрировании, с целью помощи в разрешении проблем, а так же предоставление доступа команде разработки к анализу проблем на проде, одновременно с созданием разработчиками сервисов самообслуживания, везде где это возможно, и создание информационных радиаторов, показывающих изменение в поведении системы при вносе изменений.
Метод 3: Объединение разработки и администрирования: состоит во включении команды разработки в цепочку разрешения проблем, назначение разработчиков на разрешение проблем на проде, а так же взаимные тренинги между разработчиками и администраторами, чтобы уменьшить количество эскалаций.
Метод 4: Включение ИТ команды в разработку: состоит во включении или тесной связью между IT и разработкой, создание многоэтапных пользовательских историй (включая развертывание, управление кодом в производстве и т.д.), и определение нефункциональных требований, которые могут быть использованы во всех проектах.
Содержание тренинга
Обзор практики Continuous Delivery
-
Что это такое
-
Плюсы/минусы такого подхода
-
Способы внедрения
Обзор Best Practice методологии DevOps
-
Автоматизация процессов
-
Переход на подход test driven
-
Создание инструментов мониторинга
-
Создание инструментов прогнозирования возможных проблем
Построение культуры взаимодействия между отделами
-
Проблемы взаимодействия отделов разработки и operations
-
Проблемы взаимодействия отделов тестирования и operations
-
Паттерны решения проблем взаимотношения
Обзор необходимых навыков
-
Автоматизация тестирования
-
Автоматизация поставки
-
Знание скриптовых языков
-
Работа с OS/платформами
-
Развитие кроссфункциональности
Обзор существующих инструментов
-
Инструменты настройки сред
-
Инструменты логирования
-
Инструменты мониторинга
-
Инструменты визуализации
-
Выработка стандартов и единого набора инструментов
Тренинг по большей части состоит из практических упражнений, благодаря чему участники выйдут после него с планом изменений для своего проекта.