Это – продолжение нашей предыдущей статьи, посвященной Agile и DevOps. Там мы рассмотрели основные плюсы и минусы этих методологий, а здесь подробно рассмотрим, как можно внедрить их в работу своей компании. Итак, начнем.
Внедрение Agile
Вот основные этапы пошагового внедрения Agile в компании:
- Подготовка к внедрению и обучение персонала. Перед тем, как что-то менять в работе, нужно подготовить людей. Кроме того, нужно провести предварительный анализ текущих и намеченных проектов, чтобы выбрать оптимальный стартовый проект. Здесь очень важно не спешить и не стараться изменить все сразу и быстро. Как показывает практика, в процессе внедрения Agile возникают трудности и проблемы и решать их проще и лучше в одном «пробном» проекте. Потом, когда технология отладится, ее можно расширить и на другие проекты. Обучение персонала проводится в виде специального курса, и в нем участвуют те, кто будет заниматься пробным проектом.
- После этого нужно распределить роли среди участников пилотного проекта, включая рядовых исполнителей и менеджеров и начать внедрять технологию. На всех этапах ответственный за процесс внедрения (это может быть или консультант из специализированной компании, или штатный сотрудник, который прошел курс углубленного обучения и лучше других разбирается в процессе) отслеживает промежуточные результаты, и, если необходимо, проводит повторный инструктаж для членов команды. Выявленные ошибки корректируются сразу же.
- После удачного завершения работы над пилотным проектом и устранения выявленных в его ходе проблем и трудностей, нужно провести тотальное обучение всех сотрудников компании (которые заняты во всех проектах) основам Agile и можно внедрять ее в масштабах всей компании, тоже проводя дополнительные тренинги (если нужно), и оперативно устраняя ошибки.
Вот так в общем случае выглядит процесс внедрения технологии Agile. Что вы должны получить в результате этого?
- Обученных сотрудников (менеджеры, разработчики, тестировщики, дизайнеры и пр.), которые знают, как работать над проектами по данной методологии.
- Отработанная схема взаимодействия. Также в результате внедрения Agile у вас должна быть отработанная схема взаимодействия всех членов команды, и даже если в команде будут изменения, общая схема останется.
- Рост продуктивности работы. В результате внедрения Agile продуктивность работы вашей команды должна вырасти, иначе зачем же он нужен.
Внедрение DevOps
Сразу отметим, что DevOps в его чистом виде вряд ли получится внедрить, но лучше взять для себя что-то лучшее из этой методологии и адаптировать его под свою специфику. Так же, как и в случае Agile, DevOps вводится постепенно. Мы можем свести этот процесс к следующему:
- Сначала сформулируйте ту задачу, которую вы собираетесь решить с помощью DevOps, скажем, создать конвейер развертывания и т.п.
- Затем нужно обсудить план действий с командой и сразу установить, где самые проблемные места в процессах, а затем выбрать конкретные инструменты автоматизации для внедрения.
- Провести обучение команды и освоить базовые принципы DevOps – CALMS (культура, автоматизация, бережливость, измерения и коммуникация).
- Изменить процессы разработки и схему организации людей. В центре должен быть продукт, а не функциональные обязанности людей.
- Теперь можно перейти к автоматизации. Автоматизировать нужно те процессы, которые требуют этого и которые подходят для этого. Также нужно определить метрики, чтобы затем можно было четко оценить успешность этого процесса.
- После внедрения автоматизации, нужно провести оценку результата по установленным ранее метрикам. Дает ли профит внедрение этого подхода? Если вы видите, что нет, возвращаемся к этапу №1 и пересматриваем наши задачи, или пробуем другие инструменты. Ну а если вы видите пользу от DevOps, расширяйте этот подход на другие проекты.
Важно!
Внедряя Agile и DevOps, нужно понимать, что это затронет все: структуру, людей, и производственные технологии, поэтому внедрение должно быть комплексным и постепенным. Любые преобразования в работе компании начинаются с топ-менеджмента. Именно от их включенности зависит общий успех, или провал.
Чтобы получить желаемый результат, у вас должен быть план, стратегия. Этот план – это не просто организационная схема. В нем должно быть представлено чёткое видение результата – организационной модели. Первый шаг — определить ценность внедрения методологии. Далее – структура. Согласно Agile и DevOps, команда группируется вокруг миссии, а не так, как диктуют внешние условия или возможности. Разные работы ведут разные команды. Так, межфункциональные группы работают над достижением цели – создать продукт или услугу. Самоуправляемые группы сами определяют способ постановки целей и расстановку приоритетов. При необходимости они корректируют работу межфункциональных групп. Функциональные группы: HR-отдел, отдел тестировщиков, бухгалтерия и т.п. работают отдельно.
Да, не все можно спланировать и заранее предвидеть, поэтому в процессе внедрения нужна адаптация. Agile и DevOps потенциально могут принести вам выгоду, но, чтобы не нарушить нормальную работу компании и не поставить весь бизнес под угрозу, желательно опробовать это на отдельном проекте, и уже по этим результатам делать выводы как идти далее, возможно в первоначальный план нужно будет вносить изменения. Да, Agile и DevOps можно внедрять сразу и у всех команд, но такая схема подойдет только в том случае, если философия вашей компании уже достаточно гибкая и изменения точно пройдут максимально быстро.
Agile и DevOps – это не панацея, они не помогут вам решить системные проблемы с руководством, или наладить неэффективную коммуникацию, но при правильном подходе они помогут существенно повысить продуктивность работы вашей команды, и сократить общий срок разработки продукта, и это уже подтверждено тысячами успешный кейсов ИТ-компаний. Мы желаем вам успехов в процессе внедрения Agile и DevOps в вашей компании.