Цель визуального мышления состоит в том, чтобы сделать сложные вещи понятными посредством визуализации, а не в том, чтобы упростить их [9].
В своем бестселлере «Визуальное мышление» Дэн Роэм предлагает использовать рисунки для представления идей в более понятном виде. Очевидно, что он говорит о сдвиге по вертикальной оси от запутанного к простому. Но даже в его предупреждении «не упрощать» присутствует терминологическая путаница. На самом деле Дэн имеет в виду, что при представлении в виде рисунков не должна утрачиваться сложность поведения системы, поскольку это помешает тем, кто пользуется данными рисунками, разобраться в существе вопроса.
Следовательно, если вам хочется упрощать, то, ради бога, упрощайте все, что трудно для понимания. Но при этом следует избегать линеаризации («упрощения») поведения системы, потому что это вводит в заблуждение.
Адаптивные и неадаптивные системы
Ни одна из представленных моделей не отражает способность многих систем самостоятельно перемещаться в интересной области, которая располагается между упорядоченностью и хаосом.
Когда я был маленьким мальчиком, сидел в ванне и вокруг плавали игрушки, меня завораживали воронки – они появлялись, когда вынимали сливную пробку. Играя с этими воронками, я постепенно обнаружил, что могу их остановить, заставить появиться вновь и вращаться в обоих направлениях. Этим воронкам приходилось терпеть мое присутствие, и они не могли адаптироваться к перепадам в моем настроении. Такие воронки – пример сложных неадаптивных систем. Они сложные, но не в состоянии адаптироваться [Lewin 1999: 15].
Несколько более интересны сложные адаптивные системы (САС). Они способны адаптироваться к внешней среде. В качестве примеров можно привести ребенка, который учится ходить; штамм бактерий, развивший резистентность к определенному антибиотику; водителей, пытающихся объехать пробку; колонию муравьев, обнаруживших недоеденный сэндвич, или команду разработчиков программного продукта, адаптирующихся к реальным потребностям заказчика.
Системы, о которых чаще всего идет речь в этой книге, включая команды разработчиков, будут сложными адаптивными . Они сами сдвигают себя в комфортную область между упорядоченностью и хаосом. Они способны обучаться и адаптироваться, а также двигаться по определенной траектории посредством «хаордических процессов», сочетающих в себе элементы хаоса и порядка, но никогда не являющихся ни полностью упорядоченными, ни действительно хаотическими [Highsmith 2002].
В той ванне десятки лет назад воронки были глупыми неадаптивными системами. Настоящей сложной адаптивной системой был я . Я адаптировал свои действия в зависимости от поведения воронок. И это помогало мне понять, как можно их контролировать.
Если исходить из представления, что команды разработчиков программных продуктов – это действительно системы, то можно ли считать такие системы сложными и адаптивными? Вправе ли мы сравнивать участников подобных команд с детьми, играющими в ванне?
Не злоупотребляем ли мы научным подходом?
При обсуждении гибких методологий разработки ПО мы регулярно слышим такие научные термины, как самоорганизация и эмерджентность .
Основная причина, почему теория сложных адаптивных систем актуальна при разработке программного обеспечения, это продвигаемая ею концепция эмерджентности и эмерджентных результатов [10].
Например, колония муравьев, мозг, иммунная система, Scrum-команды и город Нью-Йорк будут самоорганизующимися системами [11].
Scrum – это не методология, не четко расписанный процесс и не набор процедур. Это открытый фреймворк при разработке программного обеспечения. Применяемые правила ограничивают поведение сложной адаптивной системы, в результате чего система самоорганизуется и приходит в состояние, адекватное решаемой задаче [12].
Насколько оправданно применение теории сложности к разработке программного обеспечения? Согласны ли сами специалисты по сложным системам, что такие термины, как самоорганизация и эмерджентность, применимы не только к описанию муравейников, мозга и иммунной системы, но также и к Agile-командам?
Некоторые ученые уже обрушились с критикой на людей вроде нас за то, что мы заимствуем их научную терминологию. Они утверждают, что мы берем термины, не вникая в их значение, и используем научные понятия, не имея на то достаточных концептуальных оснований. И еще они говорят, что нас опьяняют сами слова вне связи с тем, что они на самом деле означают [Sokal 1998: 4].
Читать дальше
Конец ознакомительного отрывка
Купить книгу