Коуберн, который в тот момент был занят организацией похожей встречи по тем же причинам, что и Мартин с Фаулером, с радостью принял приглашение, предложил взять на себя логистику и организовать встречу неподалеку от его дома в Юте[20].
Несколько месяцев спустя, в феврале 2001 года, Бек, Коуберн, Мартин, Фаулер, Швабер, Сазерленд и еще одиннадцать опытных лидеров мнений собрались в городе Сноуберде, чтобы понять, что не так в способах создания ПО. Они задались вопросом: как они могли бы улучшить способы разработки ПО, используя свой опыт? Как разработчики ПО, они истово гордились собственным ремеслом, однако их не удовлетворяло ни состояние отрасли в целом, ни негативное восприятие разработки ПО как профессии. Они хотели создавать ПО, которое нравится потребителям, и повлиять на организации, формировавшие среду с лучшим ПО[21],[22].
Через несколько дней споров и обсуждений разработчики создали «Манифест гибкой разработки программного обеспечения» (Agile-манифест), состоящий из четырех ценностей и двенадцати принципов[23].
Манифест гибкой разработки программного обеспечения[24]
Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим.
Благодаря проделанной работе мы смогли осознать, что:
люди и взаимодействие важнее процессов и инструментов;
работающий продукт важнее исчерпывающей документации;
сотрудничество с заказчиком важнее согласования условий контракта;
готовность к изменениям важнее следования первоначальному плану.
То есть, не отрицая важности того, что справа, мы все-таки больше ценим то, что слева.
Следом за ценностями через несколько недель после встречи в Сноуберде были разработаны двенадцать принципов.
1. Наивысший приоритет для нас удовлетворение потребностей заказчика благодаря регулярной и ранней поставке ценного программного обеспечения.
2. Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения, чтобы обеспечить заказчику конкурентное преимущество.
3. Работающий продукт следует выпускать как можно чаще, с периодичностью от двух-трех недель до двух-трех месяцев.
4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
5. Над проектом должны работать мотивированные профессионалы. Чтобы проект был реализован, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
6. Непосредственное общение наиболее практичный и эффективный способ обмена информацией как с командой, так и внутри команды.
7. Работающий продукт основной показатель прогресса.
8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
10. Простота искусство минимизации лишней работы крайне необходима.
11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Цели и принципы Agile-манифеста были вдохновлены движениями, сформированными на протяжении нескольких лет: Scrum, Crystal, Extreme Programming, Dynamic Systems Development Method (DSDM) и Feature-Driven Programming (в главе 3 вы узнаете больше об этих методологиях). Все эти методологии и философии, лежащие в их основе, направлены на разработку лучшего ПО, однако авторы манифеста поняли, что создали нечто более глубокое и основательное, чем программный документ.
Джим Хайсмит, один из подписантов, сказал:
«Я думаю, что аgile-методологи на самом деле сентиментальны они поставляют потребителям хорошие продукты, работая в среде, которая не только говорит: Люди наш самый важный ресурс, но и действительно ведет себя так, как будто люди это самое важное, теряя при этом слово ресурс»[25].
Джеймс Греннинг, другой автор манифеста, соглашается:
«Манифест был написан в то время, когда процесс ценился однозначно больше, чем люди. Поскольку мы писали код каждый день, мы видели весь вред, который такое мышление приносило нашей работе и создаваемым нами продуктам. Прежде всего Agile-манифест говорит о том, как сделать мир безопасным для программистов»[26].
Подписанты в первую очередь были заинтересованы в том, чтобы найти способ создать среду для написания лучшего ПО, однако сама профессия переживала кризис. Их соглашение было названо «Манифестом гибкой разработки программного обеспечения» не просто так[27].
В то же самое время целые рынки, индустрии и экономики рушились, не сумев адаптироваться к повсеместному проникновению ПО, возросшей мобильности и широкополосному доступу в интернет. Облачные технологии быстро дешевели, и доступ к информации приближался к абсолютному. Сочетание легкодоступных технологий и информации с низким входным барьером подорвало традиционный цикл деятельности бизнеса.
Несмотря на то что в прошлом огромные корпорации имели над меньшими конкурентами очевидное преимущество, теперь оно быстро обесценивалось и превращалось в существенный недостаток. Важнейшие ресурсы для конкуренции из физических стали виртуальными, и небольшие проворные организации могли быстро получить доступ к техническим единицам, необходимым, чтобы соревноваться с более крупными конкурентами.
Программное обеспечение изменило способы обработки информации, и теперь оно значительно влияло на целые рынки и индустрии а следовательно, и компании, работающие в них.
В 2011 году Марк Андриссен, выдающийся инвестор и сооснователь интернет-браузера Netscape, решился заявить, что «программное обеспечение поглощает мир». В статье «Почему ПО поглощает мир», опубликованной влиятельным Wall Street Journal, Андриссен отметил, что почти каждая отрасль финансы, недвижимость, реклама, здравоохранение, телекоммуникации и т. д. значительно изменилась, и фирмы, работающие в данных сферах, имеют свойство разрушаться.
«60 лет компьютерной революции, 40 лет с изобретения микропроцессора и 20 лет с момента появления современного интернета. Все технологии, необходимые для трансформации отраслей с помощью ПО, наконец работают и могут распространяться на весь земной шар!»[28]
VUCA И CYNEFIN: КОММЕРЧЕСКОЕ ОРИЕНТИРОВАНИЕ В ДИВНОМ НОВОМ МИРЕ
Идея, что традиционные «законы производства» изменились и признанные лидеры на самом деле проигрывали более быстрым и адаптивным конкурентам, легко и точно была изложена Американской военной академией.
Военнослужащие заметили: подобно тому как традиционные бизнес-планы разрушались из-за возросшей скорости бизнеса, так и их тщательно продуманные планы становились все менее эффективны на поле боя после холодной войны. События 11 сентября 2001 года и последующая террористическая активность заставили военных описать новую среду, в которой им пришлось работать, с помощью акронима VUCA: нестабильность (volatility), неопределенность (uncertainty), сложность (complexity) и неоднозначность (ambiguity) (см. рис. 1.2).
Рис. 1.2. Нестабильность, неопределенность, сложность, неоднозначность
VUCA можно определить следующим образом.
Нестабильность: в нестабильной обстановке вещи, которые кажутся постоянными, таковыми не являются. Природа, скорость, значение изменений невозможно предсказать. Нестабильность турбулентность, волнение явление, которое происходит чаще, чем раньше[29].
Неопределенность: истины, которые казались нам несомненными, таковыми не являются. Существует недостаток предсказуемости в задачах и событиях[30]. Нестабильное время не дает лидерам делать, согласно задачам и событиям прошлого, предсказания об их последствиях в будущем, прогнозирование предельно затруднено, сложно принимать решения.
Сложность: события взаимосвязаны, причинно-следственные связи редки, невозможно определить долгосрочные эффекты событий. Обычно присутствуют многочисленные и сложные для понимания причинные и смягчающие факторы (внутри и за пределами организации), вовлеченные в проблему.
Неоднозначность: ситуации редко бывают ясны; мы находимся по большей части в серой зоне. Присутствует «неспособность точно определить угрозы и возможности до того, как они приведут к летальному исходу»[31].
Военная академия использовала VUCA, чтобы описать суровую правду современных военных сценариев, но впоследствии термин был заимствован стратегическими бизнес-лидерами для описания хаотичной, нестабильной и быстро меняющейся бизнес-среды, которая теперь воспринимается как естественная.
То, что бизнес считал постоянным конкурентным преимуществом, больше таковым не является. Доступ к информации, огромные облачные вычислительные ресурсы, повсеместная широкополосная сеть дали возможность соревноваться и даже превосходить предложения могущественных конкурентов с поразительной скоростью и легкостью. Из-за глобализации и взаимосвязи международных рынков непредсказуемые события имеют колоссальные, широко распространенные последствия.
Финансовый кризис 20082009 годов, например, привел к тому, что многие бизнес-модели потеряли актуальность, поскольку организации по всему миру погрузились в нестабильную среду, похожую на ту, с которой столкнулась армия. В то же время быстрые изменения наступили в форме технологических достижений вроде повсеместного появления соцсетей, а также одновременного старения и роста численности населения по всему миру, глобальных катастроф, разрушающих жизни, экономики и предприятия.
В результате иерархические фиксированные стратегии, независимо от того, насколько хорошо они выполнялись, перестали приносить плоды, которых от них ожидали.
С точки зрения должностных лиц, приученных к созданию бизнеса в более предсказуемом мире, такой тип бизнес-среды может показаться хаотичным. Предприятия могут получить гибкое преимущество, только адаптируясь, быстрее и лучше обучаясь и будучи более экономными, чем компании-аналоги.
Чтобы принять новый способ работы, необходимо думать шире упрощений, используемых в более предсказуемом контексте, определенном ранними мыслителями вроде Фредерика Тейлора. Мир изменился и стал более сложным, следовательно, подход к бизнес-стратегии должен отражать более адаптивный взгляд на мир.
ФРЕЙМВОРК CYNEFIN
Дэвид Сноуден, бывший сотрудник IBM, разочаровался в работе и создал исследовательскую сеть Cognitive Edge. Он заметил пробелы в моделях управления и разработал фреймворк Cynefin (произносится «кеневин», в переводе с валлийского «чувство места»), который «позволяет руководителям взглянуть на вещи с новых точек зрения, усвоить сложные понятия и обращаться к реальным проблемам и возможностям» (см. рис. 1.3)[32]. Cynefin динамически отображает меняющиеся бизнес-контексты; понимая, в каком контексте они находятся, лидеры могут «не только принимать лучшие решения, но и избегать проблем, возникающих, когда предпочитаемый ими стиль управления вынуждает их совершать ошибки».
Рис. 1.3. Фреймворк Cynefin описывает бизнес-контексты и приемлемые для каждого из них способы действовать
В следующих подразделах мы выделим пять контекстов фреймворка (беспорядок в список не входит по понятным причинам) и объясним, почему понимание характеристик каждой области может улучшать принятие решений и показывать более адаптивные бизнес-стратегии.
ОЧЕВИДНЫЙ КОНТЕКСТ
Очевидное включает «известные известные», в таком случае причинно-следственные связи понятны каждому. В очевидном контексте приемлемое поведение включает ощущение наличия проблемы, ее классификацию и решение. Другими словами, как только вы понимаете, с какой ситуацией имеете дело (ощущение и классификация), есть только один возможный способ действий (решение).
Пример ситуации, попадающей в область очевидного, создание виджета. Виджет четко определен, вы знаете все о том, как его создать. Теперь остается только выполнить работу. Решения проблем из этой области обычно легко автоматизируются.
СЛОЖНЫЙ КОНТЕКСТ
В сложном контексте мы имеем дело с «известными неизвестными» и причинно-следственные связи менее ясны. Тем не менее с помощью специальных знаний вы можете выбрать оптимальное решение из нескольких хороших вариантов. Наиболее подходящее поведение в этой области: ощущение наличия проблемы, анализ и решение. Специалисты, с их глубокими знаниями и опытом, обычно хорошо подходят для решения таких проблем, поскольку находят лучшие решения быстрее, что экономит время.
Пример ситуации из этой области строительство дома. Определенно существует множество различных способов разрешить это затруднение (ощущение проблемы), но, как правило, один из них лучше остальных. Какой именно зависит от цели, которой вы пытаетесь достичь. Например, если вы хотите построить дом с определенными экологическими требованиями, то с экспертной помощью архитектора, прошедшего сертификацию в области проектирования объектов энергоэффективного и экологического строительства, вы сможете продвинуться через неизвестность и создать ясность (анализ). Как только подход определен, вы перейдете к строительству (решение). Наличие специальных знаний (привлечение внешних консультантов, например) может значительно облегчить работу в сложных контекстах, поскольку навыки, знания и умения экспертов помогают пробираться через завалы информации, взвешивать все за и против, а также принимать лучшие решения.
ЗАПУТАННЫЙ КОНТЕКСТ
В сложном контексте «правильный» ответ неясен это царство «неизвестных неизвестных». Фактически причины ситуации неизвестны даже после того, как она возникла. По этой причине, вместо того чтобы навязывать определенный образ действий, стоит позволить последующим шагам случиться самостоятельно. Наиболее верный подход в таком случае включает в себя исследование, ощущение и решение: вы проверяете предположение, проводя эксперимент, смотрите на результаты эксперимента и принимаете решение в соответствии с ними.
Пример запутанного контекста организм или экосистема (например, тропический лес). Сноуден объясняет: «Тропический лес находится в постоянном движении виды вымирают, климатические условия меняются, сельскохозяйственные проекты перенаправляют течение рек целое гораздо больше, чем сумма его частей»[33].
Современный деловой мир, характеризующийся интеллектуальным трудом, контекст, запутанный куда сильнее, чем мы, возможно, осознаем. Определенно все виды творческих проектов и инновационной деятельности находятся в этой области. Мы просто не знаем, что случится, до тех пор, пока не проведем эксперимент и не проверим. Любая запутанная проблема, которая еще не имеет решения, также находится в этой области.