Оригинал 9 ‘People Problems’ Plaguing DevOps, автор Синтия Харви (Cynthia Harvey)
Когда ИТ-подразделения переходят на подход DevOps, они часто сталкиваются с непростыми организационными и культурными проблемами.
Любой заслуживающий внимания DevOps-эксперт скажет вам, что простое использование инструментов DevOps не превратит вашу ИТ-группу в DevOps-команду. Напротив, вашей организации необходимы культурные изменения.
И, увы, менять людей намного сложнее, чем технологии.
При первом внедрении DevOps большинство ИТ-групп сталкиваются с проблемами, связанными с культурой и/или структурой их организации. Эти препятствия могут сделать затруднительными для организации обретение гибкости и взаимодействия между разработчиками и операционным отделом, которые являются отличительными чертами подхода DevOps.
К счастью, эти препятствия можно преодолеть. И организации, успешно решающие эти проблемы, получают значительные преимущества. В отчете Interop ITX 2017 State of DevOps компании, успешно перешедшие на DevOps, отметили, что они увеличили долю совместной работы (46%), ускорили развертывание программного обеспечения (39%), сократили время на обслуживание приложений (39%), улучшили качество приложений и (38%), снизили затраты (25%) и увеличили доходы (20%).
Такие исследования и другие спонсируемые вендорами опросы отражают некоторые из наиболее распространенных «человеческих факторов», негативно влияющих на организации, которые переходят на DevOps. Ниже мы рассмотрим эти проблемы и некоторые общие пути их решения подробнее.
- Отсутствие экспертизы
В опросе Interop организациям, которые не планируют принимать DevOps, предложили назвать основные причины, по которым они не будут использовать методологии или инструменты DevOps. Почти треть (31%) респондентов заявили, что нехватка опыта препятствует внедрению DevOps. В том же духе, когда ИТ-директоры попросили назвать основные проблемы внедрения стратегии DevOps в своих организациях, 23% сказали, что им не хватает правильных навыков в процессе развития и операций.
Для организаций, которые оказались в этой ситуации, использование одной из многих доступных программ обучения DevOps может помочь ликвидировать недостаток квалификации своих команд. Или они могут нанять новых сотрудников, уже знакомых с DevOps.
- Организационная сложность
Еще одна проблема DevOps, которую отмечают 22% респондентов опроса Interop – это организационная сложность. Большинство предприятий, особенно тех, которые обладают очень большими ИТ-командами, имеют структуру, разработанную для традиционных водопадных методов разработки. Часто даже названия должностей и должностные инструкции ИТ-отдела способствуют созданию барьеров, разделяющих разработку и операционный департамент.
Поскольку изменить эту существующую организационную структуру сложно, многие эксперты и DevOps-консультанты рекомендуют экспериментировать, начиная с небольшого внедрения DevOps, охватывающего небольшую часть ИТ-персонала. Далее небольшая команда находит инструменты и процессы DevOps, которые подходят для организации, и она может масштабировать DevOps-инициативы, охватывая все больше членов команды.
- Плохое руководство
DevOps-вендоры Puppet и DORA опубликовали отдельный отчет о состоянии DevOps 2017 года, который показал, что DevOps-команды наиболее успешны, когда у них есть «трансформирующие лидеры», приверженные подходу DevOps. Отчет определяет трансформирующих лидеров как тех, кто даёт видение и признание, вдохновляет, стимулирует, поддерживает. Отчет обнаружил, что у высокопроизводительных команд с большой долей вероятности есть трансформационные лидеры, а у малоэффективных команд – нет. Он заключает: «Достичь успеха гораздо легче, если у вас есть поддержка эффективных лидеров».
Но в отчете также есть предостережение: «Мы обнаружили доказательства того, что наличие лидеров с трансформационными характеристиками недостаточно для достижения высоких результатов DevOps … Лидеры не могут самостоятельно достичь результатов. Успех DevOps также зависит от подходящей архитектуры, хорошей технической практики, использования принципов бережливого управления и всех других факторов, которые мы изучали на протяжении многих лет».
- Отсутствие независимости
Еще один вывод из отчета Puppet и DORA – DevOps-команды наиболее успешны, когда они обладают высокой степенью автономии. Команды, скорее всего, достигнут своих целей непрерывной поставки, когда у них есть возможность проводить масштабные изменения в системах, завершать их работу и разворачивать свои приложения, не получая разрешения от кого-то вне команды. С другой стороны, организации, которые должны следовать требованиям, предъявляемым людьми вне команды, часто создавали «продукты, которые на самом деле не радуют и не привлекают клиентов, и не дают ожидаемых результатов в бизнесе».
В отчете добавляется: «Наш анализ показал, что способность команды тестировать новые идеи, создавать и обновлять спецификации в процессе разработки (без необходимости одобрения за пределами команды) является важным фактором для прогноза эффективности организации, измеряемой с точки зрения прибыльности, производительности и доли рынка».
- Гибкие процессы
В опросе, проведенном Coleman Parkes Research при участии CA Technologies, 29% лидеров бизнеса указали на «слишком жесткие процессы» как ключевое препятствие для внедрения DevOps. Любое внедрение DevOps требует от команд работать по-новому и предполагает, что у них есть возможность для устранения или изменения процессов, которые не отвечают целям DevOps-инициативы.
Вероятно, именно поэтому 39% респондентов в исследовании Interop заявили, что планируют перепроектировать процессы, чтобы продвинуть подход DevOps в следующем году.
- Отсутствие выравнивания
Еще одним большим препятствием для DevOps является отсутствие организационной согласованности между группами разработчиков и операционным отделом. В опросе Interop почти четверть (23%) респондентов заявили, что серьезной проблемой для внедрения DevOps в их организациях было то, что «роли и обязанности в рамках разработки и операций не согласованы».
Достижение успеха DevOps может потребовать сложных структурных изменений, таких как переопределение ролей и обязанностей и перерисовка организационной диаграммы. Тем не менее, внесение радикальных изменений единовременно не лучший подход для крупных команд. Вместе с тем, начиная с небольшой команды и постепенно масштабируя, можно сделать переход на DevOps более адаптивным к членам команды и, в конечном счете, более успешным.
- Устойчивость к изменениям
В любой команде есть люди, которые охотно пробуют что-то новое. Это может быть просто чертой характера или обусловлено желанием сохранить статус-кво. Опрос CA Technologies показал, что 34% ИТ-лидеров считают, что «культура и мышление/сопротивление изменениям» были основным препятствием для принятия DevOps.
Для этих организаций эксперты рекомендуют говорить о потенциальных преимуществах DevOps, а также использовать стратегии управления изменениями для достижения консенсуса до и во время перехода к методам DevOps.
- Отсутствие обмена знаниями
Одним из отличительных признаков DevOps является то, что разработчики и операционный отдел тесно взаимодействуют и сотрудничают. Однако достичь этих тесных рабочих отношений может быть затруднительно, если организации не имеют инструментов и процессов, способствующих сотрудничеству. Опрос, проведенный Atlassian, показал, что 80% организаций используют некоторые общие инструменты для команд разработчиков и операционных отделов – хороший первый шаг к сотрудничеству.
Однако у большинства еще нет инструментов, которые облегчали бы обмен знаниями между этими двумя группами. В отчете говорится, что только 17% компаний предоставляют открытую информацию смежным подразделениям в динамическом формате, например, на сайте или на форуме. А в подавляющем большинстве компаний делятся информацией только по запросу и только в статичном формате.
- Барьеры
Философия DevOps направлена на устранение существующих барьеров в ИТ-подразделениях. Однако иногда компании, которые переходят на DevOps, обнаруживают, что они случайно создают новые барьеры. Эти организации создают небольшие команды для экспериментов с DevOps, но потом не смогли масштабироваться. В результате преимущества DevOps были небольшие и изолированными в пределах этой небольшой группы.
В отчете CA Technologies отмечается: «Хотя применение DevOps продолжает расти, его обычно применяют в небольших зонах организаций. Это приводит к небольшому обмену знаниями и лучшими практиками. Чтобы действительно быть эффективным, «DevOps-мышление» должно быть встроено в культуру ваших ИТ».