Стратегия секса

We use cookies. Read the Privacy and Cookie Policy

Мутации – это эксперименты по замене отдельных частей или компонентов проекта с целью увидеть, какие результаты будут получены в результате такой замены – хорошие или плохие. Но это не единственный метод в нашем распоряжении. Еще одной стратегией будет секс. Или, лучше сказать, кроссинговер, что звучит более научно.

Кроссинговер – способ, к которому прибегает природа, чтобы биологические виды могли достигать пиков в адаптивном ландшафте за один прыжок, а не в результате серии мелких шагов. Ребенок наследует половину своих генов от матери, а другую половину – от отца. Мать и отец – вполне приспособленные особи, каждая из которых располагается в своем адаптивном ландшафте на пике или где-то рядом с ним. (Если бы это было не так, они были бы больны или мертвы – в том и другом случае размножение было бы затруднено.) Случайным образом перемешанные гены, унаследованные ребенком, помещают его в адаптивном ландшафте где-то посередине между отцом и матерью. Если в этой точке долина, то ребенок будет хуже приспособлен к данной среде, чем его родители. Но существует достаточно высокая вероятность, что в этой точке может оказаться даже более высокий пик, чем те, на которых находятся его родители. С точки зрения сложных систем две системы произвели на свет третью, которой за один прыжок удалось достичь более высокой точки в адаптивном ландшафте (см. рис. 15.6)!

Данная стратегия работает, потому что в сильно пересеченных адаптивных ландшафтах пики часто группируются. Поэтому при выведении улучшенных сортов растений или при разведении скаковых лошадей люди применяют кроссбридинг [Holland 1995: 66]. В качестве родителей берут две особи, показавшие лучшие результаты, их гены перемешивают и в итоге получают потомство, которое часто превосходит своих родителей.

Мутации – это способ, при помощи которого природа ставит эксперименты. Это осторожные шаги в новых направлениях с помощью произвольного изменения маленьких составляющих системы. Кроссинговер позволяет природе объединять хорошо зарекомендовавшие себя практики. Это способ относительно безопасно совершить прыжок в адаптивном ландшафте и таким образом провести дополнительное исследование территории, о которой в общих чертах уже известно достаточно много [Miller, Page 2007: 184].

Вы спросите, в чем здесь практический урок для команд разработчиков? Я бы рекомендовал проводить скрещивание команд и проектных подходов. Когда вы начинаете новый проект, попробуйте сочетать метод, оказавшийся эффективным в предыдущем проекте, с процессом, оказавшимся эффективным в каком-то другом проекте. Или попробуйте создать из существующих команд новую, особенно если команды существуют достаточно давно и темпы взаимного обучения сотрудников в них замедлились. Такое перекрестное опыление может дать «потомство», эффективность которого будет превышать эффективность даже очень сильных исходных команд.