Итак, как вы можете представить, я в восторге, что они запустили эту книгу в производство, и волей-неволей я буду рекомендовать ее в течение следующих нескольких лет. (Я уже использовал много битов из черновиков этой книги в своих выступлениях.) Тем не менее я хочу внести несколько предостережений. Авторы книги хорошо объясняют, почему их подход к опросам делает их прочной основой для их данных. Однако это все еще опросы, которые отражают субъективное восприятие. И мне интересно, как представленная ими выборка отражает ИТ-мир в целом. У меня будет больше уверенности в их результатах, когда другие команды, используя разные подходы, смогут подтвердить рассуждения авторов. В книге уже есть некоторые из таких подтверждений. Так, работа, проделанная Google по формированию командной культуры, дает дополнительные доказательства в поддержку суждения авторов о том, насколько важна организационная культура, основанная на модели Веструма, для эффективных команд, занятых разработкой ПО. Подобная дальнейшая работа также заставила бы меня меньше беспокоиться о том, чтобы их выводы подтверждали большую часть моих доводов при их отстаивании – подтверждение предвзятости является мощной силой (хотя я в основном замечаю это в других;-)). Мы также должны помнить, что их книга фокусируется на доставке программных продуктов, то есть на пути от коммита[1] к запуску в производство, а не на всем процессе разработки программного обеспечения.
Но эти придирки не должны отвлекать нас от основного направления этой книги. Эти исследования и их тщательный анализ дают одно из лучших объяснений методов, которые могут значительно продвинуть вперед большинство ИТ-компаний. Каждый руководитель ИТ-группы должен внимательно изучить эти методы и работать над их использованием для улучшения своей деятельности. Любой, кто работает с ИТ-группой – либо внутри компании, либо из компании, которая занимается доставками ИТ (такой как наша), – должен искать возможности применить эти практики на месте и выработать устойчивую программу непрерывного совершенствования, чтобы развиваться вместе с ними. Форсгрен, Хамбл и Ким нарисовали картину того, как эффективно ИТ выглядит в 2017 году, и практикующие специалисты в сфере ИТ должны использовать ее как карту, чтобы присоединиться к высокоэффективным лидерам.
Мартин Фаулер, главный научный сотрудник компании ThoughtWorksПредисловие Кортни Кисслер
Мой путь начался летом 2011 года. Я работала в Nordstrom, и мы приняли стратегическое решение сосредоточиться на цифровом секторе как двигателе роста. К этому моменту наша ИТ-компания прошла через оптимизацию расходов. В своей презентации на DevOps Enterprise Summit 2014 я поделилась информацией о том, что для меня одним из моментов прозрения был переход к оптимизации скорости. Я сделала много ошибок на этом пути, и хотела бы я тогда иметь доступ к этой книге и изложенной в ней информации. Я наступила на все классические грабли. Например, в попытке взять и внедрить Agile сверху вниз, думая, что он подходит всем, не фокусируясь на измерениях (или правильных параметрах измерений). При этом лидерское поведение не меняется и рассматривает трансформацию как программу вместо создания обучающейся организации (чего никогда не делалось).
На протяжении всего пути мы фокусировались на командных структурах, основанных на результатах: мы знали наше время цикла (понимали нашу карту ценностей), ограничивали «радиус взрыва» (начинали с 1–2 команд вместо того, чтобы пытаться «вскипятить океан»), использовали данные для управления действиями и решениями и признавали, что работа – это работа (цель – отсутствие недоработок и отставаний по функционалу, техническому обеспечению и операционной работе; вместо этого иметь только одно отставание, потому что NFRs (Nonfunctional Requirements – нефункциональные требования. – Прим. ред.) тоже являются функциями, а сокращение технических недоработок повышает стабильность продукта). Ничто из этого не было достигнуто в одночасье, а процесс потребовал множества экспериментов и корректировок.
Основываясь на своем опыте, я знаю наверняка, что применение руководства из этой книги сделает вашу организацию более эффективной. Оно работает для всех типов доставки программного обеспечения и является независимой методологией. Я лично испытала это на себе, и у меня есть несколько примеров применения этих методов в командах программистов, традиционных командах доставки коробочных программных приложений и продуктовых командах. Это может работать по всем направлениям. Эти методы требуют дисциплины, настойчивости, трансформационного лидерства и концентрации на людях. В конце концов, люди – это актив № 1 любой организации, но зачастую это далеко от реальности.
Несмотря на то, что путь будет нелегким, я могу сказать, что он определенно того стоит, и вы не только увидите результаты, но и ваша команда станет счастливее. Например, когда мы начали измерять eNPS (employee Net Promoter Score – индекс чистой лояльности сотрудников. – Прим. ред.), команды, практикующие эти методы, получили самые высокие баллы во всей нашей технологической организации.
Еще одна вещь, которую я узнала по пути, – это то, насколько важно иметь поддержку высшего руководства. И поддержка должна выражаться в действиях, а не в словах. Высшее руководство должно продемонстрировать свою приверженность созданию обучающейся организации. Я поделюсь поведением, которое я пытаюсь моделировать с моими командами. Я страстно верю в необходимость четко представлять реальное положение вещей. Если я лидер и моя команда не чувствует себя комфортно, беря на себя риски, то я никогда не буду по-настоящему знать реальность. И если я не искренне заинтересована и появляюсь только тогда, когда случается неудача, то считайте, что я не состоялась как лидер. Важно построить доверие и продемонстрировать, что неудача приводит к обучению (см. модель Веструма в этой книге).
Вы столкнетесь со скептиками на этом пути. Я слышала такие вещи, как «DevOps – это новый Agile», «Lean не применяется к доставке программного обеспечения», «Конечно, это сработало для команды мобильных приложений. Они – единорог». Когда я столкнулась со скептиками, я попыталась использовать внешние примеры, чтобы повлиять на обсуждение. Я опиралась на поддержку наставников – без них мне было бы сложно сосредоточиться. Наличие информации из этой книги было бы мне тогда чрезвычайно полезно, и я настоятельно рекомендую вам использовать ее в своей организации. Я провела большую часть своей карьеры в розничной торговле, и в этой отрасли все более и более важной становилась способность меняться, а программное обеспечение для доставки теперь является частью ДНК каждой организации. Не игнорируйте науку, изложенную в этой книге. Она поможет вам ускорить ваше превращение в высокоэффективную технологическую организацию.
Кортни Кисслер, вице-президент по разработке цифровых платформ компании NikeКраткая справка: Возможности управления оптимизацией
Наше исследование выявило 24 ключевые возможности, которые способствуют улучшению эффективности доставки программного обеспечения. Эта справка укажет вам на их расположение по ходу книги. Подробное руководство вы найдете в Приложении А. Возможности представлены в произвольном порядке.
Они подразделяются на пять категорий:
● непрерывная доставка;
● архитектура;
● продукт и процесс;
● бережливое управление и мониторинг;
● культурные возможности.
ВОЗМОЖНОСТИ НЕПРЕРЫВНОЙ ДОСТАВКИ
1. Контроль версий: Глава 4.
2. Автоматизация развертывания: Глава 4.
3. Непрерывная интеграция: Глава 4.
4. Магистральная разработка: Глава 4.
5. Автоматизация тестирования: Глава 4.
6. Управление тестовыми данными: Глава 4.
7. «Сдвиг влево»[2] по безопасности: Глава 6.
8. Непрерывная доставка (НД): Глава 4.
ВОЗМОЖНОСТИ АРХИТЕКТУРЫ
9. Слабосвязанная архитектура: Глава 5.
10. Уполномоченные команды: Глава 5.
ВОЗМОЖНОСТИ ПРОДУКТА И ПРОЦЕССА
11. Обратная связь от клиентов: Глава 8.
12. Поток создания ценности: Глава 8.
13. Работа небольшими партиями: Глава 8.
14. Командные эксперименты: Глава 8.
ВОЗМОЖНОСТИ БЕРЕЖЛИВОГО УПРАВЛЕНИЯ И МОНИТОРИНГА
15. Процесс утверждения изменений: Глава 7.
16. Мониторинг: Глава 7.
17. Упреждающее уведомление: Глава 13.
18. Пределы НЗП (незавершенного производства): Глава 7.
19. Визуализация: Глава 7.
КУЛЬТУРНЫЕ ВОЗМОЖНОСТИ
20. Организационная культура Веструма: Глава 3.
21. Поддерживающее обучение: Глава 10.
22. Взаимодействие между командами: Главы 3 и 5.
23. Удовлетворенность работой: Глава 10.
24. Трансформационное лидерство: Глава 11.
Вступление
В конце 2013 года мы приступили к четырехлетнему научному путешествию, чтобы исследовать, какие возможности и методы важны для ускорения разработки и доставки программного обеспечения и, в свою очередь, какие из них представляют ценность для компаний. Их результативность проявляется в прибыльности компании, ее производительности и доле рынка. Мы видим аналогичный эффект и в некоммерческих результатах, в частности, когда речь идет об удовлетворении клиента.
Это исследование отвечает на потребность, которую в настоящее время не закрывает рынок. Используя строгие методы исследования, которые традиционно встречаются только в академических кругах, и делая их доступными для отрасли, мы преследуем цель продвинуть на новый уровень состояние разработки и доставки программного обеспечения. Помогая отрасли выявлять и понимать возможности, которые на самом деле приводят к повышению эффективности статистически значимым образом, мы выходим за пределы одного эпизода. Основываясь на опыте одной или нескольких команд, мы можем помочь всей отрасли улучшиться.
Для проведения исследований, представленных в этой книге (в дополнение к тем, над которыми мы работаем до сих пор), мы используем перекрестные межгрупповые исследования. Те же методы используются в медицинских исследованиях (например, для изучения взаимосвязи между потреблением пива и ожирением, Бобак и соавторы, 2003), исследованиях рабочей среды (например, для изучения взаимосвязи между рабочей средой и сердечно-сосудистыми заболеваниями, Джонсон и Холл, 1988) и исследованиях памяти (например, для изучения различий в процессах развития и снижения памяти, Алловэй и Алловэй, 2013). Поскольку мы хотим по-настоящему изучить отрасль и понять, что приводит к значительному улучшению программного обеспечения и организационной эффективности, мы используем строгие методы построения научных исследований и публикуем большую часть нашей работы в академических журналах. Дополнительную информацию о методах нашего исследования вы найдете в Части II «Исследование».
ИССЛЕДОВАНИЕ
В рамках исследования мы собрали по нашим опросникам более 23 000 ответов со всего мира. Мы получили обратную связь от более чем 2000 уникальных организаций, от небольших стартапов с количеством сотрудников до пяти человек до крупных предприятий со штатом более 10 000 человек. Мы собрали данные от маленьких стартапов и передовых интернет-компаний, а также организаций, работающих в строго регулируемых отраслях, таких как финансы, здравоохранение и государственные структуры. Наши данные и анализ включают программное обеспечение, разработанное на совершенно новых платформах, так называемых greenfield («зеленое поле» – проекты, созданные с нуля. – Прим. ред.), а также обслуживание и разработку существующего кода ПО.
Выводы, приведенные в этой книге, применимы независимо от того, используете ли вы традиционную каскадную методологию (также известную как закрытая, структурированная или плановая) и только начинаете трансформацию технологии, или же уже много лет внедряете методы Agile и DevOps. Это верно, потому что доставка программного обеспечения – это упражнение в непрерывном улучшении и наше исследование показывает, что год за годом лучшие продолжают достигать новых высот, а те, кто не смог этого сделать, отстают все больше и больше.
Улучшение возможно для всех
Наши поиски понимания того, как оценить и улучшить доставку программного обеспечения, были полны открытий и сюрпризов. Мораль этой истории, подтвержденная данными, заключается в следующем: улучшения в доставке программного обеспечения возможны для каждой команды и в каждой компании, пока руководство обеспечивает последовательную поддержку – включая время, действия и ресурсы – и, разумеется, пока члены команды ответственно выполняют свою работу.
Цель этой книги – поделиться тем, что мы узнали, чтобы помочь организациям преуспевать, вырастить более счастливые команды, которые быстрее доставляют лучшее программное обеспечение, и помочь процветанию организаций и отдельных людей. Остальная часть этого вступления кратко описывает, как началось и как проводилось это исследование. Более подробно о его научной основе вы прочтете в Части II этой книги.
ПРОДЕЛАННАЯ РАБОТА И ДАННЫЕ
Нас часто спрашивают об истории происхождения этого исследования. Оно основано на непреодолимом интересе к тому, что делает лучшие технологические организации великими и как программное обеспечение делает организации лучше. Сначала авторы работали параллельно над пониманием исключительных технических характеристик, прежде чем объединить усилия в конце 2013 года.
● Николь Форсгрен имеет степень доктора философии в области управления информационными системами. До 2013 года она провела несколько лет, исследуя факторы, которые делают технологии эффективными в организациях – особенно среди профессионалов, которые создают программное обеспечение и инфраструктуру поддержки. Она является автором десятков научных статей на эту тему. До получения докторской степени она была инженером программного и аппаратного обеспечения и системным администратором.
● Джез Хамбл – соавтор книг «Непрерывная доставка» (Continuous Delivery), «Бережливое предприятие» (Lean Enterprise) и «Руководство по DevOps» (The DevOps Handbook). Его первой работой после колледжа был стартап в Лондоне в 2000 году, а затем в 2005–2015 годах он провел десять лет в компании ThoughtWorks, занимаясь доставкой программных продуктов и консультируя клиентов в качестве специалиста по инфраструктуре, разработчика и продукт-менеджера.
● Джин Ким изучает высокоэффективные технологические организации с 1999 года. Он был основателем и техническим директором компании Tripwire в течение 13 лет и является соавтором многих книг, включая «Проект Феникс» (The Phoenix Project) и «Руководство по Visible Ops» (The Visible Ops Handbook).
В конце 2013 года Николь, Джез и Джин начали работать вместе с командой компании Puppet Inc. в рамках подготовки «Отчета о состоянии DevOps 2014 года»[3]. Объединив практический опыт и академическую строгость, команда смогла создать нечто уникальное в отрасли: отчет, содержащий информацию о том, как сделать так, чтобы технологии создавали ценность для сотрудников, организаций и клиентов прогнозируемыми способами. В течение следующих четырех отчетов Николь, Джез и Джин продолжали сотрудничать с командой Puppet Inc., чтобы повторно применять методологию данного исследования и постоянно улучшать отраслевое понимание того, что способствует отличной доставке программного обеспечения, позволяет создать выдающиеся технические команды и как компании могут стать высокоэффективными организациями и выигрывать на рынке, используя технологии. Эта книга охватывает четыре года исследований, начиная с отчета (с 2014 по 2017 год).