Для нас практический вывод состоит в том, что в системе не должно быть слишком много взаимозависимостей, а предпочтительным будет умеренно пересеченный ландшафт (рис. 14.8c). Изменения в одной части системы будут оказывать
Направленная и ненаправленная адаптация
В своей книге «Малые группы как сложные системы» (Small Groups as Complex Systems) авторы различают два вида адаптации – направленную и ненаправленную [Arrow 2000: 175–176]. Ненаправленная (в моей терминологии ей соответствуют адаптация и исследование) происходит в биологических системах. ДНК мутирует случайным образом, и биологические виды совершают свои адаптивные прогулки во всех направлениях, в том числе и в неправильных. Но
Проявления направленной адаптации (в моих терминах ей соответствует прогнозирование) можно наблюдать в системах, в которых участвуют люди. Команда разработчиков не может себе позволить испробовать все возможные комбинации функциональных возможностей продукта, людей, инструментов и процессов. В этом случае на помощь призывается
Помимо направленной адаптации, команды ненамеренно осуществляют действия, которые будут ненаправленной адаптацией. Они могут постепенно вносить изменения в применяемые процессы, не имея при этом осознанного плана. Они также могут изменить свой подход между итерациями, хотя это не будет частью осознанной стратегии изменений. Со временем все эти небольшие изменения могут накапливаться [Arrow 2000: 175] и становиться причиной существенных перемещений в рамках соответствующего адаптивного ландшафта.
Интересно, что генная инженерия преднамеренно привнесла направленную адаптацию в биологический мир, посредством искусственной эволюции существенно ускорив изменение сельскохозяйственных культур и скота [Kelly 1994: 3].
В научной литературе адаптивные изменения в сложных
На этом месте мы вполне осознанно и завершаем данную главу. В следующей речь пойдет о методах непрерывной оптимизации.
Резюме
Вопреки убеждению многих, внешнюю среду нельзя рассматривать отдельно от населяющих ее систем. Если в определенную среду привносится новый программный продукт, среда изменяется, а вместе с ней изменяются и требования к программному продукту.
Люди от природы настроены сопротивляться изменениям и в большинстве случаев считают их негативными. Однако изменения могут быть как негативными, так и позитивными, а количество усилий, направляемых на преодоление последствий, вызванных изменениями во внешней среде, для данной системы будет более или менее постоянным. В конечном счете любой продукт оказывается обреченным на неудачу, а успех может быть определен как способность максимально отсрочить момент наступления этой неудачи.
Существует три подхода, применяемых при проведении непрерывного улучшения: адаптация, исследование и прогнозирование. При реализации проектов необходимо пользоваться всеми тремя в виде непрерывного цикла. Процесс непрерывного улучшения иногда называют Гонкой Черной Королевы: необходимо постоянно совершенствоваться, чтобы не отстать.
Иногда организации или команды не в состоянии измениться. В таких случаях говорят, что систему необходимо освободить от некоего аттрактора. Лучшим способом вывести ее из этого состояния может оказаться внесение изменений в параметры внешней среды, что позволяет дестабилизировать соответствующий аттрактор.