· непрерывная доставка;
· архитектура;
· продукт и процесс;
· бережливое управление и мониторинг;
· культурные возможности.
Возможности архитектуры
9. Слабосвязанная архитектура: Глава 5.
10. Уполномоченные команды: Глава 5.
Культурные возможности
20. Организационная культура Веструма: Глава 3.
21. Поддерживающее обучение: Глава 10.
22. Взаимодействие между командами: Главы 3 и 5.
23. Удовлетворенность работой: Глава 10.
24. Трансформационное лидерство: Глава 11.
Вступление
В конце 2013 года мы приступили к четырехлетнему научному
путешествию, чтобы исследовать, какие возможности и методы важны
для ускорения разработки и доставки программного обеспечения и, в
свою очередь, какие из них представляют ценность для компаний. Их
результативность проявляется в прибыльности компании, ее
производительности и доле рынка. Мы видим аналогичный эффект и в
некоммерческих результатах, в частности, когда речь идет об
удовлетворении клиента.
Это исследование отвечает на потребность, которую в настоящее время
не закрывает рынок. Используя строгие методы исследования, которые
традиционно встречаются только в академических кругах, и делая их
доступными для отрасли, мы преследуем цель продвинуть на новый
уровень состояние разработки и доставки программного обеспечения.
Помогая отрасли выявлять и понимать возможности, которые на самом
деле приводят к повышению эффективности статистически значимым
образом, мы выходим за пределы одного эпизода. Основываясь на
Tlgm: @it_boooks
Исследование
В рамках исследования мы собрали по нашим опросникам более 23 000
ответов со всего мира. Мы получили обратную связь от более чем 2000
уникальных организаций, от небольших стартапов с количеством
сотрудников до пяти человек до крупных предприятий со штатом более
10 000 человек. Мы собрали данные от маленьких стартапов и
передовых интернет-компаний, а также организаций, работающих в
строго регулируемых отраслях, таких как финансы, здравоохранение и
государственные структуры. Наши данные и анализ включают
программное обеспечение, разработанное на совершенно новых
платформах, так называемых greenfield («зеленое поле» — проекты,
созданные с нуля. — Прим. ред.), а также обслуживание и разработку
существующего кода ПО.
Выводы, приведенные в этой книге, применимы независимо от того,
используете ли вы традиционную каскадную методологию (также
известную как закрытая, структурированная или плановая) и только
начинаете трансформацию технологии, или же уже много лет внедряете
методы Agile и DevOps. Это верно, потому что доставка программного
обеспечения — это упражнение в непрерывном улучшении и наше
исследование показывает, что год за годом лучшие продолжают
достигать новых высот, а те, кто не смог этого сделать, отстают все
больше и больше.
Улучшение возможно для всех
Наши поиски понимания того, как оценить и улучшить доставку
программного обеспечения, были полны открытий и сюрпризов. Мораль
Tlgm: @it_boooks
Вывод
Мы надеемся, что, читая эту книгу, вы, как технический специалист и
технологический лидер, откроете для себя важные элементы для
улучшения своей организации, начиная прежде всего с доставки
программного обеспечения. Именно благодаря улучшению нашей
способности доставлять программное обеспечение организации могут
быстрее предоставлять нужный функционал, при необходимости
адаптироваться, реагировать на изменения в требованиях безопасности,
а также использовать быструю обратную связь для привлечения новых
клиентов и удовлетворения существующих.
В следующих главах мы определим ключевые возможности,
определяющие эффективность доставки программного обеспечения (и
определим, что такое эта эффективность), и кратко коснемся ключевых
моментов каждой из них. Часть I книги представляет результаты наших
исследований, Часть II рассматривает научную основу и исследования,
стоящие за нашими результатами, и, наконец, в Части III представлен
конкретный пример того, что происходит, когда организации принимают и
внедряют эти возможности для повышения эффективности.
ЧАСТЬ I
ЧТО МЫ ВЫЯСНИЛИ
Вооружившись надежными методами сбора данных и статистического
анализа (подробно рассмотренными в Части II), мы смогли обнаружить
значительные и иногда неожиданные результаты за последние
Tlgm: @it_boooks
Глава 1
Ускоряйтесь
Вести бизнес как обычно уже недостаточно, чтобы оставаться
конкурентоспособным. Это касается организаций во всех отраслях: от
финансов и банковского дела до розничной торговли, телекоммуникаций
и даже госструктур. Компании отказываются от выпуска новых продуктов
и услуг, связанных с реализацией крупных долгосрочных проектов.
Вместо этого они используют небольшие проектные команды, которые
работают в коротких временных циклах и измеряют обратную связь от
пользователей для создания продуктов и услуг, которые радуют
клиентов и быстро приносят пользу их организациям. Такие
эффективные компании постоянно работают над тем, чтобы стать лучше
в своем деле, не позволяя никаким препятствиям стоять у них на пути,
даже перед лицом высокого уровня риска и неопределенности в том, как
им достичь своих целей.
Чтобы оставаться конкурентоспособными и преуспевать на рынке,
организации должны ускорить:
Сосредоточьтесь на возможностях, а не на
зрелости
Технологические лидеры должны доставлять программное обеспечение
быстро и надежно, чтобы преуспевать на рынке. Для многих компаний
это требует значительных изменений в том, как это осуществляется.
Ключами к успешному изменению являются оценка и понимание
возможностей, а не зрелости продукта.
Хотя модели зрелости очень популярны в отрасли, мы не можем с
уверенностью говорить о том, что они являются подходящим
инструментом для использования на практике или в качестве модели
мышления. Напротив, переход к модели измерения возможностей очень
значим для организаций, желающих ускорить доставку программного
обеспечения. Это обусловлено четырьмя факторами.
Tlgm: @it_boooks
Преобразования, основанные на
фактических данных, сфокусированы на
ключевых возможностях
Как в рамках модели возможностей, так и в рамках модели зрелости
существуют разногласия относительно того, на каких возможностях
следует сосредоточиться. Поставщики продуктов часто предпочитают
возможности, которые согласуются с их предложениями. Консультанты
предпочитают возможности, которые отвечают их опыту, предложению и
их привычным инструментам оценки. Мы видели, как организации
пытаются разработать свои собственные модели оценки и выбрать
решения, которые соответствуют навыкам внутренних «чемпионов» или
поддаются параличу анализа из-за огромного количества областей,
которые нуждаются в улучшении.
Необходимо более управляемое, основанное на фактических данных
решение. И подход, обсуждаемый в этой книге, описывает именно такое
решение.
Наше исследование дало понимание того, что обеспечивает
эффективность доставки программного обеспечения и организационную
эффективность, которые отражаются на прибыльности,
производительности и доле рынка компании. На самом деле наше
исследование показывает, что ни один из следующих часто цитируемых
факторов не предполагал эффективности:
Глава 2
Измерение эффективности
Существует много концепций и методологий, направленных на
улучшение способа создания программных продуктов и услуг. Мы хотели
выяснить, что работает, а что нет, в научном смысле, начиная с
определения того, что означает «хорошо» в этом контексте. В этой главе
представлены структура и методы, которые мы использовали для
достижения этой цели, и, в частности, ключевые результаты измерений,
применяемые на протяжении всей этой книги.
Мы надеемся, что к концу этой главы вы узнаете достаточно о нашем
подходе, чтобы быть уверенными в результатах, которые мы представим
в остальной части книги.
Измерение эффективности в области программного обеспечения
является трудным — отчасти потому, что, в отличие от обычного
производства, инвентарь остается невидимым. Кроме того, мы
разбиваем работу относительно произвольно, и деятельность по
проектированию и доставке, особенно в парадигме Agile для разработки
программного обеспечения, происходит одновременно. Действительно,
ожидается, что мы будем изменять и развивать наш подход, основанный
на том, что мы узнаем в процессе его реализации. Таким образом, наш
первый шаг должен заключаться в определении достоверного,
надежного способа измерения эффективности доставки программного
обеспечения.
Tlgm: @it_boooks
Сюрприз!
Наблюдательные читатели заметят, что у средних участников
показатель уровня отказов при внесении изменений в 2016 году хуже,
чем у отстающих. 2016 год — это первый год нашего исследования,
когда мы видим несколько несистемную эффективность по всем нашим
показателям в каждой из групп, включая средних и отстающих. Наше
исследование не дает окончательного объяснения этому явлению, но у
нас есть несколько идей о том, почему это может быть.
Одно из возможных объяснений заключается в том, что средние
участники работают над своей технологической трансформацией и
решают задачи, связанные с крупномасштабными проектами по
перестройке архитектуры, такие как, например, переход с устаревших
баз кода. Это также соответствовало бы другой части данных из
исследования 2016 года, где мы обнаружили, что средние тратят больше
времени на незапланированную переработку, чем отстающие, потому
что они тратят большую часть времени на новую работу.
Мы полагаем, что эта новая работа может происходить за счет
игнорирования критических доработок, что тем самым увеличивает
технический долг, а это, в свою очередь, приводит к более хрупким
системам и, следовательно, более высокому показателю отказов при
изменениях.
Мы нашли достоверный, надежный способ измерения эффективности
доставки программного обеспечения, который удовлетворяет
изложенным нами требованиям. Он фокусируется на глобальных,
системных целях и измеряет конечные результаты, над улучшением
которых различные функциональные команды должны работать
совместно. Следующий вопрос, на который мы хотели бы ответить:
имеет ли значение эффективность доставки программного обеспечения?
Tlgm: @it_boooks
Управление изменениями
Теперь, когда мы определили эффективность доставки программного
обеспечения строгим и измеримым способом, мы можем принимать
Tlgm: @it_boooks
Глава 3
Tlgm: @it_boooks
Измеряя культуру
Для того чтобы измерить культуру организаций, мы используем
преимущества того факта, что указанные типы организаций формируют
«точки на шкале» — «сплошную Веструма» (Веструм, 2014). Поэтому
здесь отлично подходят вопросы по типу шкалы Ликерта. В психометрии
шкалу Ликерта используют для оценки восприятия людей, предлагая им
оценить, насколько они согласны или не согласны с утверждением. Когда
люди отвечают на вопрос по шкале Ликерта, мы присваиваем ответу
значение от 1 до 7, где 1 означает «категорически не согласен», а 7
означает «полностью согласен».
При таком подходе утверждение должно быть сформулировано
предельно строго, чтобы люди могли решительно согласиться или не
согласиться (или действительно чувствовать себя нейтрально) по этому
поводу. На рисунке 3.1 вы можете увидеть часть опроса с
утверждениями, которые мы создали из модели Веструма, вместе с
вариантами ответов по шкале Ликерта.
Получив ответы на эти вопросы от нескольких человек (часто десятков
или сотен), мы должны определить, является ли наша оценка
организационной культуры достоверной и надежной со статистической
точки зрения. То есть нам нужно выяснить, понимают ли вопросы
одинаково все люди, принимающие участие в опросе, и действительно
ли эти вопросы, взятые вместе, измеряют организационную культуру.
Если анализ с использованием нескольких статистических тестов
подтверждает эти свойства, мы называем то, что измерили,
конструкцией (в этом случае нашей конструкцией будет
Tlgm: @it_boooks
Анализ конструкций
Прежде чем проводить какой-либо анализ среди наших измерений
(например, влияет ли организационная культура на эффективность
доставки программного обеспечения), мы должны проанализировать
данные и сами показатели. Надежные средства оценки в наших
исследованиях мы называем конструкциями.
На этом первом этапе мы провели несколько анализов, чтобы убедиться,
что наши методы были достоверными и надежными. Эти анализы
включали тесты на дискриминантную валидность, конвергентную
валидность и надежность.
Глава 4
Технические практики
На момент публикации Манифеста Agile (Agile Manifesto) в 2001 году
экстремальное программирование (XP) было одним из самых
популярных Agile-фреймворков11.
В отличие от Scrum XP предписывает ряд технических практик, таких как
разработка на основе тестирования и непрерывная интеграция.
Непрерывная доставка (Хамбл и Фарлей, 2010) также подчеркивает
важность этих технических практик (в сочетании с комплексным
управлением конфигурацией) как средства обеспечения более частых,
более качественных и менее рискованных выпусков программного
обеспечения.
Во многих внедрениях в рамках подхода Agile технические практики
рассматриваются как второстепенные по сравнению с управленческими
и командными, на которых делают акцент некоторые Agile-концепции.
Наше исследование показывает, что техническая практика играет
жизненно важную роль в достижении этих результатов.
В этой главе мы обсудим исследования, которые мы провели для того,
чтобы измерить непрерывную доставку как возможность и оценить ее
влияние на эффективность доставки ПО, организационную культуру и
другие показатели результатов, такие как выгорание команды и «боль
развертывания». Мы считаем, что практика непрерывной доставки
действительно оказывает ощутимое влияние на эти результаты.
Контроль версий
Всестороннее использование контроля версий является относительно
бесспорным. Мы спросили, сохраняют ли респонденты код приложения,
конфигурацию системы, конфигурацию приложения и сценарии для
автоматизации сборки и конфигурации в системе управления версиями.
Эти факторы вместе предсказывают эффективность ИТ и формируют
ключевой компонент непрерывной доставки. Наиболее интересно то, что
сохранение конфигурации системы и приложения в системе управления
версиями было более тесно связано с эффективностью доставки
программного обеспечения, чем сохранение кода приложения в системе
управления версиями. Конфигурация обычно считается второстепенной
проблемой по сравнению с кодом приложения в управлении
конфигурацией, но наше исследование показывает, что это ошибочное
представление.
Автоматизация тестирования
Как уже обсуждалось выше, автоматизация тестирования является
ключевой частью непрерывной доставки. Основываясь на нашем
анализе, следующие методы предсказывают эффективность ИТ.
Магистральная разработка
Наше исследование также показало, что магистральная разработка, в
отличие от разработки на долгоживущих функциональных ветвях,
коррелировало с более высокой эффективностью доставки. Успешные
команды сохраняли в работе менее трех активных ветвей в любой
момент времени, их ветви имели очень короткие периоды жизни (менее
одного дня) до слияния в ствол и никогда не имели периодов
Tlgm: @it_boooks
Информационная безопасность
Высокоэффективные команды более склонны включать
информационную безопасность в процесс доставки. Их сотрудники по
информационной безопасности обеспечивали обратную связь на каждом
этапе жизненного цикла доставки программного обеспечения, от
проектирования демоверсий до помощи с автоматизацией тестирования.
Однако они сделали это таким образом, чтобы не замедлять процесс
разработки, интегрируя проблемы безопасности в повседневную работу
команд. На самом деле интеграция этих методов безопасности
способствовала эффективности доставки программного обеспечения.
Глава 5
Архитектура
Мы уже видели, что внедрение практик непрерывной доставки повышает
эффективность доставки, влияет на культуру и уменьшает выгорание и
«боль развертывания» ПО. Однако архитектура вашего программного
обеспечения и сервисов, от которых оно зависит, может быть
существенным препятствием для увеличения как скорости, так и
стабильности процесса выпуска релизов и поставляемых систем.
Кроме того, DevOps и непрерывная доставка возникли в веб-системах,
поэтому законно спросить, могут ли они быть применены к системам
мейнфреймов, микропрограммному обеспечению или к средней
корпоративной среде с большим количеством систем с
нераспознаваемой структурой (Фуут и Йодер, 1997), состоящей из тысяч
тесно связанных систем.
Мы решили выяснить влияние архитектурных решений и ограничений на
эффективность доставки, а также то, что делает архитектуру
эффективной. Мы обнаружили, что высокая эффективность возможна со
всеми видами систем при условии, что системы и команды, которые их
строят и поддерживают, слабо связаны.
Это ключевое архитектурное свойство позволяет командам легко
тестировать и развертывать отдельные компоненты или службы, даже
когда организация и количество систем, которыми она управляет, растут,
то есть это позволяет организациям увеличивать свою
производительность по мере их масштабирования.
Сфокусируйтесь на развертываемости и
тестируемости
Хотя в большинстве случаев тип системы, которую вы строите, не важен
с точки зрения достижения высокой эффективности, есть две
архитектурные характеристики, которые важны. Те, кто согласился со
следующими утверждениями, с большей вероятностью попадали в
группу с высокими показателями:
Глава 6
Интеграция информационной
безопасности в жизненный цикл
доставки
Возможно, название движения DevOps выбрано неудачно — оно
игнорирует такие функции, как тестирование, управление продуктами и
информационная безопасность. Первоначальной целью движения
DevOps было — отчасти — объединить разработчиков и команды
техподдержки для создания взаимовыгодных решений в погоне за
целями системного уровня, вместо того чтобы перебрасывать работу
через стену и указывать пальцами друг на друга, когда что-то пошло не
Tlgm: @it_boooks
Движение за надежность
Для расширения движения DevOps с целью охватить проблемы
информационной безопасности были предложены и другие названия.
Одно из них — DevSecOps (придуманное такими известными людьми в
отрасли, как Топо Пал из Capital One и Шеннон Литц из Intuit). Еще один
вариант названия — «Надежный DevOps», придуманный Джошем
Корманом и Джеймсом Уикеттом. «Надежный DevOps» — это
комбинация из DevOps и «Манифеста Надежности» (Rugged Manifesto):
Глава 7
Глава 8
Разработка продукта
Бренд Agile более или менее выиграл методологические войны. Однако
многое из того, что было реализовано, является, скажем так,
искусственным Agile: люди следуют некоторым из общих практик, не
затрагивая более широкую организационную культуру и процессы.
Например, в крупных компаниях до сих пор нередко на составление
бюджета, анализ и сбор требований до начала работы уходят месяцы;
Tlgm: @it_boooks
Командные эксперименты
Многие группы разработчиков, претендующих на то, что они внедрили
Agile, тем не менее обязаны следовать требованиям, созданным
различными командами. Это ограничение может создать реальные
Tlgm: @it_boooks
Эффективный продукт-менеджмент
повышает эффективность
Мы вели анализ возможностей бережливого управления продуктами в
течение двух лет, начиная с 2016–2017 годов. В нашей первой модели
мы увидели, что методы бережливого управления продуктами
положительно влияют на эффективность доставки программного
обеспечения, стимулируют производительную культуру и уменьшают
выгорание.
В следующем году мы перевернули модель и подтвердили, что
эффективность доставки программного обеспечения определяет методы
бережливого управления продуктом. Улучшение возможностей доставки
ПО позволяет работать небольшими партиями и проводить
Tlgm: @it_boooks
Глава 9
«Боль развертывания»
Страх и тревога, которые испытывают инженеры и технический
персонал, когда они запускают код в производство, могут многое
рассказать нам об эффективности доставки программного обеспечения
команды. Мы называем это «болью развертывания», и ее важно
измерить, потому что она подчеркивает трения и разногласия, которые
существуют между разработкой и тестированием программного
обеспечения и работой, выполняемой для поддержания и сохранения
его работоспособности. Именно здесь разработка встречается с
техподдержкой, и именно здесь существует наибольший потенциал для
различий: в среде, в процессе и методологии, в мышлении и даже в
словах, которые команды используют для описания своей работы.
Наш опыт в этой области и наше взаимодействие на протяжении многих
лет с профессионалами, создающими и развертывающими программное
обеспечение, постоянно отмечали важность и значимость «боли
развертывания». Из-за этого мы хотели исследовать проблемы
развертывания, чтобы увидеть, можно ли их измерить и, что более
важно, влияют ли на них практики DevOps. Мы обнаружили, что там, где
развертывание кода наиболее болезненно, вы найдете самую низкую
эффективность доставки программного обеспечения, эффективность
организации и культуру.
Преимущества непрерывной доставки в Microsoft
Microsoft engineering — это один из примеров того, как инженерные
команды чувствуют преимущества непрерывной доставки. Тьяго
Алмейда является старшим инженером по разработке программного
обеспечения в Microsoft. Он управляет облачными вычислениями,
открытым исходным кодом и DevOps-практиками в команде Azure. Он
рассказал о дополнительных преимуществах практики непрерывной
доставки для своей команды, сказав следующее: «Вы можете подумать,
что все выгоды от этого [получают] ваши клиенты, но на самом деле они
[выгоды] есть даже внутри вашей компании…»26 Перед внедрением
технических практик и дисциплины непрерывной доставки в команде Bing
инженеры сообщили, что показатель удовлетворенности балансом
работа/жизнь составляет всего 38%. После внедрения этих технических
методов он подскочил до 75%. Разница поразительна. Это означает, что
технические специалисты лучше справлялись со своими
профессиональными обязанностями в рабочее время, им не
приходилось выполнять процессы развертывания вручную и они были в
состоянии выдерживать рабочее напряжение.
Хотя «боль развертывания» может свидетельствовать о том, что
разработка и доставка программного обеспечения не являются
Tlgm: @it_boooks
Если вы хотите знать, как работает ваша команда, просто спросите ее,
насколько болезненны развертывания и что конкретно вызывает эту
боль.
В частности, имейте в виду, что если развертывание должно
выполняться в нерабочее время, это признак архитектурных проблем,
которые должны быть решены. Вполне возможно — при наличии
достаточных инвестиций — построить сложные, крупномасштабные
распределенные системы, которые позволяют полностью
автоматизировать развертывание с нулевым временем простоя.
В основном большинство проблем развертывания вызвано сложным,
хрупким процессом развертывания. Как правило, это является
результатом трех факторов. Во-первых, программное обеспечение часто
пишется без учета возможности дальнейшего развертывания. Общим
симптомом здесь является то, что требуются сложные, организованные
развертывания, поскольку программное обеспечение предполагает, что
его среда и зависимости будут настроены под него совершенно особым
образом, и не допускает никаких отклонений от этих ожиданий. Это дает
мало полезной информации администраторам о том, что идет не так и
почему ПО работает неправильно. (Эти характеристики также говорят о
плохом проектировании для распределенных систем.)
Во-вторых, вероятность неудачного развертывания существенно
возрастает, когда в процессе развертывания необходимо вручную
внести изменения в производственную среду. Ручные изменения могут
легко привести к ошибкам, вызванным вводом текста, ошибками
копирования/вставки или плохой или устаревшей документацией. Кроме
того, среды, конфигурация которых управляется вручную, часто
существенно отличаются друг от друга (проблема, известная как «дрейф
конфигурации»), что приводит к значительным объемам работы во время
развертывания, когда операторы отлаживают систему, чтобы понять
различия в конфигурации, внося вручную дополнительные изменения,
которые потенциально могут добавить еще проблем.
Наконец, в рамках сложных развертываний часто требуется несколько
итераций передачи полномочий между командами, особенно в
разрозненных организациях, где администраторы баз данных, сетевые
администраторы, системные администраторы, infosec, тестирование/QA
и разработчики работают в отдельных командах.
Чтобы уменьшить проблемы при развертывании, мы должны:
Выгорание
Выгорание — это физическое, умственное или эмоциональное
истощение, вызванное переутомлением или стрессом, но это больше,
чем просто переутомление или стресс. Выгорание приводит к тому, что
вещи, которые мы когда-то любили в нашей работе и жизни, начинают
казаться незначительными и скучными. Оно часто проявляется как
чувство беспомощности и связано с патологическими культурами и
непродуктивной, бесполезной работой.
Последствия выгорания огромны как для отдельных людей, так и для их
команд и организаций. Исследования показывают, что стрессовая работа
может быть так же вредна для физического здоровья, как пассивное
курение (Гох и соавторы, 2015) и ожирение (Чандола и соавторы, 2006).
Симптомы выгорания включают в себя чувство усталости, цинизма или
неэффективности; мало или совсем нет чувства выполненного долга, а
чувства по поводу работы негативно влияют на другие аспекты вашей
жизни. В крайних случаях выгорание может привести к семейным
проблемам, тяжелой клинической депрессии и даже самоубийству.
Стресс на работе также влияет на работодателей, обходясь экономике
США в $300 млрд в год за счет больничных, долгосрочной
нетрудоспособности и чрезмерной текучести кадров (Маслах, 2014).
Таким образом, работодатели равно обязаны заботиться о своих
сотрудниках и обеспечивать условия, в которых персонал не сгорал бы
на работе.
Выгорание можно предотвратить или обратить вспять, и DevOps может в
этом помочь. Организации могут устранить условия, которые приводят к
выгоранию, создавая благоприятную рабочую среду, убеждая людей, что
их работа имеет значение, и обеспечивая понимание сотрудниками того,
как их собственная работа связана со стратегическими целями
компании.
Tlgm: @it_boooks
Глава 10
Tlgm: @it_boooks
Удовлетворенность сотрудников, их
идентификация с организацией и
вовлеченность
Люди находятся в центре каждой технологической трансформации. Под
давлением рынка, вынуждающего как можно быстрее поставлять новые
технологии и решения, важность привлечения, удержания и вовлечения
персонала больше, чем когда бы то ни было. Каждый хороший менеджер
знает это, но все еще нет информации о том, как измерить эти
результаты, и о том, что на них влияет, особенно в контексте
технологических преобразований.
Мы хотели включить в наше исследование людей, которых затронуло
внедрение практик DevOps, чтобы посмотреть, что может улучшить их
работу и могут ли эти улучшения повлиять на организацию. Наше
исследование показало, что вовлеченность и удовлетворенность
сотрудников являются показателями лояльности и приверженности
сотрудников компании. Они способны снизить выгорание и повысить
ключевые организационные результаты, такие как прибыльность,
продуктивность и доля рынка. Мы также покажем вам, как измерить эти
главные человеческие факторы, чтобы вы могли реализовать их в своих
собственных командах — будь вы лидером, руководителем или
заинтересованным специалистом.
В этой главе мы обсудим лояльность сотрудников (измеряемую через
eNPS и идентификацию сотрудников с компанией) и удовлетворенность
работой, а затем завершим обсуждение темой разнообразия.
Лояльность сотрудников
Чтобы понять вовлеченность сотрудников в контексте технологических
преобразований и DevOps, мы рассмотрели ее через призму широко
используемого стандарта лояльности клиентов — Net Promoter Score
(NPS).
В высокоэффективных компаниях лояльность сотрудников, измеряемая
индексом чистой лояльности (eNPS), выше. Наши исследования
показали, что сотрудники высокоэффективных организаций в 2,2 раза
чаще рекомендуют свою компанию как отличное место для работы, а
другие исследования также показали, что это коррелирует с лучшими
результатами бизнеса (Аззарелло и соавторы, 2012).
Женщины в DevOps
Мы начали поднимать гендерный вопрос в 2015 году, что вызвало
оживленную дискуссию в социальных сетях на тему женщин в
технологиях. Мы услышали все: от искренней поддержки многих женщин
Tlgm: @it_boooks
Глава 11
Лидеры и руководители
На протяжении многих лет наше исследование изучало влияние
различных технических и бережливых методов управления на
эффективность доставки программного обеспечения, а также культуру
Tlgm: @it_boooks
Трансформационное лидерство
Не знаете, насколько важно технологическое лидерство? Подумайте вот
об этом: к 2020 году половина ИТ-директоров, которые не
трансформировали возможности своих команд, будут вытеснены из
лидеров цифровых команд своих организаций (исследование компании
Gartner).
Это потому, что лидерство действительно оказывает мощное влияние на
результаты. Быть лидером не означает, что у вас есть люди,
отчитывающиеся перед вами на организационных диаграммах.
Лидерство заключается в том, чтобы вдохновлять и мотивировать тех,
кто вас окружает. Хороший лидер влияет на способность команды
доставлять код, создавать хорошие системы и применять принципы
бережливого производства к тому, как команда управляет своей работой
и разрабатывает продукты. Все это оказывает ощутимое влияние на
прибыльность, производительность и долю рынка организации. Это
также оказывает влияние на удовлетворенность клиентов,
эффективность и способность достигать организационных целей —
некоммерческих целей, которые важны как для коммерческих, так и для
некоммерческих организаций. Тем не менее все эти воздействия на
организационные и некоммерческие цели являются косвенными,
реализуемыми через технические и бережливые практики, которые
лидеры поддерживают в своих командах.
На наш взгляд, роль лидерства в технологическом преобразовании была
одной из наиболее упущенных тем в DevOps несмотря на то, что
трансформационное лидерство имеет большое значение для:
· видение:
· имеет четкое понимание, куда мы идем;
· имеет четкое представление о том, где он/она хочет, чтобы наша
команда была через пять лет;
· имеет четкое представление о том, куда идет организация;
· вдохновляющее общение:
· говорит вещи, которые заставляют сотрудников гордиться тем, что
они являются частью этой организации;
· позитивно отзывается о работе подразделения;
· поощряет людей видеть изменяющуюся среду как ситуацию,
полную возможностей;
· интеллектуальная стимуляция:
· заставляет меня думать о старых проблемах по-новому;
· транслирует идеи, которые заставили меня переосмыслить
некоторые вещи, в которых я никогда ранее не сомневался;
· заставляет меня переосмыслить некоторые из моих основных
предположений о моей работе;
· поддерживающее лидерство:
· учитывает мои личные чувства, прежде чем действовать;
· ведет себя таким образом, чтобы заботиться о моих личных
потребностях;
· видит, что интересы сотрудников учитываются должным образом;
· личное признание:
· поощряет, когда я делаю работу лучше, чем на среднем уровне;
· признает улучшение качества моей работы;
· хвалит лично меня, когда я делаю выдающуюся работу.
Роль руководителей
Мы видим, что лидеры играют решающую роль в любом
технологическом преобразовании. Когда эти лидеры являются
руководителями, они могут еще сильнее влиять на изменения.
Руководители — это те, кто несет ответственность за людей, а часто и за
бюджеты и ресурсы в организациях. В лучшем случае руководители
также являются лидерами и принимают на себя характеристики
трансформационного лидерства, описанные выше.
Руководители, в частности, играют важную роль в соединении
стратегических целей бизнеса с работой своих команд. Они могут многое
сделать для повышения эффективности своей команды, создавая
рабочую среду, в которой сотрудники чувствуют себя в безопасности,
Tlgm: @it_boooks
ЧАСТЬ II
ИССЛЕДОВАНИЯ
Tlgm: @it_boooks
Чтобы обосновать то, что было изложено в Части I, нам пришлось выйти
за пределы кейсов и историй и перейти к строгим методам
исследования. Это дало нам возможность выявить практики, которые
являются наиболее явными предикторами успеха для всех организаций
любого размера в любой отрасли.
В первой части книги мы обсудили результаты данной
исследовательской программы и описали, почему технологии на
сегодняшний день являются ключевым двигателем ценности и
отличительным фактором для всех организаций.
Теперь мы представим научные обоснования результатов исследования,
изложенных в Части I.
Глава 12
Количественные и качественные
исследования
Исследования могут быть качественными или количественными.
Качественное исследование представляет собой любое исследование,
данные которого не представлены в числовой форме. Они могут
включать интервью, записи в блогах, сообщения в Twitter, подробные
данные журналов регистрации событий и наблюдения этнографов.
Многие считают, что исследование методом опросов является
качественным, потому что не связано с компьютерными системами,
однако это совсем не обязательно: все зависит от типа задаваемых
вопросов. Качественные данные являются очень описательными и могут
дать исследователям возможность обнаружить больше открытий и
новых моделей поведения, особенно в сложных или новых областях.
Тем не менее анализ таких данных зачастую сложнее и дороже; а усилия
по анализу качественных данных с использованием автоматизированных
средств часто заключаются в кодировании данных в числовую форму,
что делает их количественными.
Количественные исследования — это любые исследования с
использованием данных, которые включают в себя числа. Это могут
быть системные данные (в числовом формате) или данные фондовых
рынков. Системные данные — это любые данные, полученные из наших
инструментов, и одним из примеров являются данные журнала
регистрации событий. Они также могут включать в себя данные опроса,
если в ходе опроса задаются вопросы, которые фиксируют ответы в
числовом формате — предпочтительно на некой шкале. Представленное
в данной книге исследование является количественным, так как его
Tlgm: @it_boooks
Типы анализа
Количественные исследования позволяют проводить статистический
анализ данных. Согласно концепции, представленной доктором
Джеффри Ликом в Высшей школе общественного здравоохранения
Блумберга при Университете Джона Хопкинса36 (Лик, 2013), существует
шесть типов анализа данных (приводятся ниже в порядке возрастания
сложности). Сложность обусловлена знаниями, которые требуются от
аналитиков данных, затратами на проведение анализа, а также
временем, необходимым для его выполнения. Вот эти уровни анализа.
1. Описательный.
2. Исследовательский.
3. Дедуктивно-прогностический.
4. Прогностический.
5. Казуальный.
6. Механистический.
Описательный анализ
Описательный анализ используют в отчетах о переписи населения.
Данные обобщаются и вносятся в отчет, то есть описываются. Данный
тип анализа требует наименьших усилий и зачастую выполняется в
качестве первого шага в анализе данных, чтобы помочь
исследовательской группе разобраться с имеющимся у них набором
данных (и в более широком смысле их выборкой и, по возможности,
популяцией). В некоторых случаях отчет останавливается на
описательном анализе, как в случае с отчетами о переписи населения.
Что такое популяция и выборка и почему они важны?
Tlgm: @it_boooks
Исследовательский анализ
Исследовательский анализ — это следующий уровень статистического
анализа. Это широкая категория, которая ищет взаимосвязи между
данными и может включать визуальные отображения для
Tlgm: @it_boooks
Дедуктивно-прогностический анализ
Третий уровень анализа, дедуктивный, на сегодняшний день является
одним из наиболее распространенных в области исследования бизнеса и
технологий. Его также называют дедуктивно-прогностическим. Он
помогает нам понять влияние HR-политики, организационного поведения
и мотивации, а также то, как технологии влияют на такие результаты, как
удовлетворенность пользователей, эффективность команды и
производительность организации. Дедуктивное проектирование
применяется тогда, когда чисто экспериментальное проектирование
невозможно, а предпочтение отдается полевым экспериментам,
например, в бизнесе, когда сбор данных осуществляется в сложных
организациях, а не в стерильных лабораторных условиях, и компании не
будут жертвовать своей прибылью, чтобы вписаться в контрольные
группы, определенные исследовательской командой.
Чтобы избежать проблем с «выуживанием данных» и нахождением
ложных корреляций, гипотезы должны быть основаны на теории. Данный
тип анализа является первым шагом в научном методе.
Tlgm: @it_boooks
Классификационный анализ
Еще одним видом анализа является классификация, или кластерный
анализ. В зависимости от контекста, проекта исследования и методов
анализа классификация может рассматриваться как исследовательский,
прогностический или даже казуальный анализ. В данной книге мы
пользуемся классификацией, когда говорим о наших командах доставки
программного обеспечения с высокой, средней и низкой
эффективностью. Это может быть знакомо вам в других контекстах,
когда вы слышите о профилях клиентов или анализе потребительской
корзины. На высшем уровне процесс работает следующим образом: в
алгоритм кластеризации вводятся классификационные переменные и
выделяются значимые группы.
В нашем исследовании мы применили данный статистический метод,
используя переменные темпа и стабильности, чтобы постараться понять
и определить, были ли различия в том, как команды разрабатывали и
доставляли программное обеспечение, и в чем эти различия
выражались. И вот что мы сделали: четыре наши переменных
показателя эффективности технологии — частоту развертывания, время
выполнения изменений, среднее время восстановления и процент сбоев
при изменениях — мы поместили в алгоритм кластеризации и
наблюдали, какие появились группы. Мы видим отчетливые,
статистически значимые различия, где участники с высокой
эффективностью лучше по всем четырем показателям, участники с
низкой эффективностью хуже по всем четырем показателям, а имеющие
среднюю эффективность значительно лучше отстающих, но
существенно хуже лидеров. Подробнее см. в Главе 2.
Что такое кластеризация?
Для кабинетных (или профессиональных) статистиков может быть
интересно, что мы использовали иерархическую кластеризацию. Мы
Tlgm: @it_boooks
Глава 13
Введение в психометрию
Два наиболее распространенных вопроса, которые мы получаем о
нашем исследовании: почему мы используем опросы (его мы подробно
рассмотрим в следующей главе) и уверены ли мы в том, что можем
доверять данным, собранным с помощью опросов (в отличие от данных,
сгенерированных системой). Все это подпитывается сомнениями в
качестве наших базовых данных и, следовательно, в достоверности
наших результатов. Скептицизм в отношении достоверных данных
справедлив, поэтому давайте начнем отсюда: насколько вы можете
доверять данным, которые были собраны в ходе опроса. Большая часть
опасений происходит от типов опросов, с которыми приходится
сталкиваться многим из нас, а именно пуш-опросов (также известных как
пропагандистские опросы), быстрых опросов и опросов, написанных
теми, кто не имеет надлежащей подготовки в области исследований.
Tlgm: @it_boooks
Глава 14
Tlgm: @it_boooks
Глава 15
ЧАСТЬ III
ТРАНСФОРМАЦИЯ
Мы представили наши выводы о том, какие возможности важны для
улучшения доставки программного обеспечения и результатов
деятельности организации. Однако принятие и применение такой
информации для изменения вашей организации является чрезвычайно
сложной и пугающей задачей. Вот почему мы так рады, что Стив Белл и
Карен Уитли Белл согласились написать главу о лидерстве и
организационной трансформации и поделиться своим опытом и идеями,
чтобы направить читателей на их собственном пути.
Стив и Карен являются пионерами бережливого (Lean) ИТ. Они
применяют независимый от методологии подход, опираясь на различные
практики: DevOps, Agile, Scrum, канбан (kanban), бережливый стартап,
Kata, Обея (Obeya), стратегическое развертывание и другие, — в
зависимости от культуры и ситуации, чтобы обучать и поддерживать
лидеров в развитии высокоэффективных практик и возможностей
организационного обучения.
В Части III они опираются на свой опыт в ING Netherlands — глобальном
банке с более чем 34,4 млн клиентов по всему миру и 52 000
сотрудников, в том числе более чем 9000 инженеров, — чтобы показать,
почему и как лидерство, менеджмент и командные практики способны
изменить культуру. А это, в свою очередь, обеспечивает устойчивую
высокую производительность в сложных и динамичных условиях.
Стив и Карен расширяют наше видение, выводя его за пределы
взаимодействия команды, управленческих и лидерских практик, за
пределы умелого внедрения DevOps, а также за пределы преодоления
Tlgm: @it_boooks
Глава 16
Высокоэффективное лидерство и
менеджмент
Авторы: Стив Белл и Карен Уитли Белл
Лидерство действительно оказывает существенное влияние на
результаты. …Хороший лидер влияет на способность команды
доставлять код, разрабатывать надежные системы и применять
бережливые принципы к тому, как команда управляет своей работой и
разрабатывает продукты. Все это, «как показывает исследование,
оказывает ощутимое влияние на прибыльность, производительность и
долю рынка организации. Они также оказывают влияние на
удовлетворенность клиентов, эффективность и способность достигать
организационных целей»45. Тем не менее Николь, Джез и Джин также
отмечают, что «роль лидерства в технологической трансформации была
одной из наиболее недооцененных проблем в DevOps».
Почему так? Почему технические специалисты постоянно стремились
улучшить подход к разработке и развертыванию программного
обеспечения, а также стабильность и безопасность инфраструктуры и
платформ, однако в значительной степени упускали из виду (или не
понимали) способ руководства, управления и поддержания этих усилий?
Это справедливо как для крупных традиционных предприятий, так и для
цифровых «аборигенов».
Давайте рассмотрим данный вопрос не в контексте прошлого — почему
мы это не сделали, а в контексте настоящего и будущего: почему мы
должны улучшить то, как мы возглавляем и управляем ИТ46, и на самом
деле переосмыслить то, как каждый на предприятии взаимодействует с
технологиями.
Мы находимся в процессе полной трансформации способа создания,
доставки и потребления ценности. Наша способность быстро и
эффективно представлять, разрабатывать и доставлять связанную с
технологией ценность для повышения качества обслуживания клиентов
становится ключевым конкурентным преимуществом. Но пиковые
технические характеристики — это лишь одна часть конкурентного
преимущества, необходимая, но не достаточная.
Мы можем достичь великолепных результатов в быстрой разработке и
предоставлении надежных, безопасных, высокотехнологичных
Tlgm: @it_boooks
Структура высокоэффективного
менеджмента на практике
На протяжении всей этой книги Николь, Джез и Джин обсуждают
несколько практик бережливого менеджмента, которые, как было
установлено, коррелируют с высокими организационными показателями,
а именно: «прибыльностью, долей рынка и производительностью… [в
дополнение к показателям, которые охватывают] более широкие
организационные цели — то есть цели, которые выходят за рамки
простых показателей прибыли и доходов»47. Каждая из этих практик в
той или иной степени синергична и взаимозависима с другими. Чтобы
проиллюстрировать, как эти лидерские, управленческие и командные
практики работают вместе, и показать фундаментальное мышление,
которое делает их возможными, мы делимся опытом ING Netherlands,
глобального финансового института, ставшего пионером цифрового
банкинга и получившего признание за свое ориентированное на клиента
технологическое лидерство. Сегодня ИТ является драйвером цифрового
преобразования ING.
«Вы должны понять почему, а не просто копировать поведение»48, —
говорит Яннес Смит, ИТ-менеджер интернет-банка и направления
Omnichannel в ING Netherlands, который семь лет назад решил
поэкспериментировать с путями развития организационного обучения
среди своих команд. Существует много способов описать эту практику
управления в действии. Пожалуй, лучший способ — это взять вас на
виртуальную экскурсию — хотя бы на страницах книги. (ING с радостью
Tlgm: @it_boooks
Иаиля Шуера, Пола Волхоффа, Лидевия ван дер Шеера и Ингеборга Тен
Берге (David Bogaerts, Jael Schuyer, Paul Wolhoff, Liedewij van der Scheer,
Ingeborg Ten Berge). Вместе они формируют небольшой, но
эффективный экспертный отряд по бережливому лидерству (Lean
Leadership Experience Squad) и обучают лидеров, руководителей
отделов, владельцев продуктов и руководителей ИТ-областей, которые,
в свою очередь, тренируют сотрудников своих отделов или отрядов,
создавая эффект рычага для масштабируемых изменений поведения и
культуры.
Чуть впереди находится рабочее пространство команды — открытая
площадка с окнами и стенами, покрытыми визуальными материалами (их
собственная Обея), которые позволяют команде контролировать
эффективность в режиме реального времени и видеть препятствия,
статусы задач и другую информацию, представляющую ценность для
отряда. Через центр этого пространства проходит ряд столов и стульев с
регулируемой высотой, чтобы члены отряда могли видеть друг друга
через свои мониторы. Стулья имеют различную форму и цвет, что
делает пространство визуально интересным и эргономичным.
Визуальные материалы отряда обладают некоторыми общими
характеристиками; сходство в дизайне комнат Обея позволяет коллегам
извне с первого взгляда сразу же понять определенные аспекты работы,
что способствует коллективному обучению. Стандартные рекомендации
включают визуализацию целей, текущей производительности и
пробелов, новых и обострившихся проблем, спроса, НЗП и завершенных
задач. Визуализация спроса помогает расставить приоритеты и
сохранить небольшой объем НЗП. В то же время визуализация работы
отряда имеет некоторые отличия, что признает ее уникальность, и
каждый отряд сам определяет, какая информация и какие способы ее
визуализации лучше всего подходят, чтобы преуспеть в своей работе.
Когда мы проходим мимо, отряд проводит свое короткое ежедневное
совещание (стендап), где происходит быстрое обучение и обратная
связь. Стоя перед визуальной доской, отображающей спрос и НЗП,
каждый участник кратко сообщает, над чем он/она работает (НЗП), какие
есть препятствия и что было завершено. Во время того, как они говорят,
визуальные материалы обновляются. Эти стендапы обычно длятся
около 15 минут; они значительно сократили время, которое люди
проводят на собраниях, по сравнению со временем, которое занимают
ставшие привычными ежедневные встречи.
Во время совещаний проблемы не решаются, но существует
стандартная практика, обеспечивающая их быстрое решение. Если
проблема требует взаимодействия с другим членом отряда, это
отмечается и эти сотрудники обсудят ее позже в тот же день. Если для
решения проблемы требуется поддержка лидера ИТ-области, проблема
отмечается и получает более высокий статус. Лидер ИТ-области может
либо быстро решить вопрос, либо взять его на обсуждение и решить на
Tlgm: @it_boooks
Стив и Карен
Заключение
За последние несколько лет проведения опросов среди технических
профессионалов и написания отчетов о состоянии DevOps с командой
Puppet мы многое узнали о том, что отличает высокоэффективные
команды и организации. Этот путь включал исследование
технологических трансформаций, публикацию наших результатов в
экспертных обзорах и работу с нашими коллегами и партнерами,
которые оценивают и преобразуют свои собственные организации. На
протяжении всего этого путешествия мы сделали много прорывных
открытий о взаимосвязи между эффективностью доставки, техническими
практиками, культурными нормами и организационной эффективностью.
Во всех наших исследованиях одна вещь оказалась неизменно верной:
поскольку почти каждая компания полагается на программное
обеспечение, эффективность его доставки имеет решающее значение
для любой организации, занимающейся сегодня бизнесом. А
Tlgm: @it_boooks
Приложение А
· непрерывная доставка;
· архитектура;
· продукт и процесс;
· бережливое управление и мониторинг;
· культура.
Возможности архитектуры
Tlgm: @it_boooks
Культурные возможности
20. Поддерживайте производительную культуру (по Веструму). Эта
оценка организационной культуры основана на типологии,
разработанной Роном Веструмом, социологом, который изучал
критические с точки зрения безопасности сложные системы в области
авиации и здравоохранения. Наше исследование показало, что этот
показатель культуры предсказывает эффективность ИТ,
организационную эффективность и снижение выгорания. Его
отличительными чертами являются хороший поток информации, высокий
Tlgm: @it_boooks
Приложение B
Статистика
Хотите знать, что мы обнаружили с точки зрения статистики? Ниже мы
перечислим все это, организованное по категориям.
В качестве напоминания.
Корреляция отражает то, насколько согласованно (или нет) изменяются
две переменные, но она не говорит нам, предсказывает или вызывает ли
изменение одной переменной изменение другой переменной. Две
переменные, изменяющиеся согласованно, всегда могут быть связаны с
третьей переменной или — иногда — просто случайностью.
Предсказание говорит о влиянии одной конструкции на другую. В
частности, мы использовали дедуктивно-прогностический анализ, один
из наиболее распространенных видов анализа, применяемых в
технологических и бизнес-исследованиях. Он помогает нам понять
влияние HR-политики, организационного поведения и мотивации, а также
то, как технологии влияют на такие результаты, как удовлетворенность
пользователей, эффективность команды и эффективность организации.
Дедуктивное проектирование применяется тогда, когда чисто
экспериментальное проектирование невозможно, а предпочтение
отдается полевым экспериментам, например, в бизнесе, когда сбор
данных осуществляется в сложных организациях, а не в стерильных
лабораторных условиях, и компании не будут жертвовать своей
прибылью, чтобы вписаться в контрольные группы, определенные
исследовательской командой. Методы анализа, используемые для
проверки предсказаний, включают простую линейную регрессию и
регрессию частичных наименьших квадратов, описанную в Приложении
С.
Организационная эффективность
· Группа респондентов с высокими показателями в два раза чаще
превышает показатели организационной эффективности, чем
группа с низкими показателями, а именно: прибыльность,
продуктивность, долю рынка, количество клиентов.
· Группа респондентов с высокими показателями в два раза чаще
превышает некоммерческие показатели эффективности, чем
группа с низкими показателями: количество продуктов/услуг,
операционную эффективность, удовлетворенность клиентов,
качество продуктов/услуг, достижение организационных целей и
миссии.
Tlgm: @it_boooks
Эффективность доставки ПО
· Четыре показателя эффективности доставки программного
обеспечения (частота развертывания, время выполнения, среднее
время восстановления, процент сбоев изменений) являются
хорошими классификаторами для профиля эффективности
доставки ПО. Группы, которые мы определили по показателям
эффективности как высокие, средние и низкие, все значительно
отличаются друг от друга по всем четырем показателям каждый
год.
· Наш анализ участников с высокими, средними и низкими
показателями свидетельствует о том, что нет никаких
компромиссов между улучшением эффективности и достижением
более высоких уровней скорости и стабильности: они движутся в
тандеме.
· Эффективность доставки программного обеспечения
предсказывает организационную и некоммерческую
эффективность.
· Конструкция эффективности доставки ПО представляет собой
комбинацию трех показателей: времени выполнения, частоты
выпуска и среднего времени восстановления (MTTR — mean time to
repair). Частота сбоев изменений не включена в конструкцию, хотя
она сильно коррелирует с конструкцией.
· Частота развертывания сильно коррелирует с непрерывной
доставкой и всесторонним использованием контроля версий.
Качество
· Незапланированная работа и доработки:
· респонденты с высокими показателями сообщили, что тратят 49%
своего времени на новую работу и 21% на незапланированную
работу или доработки;
· респонденты с низкими показателями тратят 38% своего времени
на новую работу и 27% на незапланированную работу или
доработки;
· в наших данных по доработкам есть доказательство J-кривой.
Респонденты со средними показателями тратят больше времени
на незапланированную доработку, чем респонденты с низкими
показателями, причем 32% их времени тратится на
незапланированную работу или доработки.
· Ручная работа:
· респонденты с высокими показателями сообщают о самом низком
объеме ручной работы во всех практиках (управление
конфигурацией, тестирование, развертывание, процесс
утверждения изменений) на статистически значимых уровнях;
· опять же, есть доказательство J-кривой. Респонденты со средними
показателями выполняют больше ручной работы, чем респонденты
с низкими показателями, когда речь заходит о процессах
развертывания и утверждения изменений, и эти различия
статистически значимы;
· см. таблицу B.1.
Технические возможности
(Возможности архитектуры находятся в их собственном разделе ниже.)
· Магистральная разработка:
· респонденты с высокими показателями имеют самый короткий срок
слияния в магистраль и время жизни ветви — обычно несколько
часов или день;
· респонденты с низкими показателями имеют самый долгий срок
слияния в магистраль и время жизни ветви обычно несколько дней
или недель.
· Технические практики предсказывают непрерывную доставку,
организационную культуру Веструма, идентификацию с компанией,
удовлетворенность работой, эффективность доставки
программного обеспечения, меньше выгорания, меньше «боли
развертывания» и меньше времени, затраченного на доработки.
· Респонденты с высокими показателями тратят на 50% меньше
времени на устранение проблем безопасности, чем респонденты с
низкими показателями.
Возможности архитектуры
· Не было никакой корреляции между конкретным типом системы
(например, системой взаимодействия или системой записи) и
эффективностью доставки программного обеспечения.
· Респонденты с низкими показателями чаще сообщали, что
создаваемое ими программное обеспечение или набор сервисов, с
которыми они должны взаимодействовать, — это «заказное
программное обеспечение, разработанное другой компанией
(например, партнером на аутсорсинге)».
· Респонденты с низкими показателями с более высокой
вероятностью будут работать на универсальных
системах (mainframe systems).
· Необходимость интеграции с системами мейнфреймов не является
статистически значимым показателем эффективности.
Tlgm: @it_boooks
Лидерство
· Мы наблюдали значительные различия в лидерских
характеристиках среди высоко-, средне- и низкоэффективных
команд.
· Высокоэффективные команды сообщили, что у них есть лидеры с
самым сильным поведением во всех измерениях: видение,
вдохновляющее общение, интеллектуальная стимуляция,
поддерживающее лидерство и личное признание.
· Низкоэффективные команды сообщили о самых низких уровнях
всех пяти лидерских характеристик.
· Все эти различия были отмечены на статистически значимых
уровнях.
· Характеристики трансформационного лидерства сильно
коррелируют с эффективностью доставки программного
обеспечения.
· Трансформационное лидерство в значительной степени
коррелирует с eNPS.
· Команды с лучшими 10% заявленных характеристик
трансформационного лидерства были одинаково или даже менее
склонны к высоким показателям по сравнению со всей популяцией
команд, представленных в результатах опроса.
· Лидерство является прогностическим фактором возможностей
бережливой разработки продукта (работа в небольших партиях,
командные эксперименты, сбор и внедрение отзывов клиентов) и
технических практик (автоматизация тестирования, автоматизация
развертывания, разработка на основе магистрали, «сдвиг влево»
по безопасности, слабосвязанная архитектура, уполномоченные
команды, непрерывная интеграция).
Разнообразие
· Из общего числа респондентов идентифицировали себя как
женщин 5% в 2015 году, 6% в 2016 году и 6,5% в 2017 году.
· 33% наших респондентов сообщили, что работают в командах без
женщин.
· 56% наших респондентов сообщили, что работают в командах, в
которых менее 10% женщин.
Tlgm: @it_boooks
Другое
· Инвестиции в DevOps сильно коррелировали с эффективностью
доставки ПО.
· Процент людей, сообщивших о работе в командах DevOps, вырос
за последние четыре года:
· 16% в 2014 году;
· 19% в 2015 году;
· 22% в 2016 году;
· 27% в 2017 году.
· DevOps происходит во всех операционных системах. Впервые мы
начали спрашивать об этом в 2015 году.
· 78% респондентов широко развернуты на 1–4 операционных
системах, наиболее популярные из которых Enterprise Linux,
Windows 2012, Windows 2008, Debian/Ubuntu Linux.
· На рис. B.1 показана «фирмографика» из данных за 2017 год.
Отметим, что высоко-, средне- и низкоэффективные респонденты
представлены во всех группах. То есть крупные предприятия есть в
высоко-, средне- и низкоэффективных группах. Мы также видим
стартапы в высоко-, средне- и низкоэффективных группах. Строго
регулируемые отрасли (в том числе финансы, здравоохранение,
телекоммуникации и т.д.) также встречаются в высоко-, средне- и
низкоэффективных группах. Важно не то, в какой отрасли вы
работаете или насколько велика ваша компания; даже крупные,
строго регулируемые организации способны разрабатывать и
доставлять программное обеспечение с высокой эффективностью,
а затем использовать эти возможности в обеспечении ценности
для своих клиентов и своей организации.
Tlgm: @it_boooks
Tlgm: @it_boooks
Приложение С
Статистические методы,
использованные в нашем
исследовании
Это приложение представляет собой краткое изложение статистических
методов, которые мы использовали в нашем исследовании. Оно служит
в качестве справочной информации, а не подробного статистического
текста. Мы включили указатели на соответствующие академические
ссылки там, где это уместно. Приложение примерно следует нашему
пути через проектирование и анализ исследования.
Подготовка опроса
Как только мы определились с конструкциями и гипотезами, которые мы
хотим проверять каждый год, мы начинаем процесс исследования с
разработки инструмента опроса49.
По возможности используются ранее проверенные элементы. Например,
организационная эффективность (Widener, 2007) и некоммерческая
эффективность (Каваллуццо и Иттнер, 2004). Когда мы создаем свои
собственные измерения, инструмент опроса разрабатывается в
соответствии с общепринятыми процедурами, адаптированными из
работы Дона Дилмана (Dillman, 1978).
Сбор данных
Вооружившись нашим исследовательским проектом и вопросами опроса,
мы приступили к сбору данных.
Мы собирали данные, используя выборку методом снежного кома, то
есть технику неслучайной выборки. Более подробно о том, почему она
является подходящей техникой, как мы собрали нашу выборку и какие
стратегии мы использовали для противодействия ограничениям этого
метода, мы рассказываем в Главе 15.
Тесты на смещения
Как только мы получаем наши данные, мы начинаем тестирование на
смещение.
Тестирование на взаимосвязь
В соответствии с лучшими практиками и принятым исследованием мы
провели наш анализ в два этапа (Гефен и Штрауб, 2005). На первом
этапе мы проводим анализ измерений, чтобы проверить и сформировать
наши скрытые конструкции (см. Главу 13). Это позволяет нам
определить, какие конструкции могут быть включены во второй этап
нашего исследования.
Тесты на классификацию
Эти тесты могут быть сделаны в любое время, потому что они не
полагаются на конструкции.
Слова благодарности
Эта книга появилась в результате партнерства между компаниями DORA
и Puppet при подготовке отчетов о состоянии DevOps. Поэтому мы
хотели бы начать с благодарности команде Puppet и, в частности,
Аланне Браун и Найджелу Керстену, которые были главными
участниками проекта со стороны Puppet. Мы также хотели бы
поблагодарить Ализу Эрншоу за ее кропотливую работу по
редактированию отчетов о состоянии DevOps в течение нескольких лет.
Отчет не был бы тем же без ее внимательного взгляда. Авторы также
хотели бы поблагодарить нескольких человек, которые помогли
разработать гипотезы, которые мы проверяем в отчете. Начиная с 2016
года мы благодарим Стивена Белла и Карен Уитли Белл за их
стремление исследовать бережливое управление продуктами, а также за
время, потраченное на исследование и обсуждения с командой теорий
потока создания ценности и видимости обратной связи с клиентами. С
2017 года мы благодарим Нила Форда, Мартина Фаулера и Мика
Керстена за элементы измерения архитектуры, а также Эми Джо Ким и
Мэри Поппендик за командные эксперименты.
Несколько экспертов любезно пожертвовали своим временем, чтобы
помочь оценить ранние проекты этой книги. Мы хотели бы выразить
глубокую благодарность Рину Дэниелсу, Дженнифер Дэвис, Мартину
Фаулеру, Гэри Груверу, Скотту Хейну, Дмитрию Кирсанову, Кортни
Кисслер, Бриджит Кромхаут, Карен Мартин, Дэну Норту и Тому
Поппендику.
Мы хотели бы поблагодарить Анну Ноак, Тодда Саттерстена и всю
команду IT Revolution за всю их тяжелую работу над этим проектом.
Наконец, благодарим Дмитрия Кирсанова и Алину Кирсанову, которые с
особой тщательностью и обстоятельностью позаботились о технической
редактуре, корректуре, индексации и компоновке книги. Спасибо.
Николь
Прежде всего, большое спасибо моим соавторам и соратникам, без
которых эта работа была бы невозможна. Вы не выгнали меня из
проекта, когда я впервые появилась и сказала вам, что все это
неправильно, — вежливо, я надеюсь. Джез, я научилась терпению,
сочувствию и новой любви к технологиям, которая, как я думала, угасла.
Джин, благодаря твоему безграничному энтузиазму и стремлению к «еще
одному анализу!» наша работа оставалась сильной и захватывающей.
Данные для этого проекта поступают из отчетов о состоянии DevOps,
которые были проведены вместе с Puppet Inc. Команда Puppet, Найджел
Керстен и Аланна Браун, спасибо за ваше сотрудничество и помощь нам
в создании истории, которая находит отклик у нашей аудитории. И,
конечно же, Ализа Эрншоу: ваше мастерство выходит далеко за рамки
Tlgm: @it_boooks
Джез
Большое спасибо моей жене и лучшему другу Рани за поддержку в
работе над этой книгой даже после того, как я пообещал, что больше
писать не буду. Вы самые лучшие! Я люблю вас. Спасибо моим дочерям
за то, что они привнесли столько веселья и радости в этот процесс, и
моим маме и папе за поддержку моих приключений с компьютерами в
детстве.
Николь взяла отраслевой опрос компании Puppet «Отчет о состоянии
DevOps» и превратила его в научный инструмент. Наша отрасль всегда
боролась с применением науки к разработке и эксплуатации
программных продуктов и услуг. Социальные системы, поддерживающие
доставку программного обеспечения, слишком сложны, чтобы проводить
рандомизированные контролируемые эксперименты на практике. В
ретроспективе решение было ясным: использовать поведенческую науку
для изучения этих систем. Кропотливое, глубокое новаторство Николь в
этом подходе привело к невероятным результатам, и трудно
переоценить влияние ее работы. Для меня было честью стать ее
партнером в этом исследовании, и я очень многому научился. Спасибо.
Причина, по которой я вообще оказался в этом проекте, — это Джин,
который пригласил меня стать частью команды State of DevOps еще в
2012 году. Джин, твоя страсть к этому проекту и лично к оспариванию
моих гипотез и анализа (да, я говорю о магистральной разработке)
сделала работу как значительно более строгой, так и очень полезной.
Я также хочу поблагодарить команду Puppet, чей вклад в эту работу
сложно переоценить и без которой она вообще бы не состоялась,
особенно Аланну Браун, Найджела Керстена и Ализу Эрншоу. Спасибо.
Джин
Я благодарен Маргарет, моей любящей жене на протяжении двенадцати
лет, а также моим сыновьям Риду, Паркеру и Гранту — я знаю, что не
смог бы заниматься любимым делом без их поддержки и терпимости к
дедлайнам, работе по ночам и круглосуточным сообщениям. И, конечно
же, моим родителям, Бену и Гейл Ким, за то, что помогли мне стать
«ботаником» в раннем возрасте.
Это исследование с Джез и Николь было одним из самых насыщенных и
просветляющих, над которыми я когда-либо имел честь работать, —
никто не мог бы пожелать лучшей команды соратников. Я искренне верю,
что эта работа значительно продвигает нашу профессию, помогая нам
лучше определить, как мы совершенствуем технологическую работу
через строгое построение и проверку теории.
Tlgm: @it_boooks
Об авторах
Доктор Николь Форсгрен является генеральным директором и главным
научным сотрудником компании DevOps Research and Assessment. На
сегодняшний день она наиболее известна как ведущий исследователь
крупнейших проектов по изучению DevOps. Ранее она была
профессором и инженером по производительности, а ее работы были
опубликованы в нескольких научных журналах.
Джез Хамбл является соавтором книг «Руководство по DevOps» (The
DevOps Handbook) и «Бережливое предприятие» (Lean Enterprise). За
свою работу «Непрерывная доставка» (Continuous Delivery) он также
получил премию Jolt. В настоящее время изучает, как создавать
высокоэффективные команды в своем стартапе — компании DevOps
Research and Assessment, LLC, а также преподает в университете UC
Berkeley.
Джин Ким — многократно удостоенный наград технический директор,
исследователь и автор «Проекта Феникс» (The Phoenix
Project), «Руководства по DevOps» (The DevOps Handbook) и
«Руководства по Visible Ops» (The Visible Ops Handbook). Он является
основателем компании IT Revolution, а также основателем и
организатором конференций DevOps Enterprise Summit.
1
Здесь и далее коммит (от англ. commit) — сохранение, фиксация
изменений в программном коде. — Прим. ред.
2
Shift Left — устойчивый термин, обычно означающий привлечение
команды тестировщиков на ранней стадии разработки ПО. Здесь и далее
— встраивание информационной безопасности в процессы разработки и
доставки ПО вместо выделения ее в отдельную фазу. — Прим. ред.
3
Важно отметить, что «Отчет о состоянии DevOps» был запущен еще до
2014 года. В 2012 году команда в Puppet Inc. пригласила Джина принять
участие во второй итерации исследования, которое он разрабатывал,
чтобы лучше понять малоизвестный феномен под названием DevOps:
как он был принят и какие преимущества от него увидели организации.
Puppet Inc. была ярым сторонником и драйвером движения с момента,
когда идея DevOps начала формироваться после первых конференций
DevOpsDays, обсуждений в Twitter и плодотворной беседы Джона Олспоу
и Пола Хаммонда. Затем Джин пригласил Джеза присоединиться к
исследованию, и вместе они собрали и проанализировали 4000
Tlgm: @it_boooks
17
Описание GitHub Flow смотрите по
ссылке: https://guides.github.com/introduction/flow/
18
Мы определяем интегрированную среду как среду, в которой
несколько независимых служб развертываются вместе, как, например,
промежуточная среда. На многих предприятиях интегрированные среды
являются дорогостоящими и требуют значительного времени на
настройку.
19
Дополнительную информацию
см.: https://www.thoughtworks.com/radar/techniques/inverse-conway-
maneuver
20
«Платформа болтовни» Стива Йегге содержит несколько отличных
советов по достижению этих целей: http://bit.ly/yegge-platform-rant
21
Дополнительную информацию см.: https://www.owasp.org/index.php/-
Category:OWASP_Top_Ten_Project
22
Risk Management Framework (RMF). — Прим. ред.
23
National Institute of Standards and Technology — Национальный
институт стандартов и технологий (США). — Прим. ред.
24
Security assessment report (SAR) — отчет об оценке безопасности. —
Прим. ред.
25
Подробнее о конвейерах развертывания
см.: https://continuousdelivery.com/implementing/patterns/
26
https://www.devopsdays.org/events/2016-london/program/thiago-almeida/
27
Один из примеров набора архитектурных шаблонов, которые
обеспечивают этот вид процесса, можно найти по
ссылке https://12factor.net/
28
Отметим, что в научной литературе есть и другие модели выгорания;
одним из заметных примеров является работа Мари Осберг, старшего
профессора кафедры клинических наук Каролинского института, Швеция.
Мы же в нашем исследовании сосредоточились на работе Маслах.
29
Обратите внимание, что проблемы, возникающие после
развертывания, также важно отследить. Ломающиеся системы, которые
постоянно вызывают ваш дежурный персонал в нерабочее время,
разрушительны и нездоровы.
30
STEM — science, technology, engineering, mathematics. — Прим. ред.
31
Отметим, что Лесли и соавторы в своем исследовании изучали только
женщин и афроамериканцев, но результаты, вероятно, можно обобщить
и для других меньшинств.
32
https://anitab.org/
33
http://geekfeminism.wikia.com/wiki/Geek_Feminism_Wiki
34
http://projectinclude.org/
Tlgm: @it_boooks
35
Наш анализ подтвердил, что эти вопросы являются хорошими
показателями трансформационного лидерства. См. Главу 13 для
обсуждения скрытых конструкций и приложение C для используемых
статистических методов.
36
Johns Hopkins Bloomberg School of Public Health. — Прим. ред.
37
http://www.tylervigen.com/spurious-correlations
38
Корреляции Пирсона измеряют силу линейной связи между двумя
переменными, которую называют r Пирсона. Часто она просто
называется корреляцией и принимает значения от –1 до 1. Если две
переменные имеют идеальную линейную корреляцию, то есть если они
изменяются точно вместе, r = 1. Если они изменяются в совершенно
противоположных направлениях, то r = –1. Если они вообще не
коррелируют, то r = 0.
39
Эти элементы обычно называют вопросами. Однако на самом деле это
не совсем вопросы — это утверждения. В данной книге мы будем
говорить о них как об элементах опроса.
40
Redundant Array of Independent Disks — избыточный массив
независимых дисков. — Прим. ред.
41
Это, конечно, предполагает, что вы занимаетесь сбором данных с
целью улучшения, не сообщая каждому, что он должен отвечать
положительно или как-либо иначе. Это было бы равносильно шутке:
«Избиения будут продолжаться до тех пор, пока не поднимется боевой
дух». Вы бы получили необходимые вам данные — хорошие ответы, но
это было бы лишено смысла. Одним из способов поощрения честных
ответов является обеспечение анонимного сбора данных.
42
Интересный пример использования удержания кадров как способа
определения эффективности процесса собеседования можно найти в
работе Канемана 2011 года.
43
Проект поперечного исследования означает, что данные были
собраны в один и тот же момент времени. Однако это исключило для нас
возможность проведения продольного сбора данных, поскольку наши
ответы не были связаны между собой от года к году. Повторяя данное
исследование в течение четырех лет, мы смогли выявить
закономерности, характерные для всей отрасли. Хотя нам и хотелось бы
собрать продольный набор данных, то есть такой, для которого мы
выбираем одних и тех же людей из года в год, однако это могло бы
снизить частоту ответов из-за проблем с конфиденциальностью. (А что
происходит, когда эти люди меняют команду или место работы?) В
настоящее время мы проводим исследования в этой области. Проект
поперечного исследования имеет свои преимущества: сбор данных в
один момент времени уменьшает вариативность в ходе исследования.
44
Вероятностная выборка представляет собой любой метод
статистической выборки, использующий случайный отбор; в более
Tlgm: @it_boooks
Переводчик А. Техненко
Редактор Е. Закомурная
Руководитель проекта М. Пикалова
Дизайн Е. Шестернина
Корректоры Е. Якимова, Е. Тимошкина
Компьютерная верстка Б. Руссо
ISBN 978-5-9072-7433-4