1.2 Сложность. Законы развития
1.2.1

Содержание

Ключевые концепции:

  • Эволюционная теория
  • Теория сложности
  • Cynefin framework
1.2.2

Факт №1 Экономический дарвинизм.

Все зависят от экономического дарвинизма:

  • Вовлечены все секторы (B2B, B2C, B2G...)
  • Происходит глобализация на всех уровнях.
  • Бизнес или его части перемещаются в Интернет
  • Становится все больше конкурентов на одного клиента
  • У клиентов более высокие ожидания и меньше лояльности
  • ...

Одним из основных драйверов современного развития является экономический дарвинизм, в котором нам всем, приходится участвовать.

Конкурируют сейчас все. Глобализация привела к тому, что мы можем никогда не видеть, не знать, не слышать, о тех компаниях или людях, которые, в конце концов, могут выполнить работу для наших существующих заказчиков. И поэтому для нас, очень важны принципы борьбы за выживание, которые были сформулированы Чарльзом Дарвином.

Основной закон эволюции звучит следующим образом:

  • Во-первых, выживает наиболее приспособленный к существующей среде.
  • Во- вторых, для выживания необходимо иметь лучшие возможности по адаптации, то есть, приспособленность к будущим изменениям.
Успех зависит от выбора правильного баланса, и зачастую — это компромиссное решение. (Необходимо быть достаточно приспособленным к существующей среде, чтобы выжить. Нужно иметь такие возможности по адаптации, чтобы пережить те изменения, которые могут произойти в этой среде. )

Это не называлось бы компромиссом и не требовало бы каких-то решений, если бы не существовало взаимосвязи между приспособленностью к текущим условиям и готовностью к адаптации.
"Чем выше приспособленность к текущим условиям, тем меньше готовность к адаптации"
Чарльз Дарвин
Промежуточные итоги
    1. Требования — это условия выживания, обусловленные конкурентной средой.
    2. Требования часто являются результатом компромиссного решения.

    При этом необходимо подчеркнуть, что если мы с вами хотим управлять своим развитием, то речь идет не о естественном отборе, в результате которого просто выживут те, у кого баланс характеристик приспосабливаемости будет лучше, тогда решение принимаем не мы. Речь идет об осознанном выборе решений при построении нашей компании или системы, которую мы создаем.
    1.2.3
    Информационные технологии и экономический дарвинизм
    Каким образом дарвинизм связан с информационными технологиями?
    Давайте вначале определимся с самим базовым понятием технологии.
    Технология (от др.-греч. τέχνη — искусство, мастерство, умение; λόγος — «слово», «мысль», «смысл», «понятие») — совокупность методов и инструментов для достижения желаемого результата; в широком смысле — применение научного знания для решения практических задач.
    Википедия
    Соответственно, одним из основных эволюционных методов деятельности человека является перераспределение труда, в рамках которого у нас появляется выделение в отдельную сферу деятельности по созданию инструментов(технологии), которую будет использовать другой человек.

    Таким образом, появляется возможность повысить эффективность работы каждого человека. Есть специалист, который занимается созданием инструментов, есть человек, который специализируется, уже используя готовый инструменты или методы.


    Информацио́нные техноло́гии (также — информационно-коммуникационные технологии) — процессы, методы поиска, сбора, хранения, обработки, предоставления, распространения информации и способы осуществления таких процессов и методов (ФЗ № 149-ФЗ)[3]
    Википедия
    Почему это важно?

    Информационная технология — это такая технология, которая работает исключительно с информацией. Как следствие работы с информацией,эта деятельность может быть передана на обработку вычислительной системе.

    Как мы с вами говорили во вступлении, вычислительные машины перерабатывают информацию гораздо эффективнее, чем к этому приспособлен человеческий мозг.


    Программа

    Набор - детальных инструкций для вычислительной системы:
    • Где взять информацию
    • Как преобразовать информацию
    • Куда ее отдать
    Для того, чтобы информацией можно было пользоваться, добавляются следующие операции:
    • Хранение
    • Поиск
    В сущности, существуют только пять основных операций, которые мы можем делать с информацией. Мы ее можем получить или собрать. Мы можем ее некоторым образом преобразовать и куда-то отдать. Вспомогательные функции, которые существуют в работе с информацией — это ее хранение. И, естественно, поиск информации, которая уже является следствием работы с информационной системой.
    В качестве забавной истории можно вспомнить о том, что одни из первых достаточно продвинутых персональных ЭВМ (PDP-11), вообще не имели как таковых жестких дисков и возможности сохранить программу при отключении питания. Именно тогда появилась традиция прилагать к исследовательским и научным работам листинги программ.

    Потому что для того, чтобы выполнить эту программу, ее надо было вначале откуда-то набрать. Поэтому листинг программы — это важный атрибут для большинства современных стандартов на документирование исходного кода и информационных систем.
    Для того, чтобы лучше понимать, как в действительности работают информационные системы, очень важно осознавать тот факт, что самый современный, самый развитый компьютер — это гиперразвитый калькулятор, у которого очень большое количество программ и который умеет очень быстро их выполнять.
    Характеристика #3:
    Требования - комплекс принятых решений в отношении того, какие операции должны быть переданы на выполнение машине, и что конкретно нужно сделать с информацией.
    Почему это важно?

    По сути дела, для того, чтобы мы могли эффективно использовать информационные системы, мы должны понимать, что требования — это комплекс решений в отношении информации:

    • что с ней необходимо сделать, которые должны быть сделаны до того, как мы с вами начнем использовать программу.
    • по сути, программа уже содержит весь набор действий, которые необходимо выполнить с информацией, которую она получит.
    • и, соответственно, шаг влево или шаг вправо, то есть изменение входных условий или изменение требований к результату, требует от нас изменения программы.

    1.2.4
    Факт №2 Роль информационных технологий.
    Давайте посмотрим, как в результате между собой стыкуются информационные технологии и законы, связанные с дарвинизмом.

    Информационные технологии являются одним из важнейших факторов конкуренции во всех областях, где происходит работа с информацией.

    И, как логично предположить, одна из основных областей, в которых происходит работа с информацией — это все процессы, связанные с управлением. (Первая область)

    Весь бизнес, вся организация построена на обмене информацией для контроля и принятия решений. Из первоначальных вспомогательных первичных инструментов, когда информационные технологии просто позволяли переслать информацию (простейший инструмент — это электронная почта), постепенно технологии становятся настоящей нервной системой для современного бизнеса. (это выражение принадлежит Биллу Гейтсу).

    Даже коротенький простой, когда пропадает почта, пропадает интернет парализует систему управления бизнесом. И, соответственно, изменять управление, сами принципы работы компании без модификации информационных технологий стало невозможно.

    Вторая область, в которую начали проникновение информационные технологии — это цифровые(digital) продукты. Как ни парадоксально, программисты сами являются отличным примером новой волны, digital трансформации, потому что то, с чем они работают — это чистый цифровой продукт (на входе информация, на выходе информация, управляются они информацией, более того, все инструменты… большая часть инструментов, которые они используют — это тоже результаты информационных технологий.

    Матрица уже здесь (:-)). Для реального бизнеса ситуация жизни в условиях digital трансформации сильно изменяется. Во первых, полностью цифровых информационных продуктов становится все больше, и от функций, которые связаны с цифровыми продуктами, все больше и больше зависит успех компании. Во-вторых, очень большое количество офлайн-продуктов становятся гибридными. Да, мы можем иметь некоторый продукт ("железо"), реализованный физически или механически, но в нем появляется Программа ("soft").

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

    Соответственно, поскольку информационные технологии стали аспектом выживания, стали одной из ключевых областей, в которых происходит конкурирование компаний и продуктов, первый принцип выживания — приспособленность к существующей среде выводит нас на необходимость четкого понимания того, что нужно заказчику.

    Мы формируем требования для того, чтобы понимать и удовлетворять его требования лучше, чем другие поставщики.


    Наиболее приспособленный к существующей среде (IT)

    • Необходимо лучше удовлетворять заказчика. Каждое создаваемое решение должно быть лучше и учитывать больше факторов, чем предыдущее или решение конкурентов.
    Нужно понимать, что нужно заказчику (какие у него требования), чтобы удовлетворять его требованиям лучше других.
    Принцип развития - мир имеет тенденцию усложняться
    Постнеклассическое естествознание: концептуальные основания
    Грегори Робертс "Шантарам"
    И, как результат, а это не только результат для информационных технологий, это результат, который происходит глобально, основной принцип развития связан с тем, что мир имеет тенденцию усложняться.

    Сейчас очень много говорят о том, что счастье в простоте, что чем проще, тем лучше — это действительно так ...

    Мы можем использовать настолько простое решение, насколько оно позволяет достигать необходимых нам целей.

    Нужно быть готовым к предстоящим изменениям (IT)

    • Чем сложнее субъект, тем сложнее осуществлять изменения без потери управления.
      • Необходимо разделить сложный объект на части таким образом, чтобы изменения в одной части не приводили к нарушению работоспособности в других частях.
    Необходимо поддерживать осведомленность о требованиях других частей, чтобы при изменениях сохранить их работоспособность, или осуществлять изменения синхронно.
    Вторая часть закона эволюции является принципиально важной для IT — это аспект, связанный с тем, что все программы, все коды, которые мы с вами создали, превратили их в информационные технологии, по своей сути превращаются в багаж, который при изменениях можно трансформировать.

    И чем сложнее объект, которым мы управляем, тем сложнее это сделать без того, чтобы не потерять над ним управление.

    Поэтому одной из важнейших частей готовности к предстоящим изменениям — это, как на подводной лодке-корабле, создать такое разделение на модули, чтобы изменения в одной части не приводили к нарушению работоспособности в других частях.

    Поэтому второй вывод, который мы можем сделать, связывая информационные технологии и теорию эволюции — это необходимость поддерживать осведомленность о требованиях других частей для того, чтобы при изменениях сохранить их работоспособность.

    Или производить изменения синхронно в двух частях.

    По сути дела, это как вилка-розетка или разъем блока питания; если мы с вами хотим изменить зарядное устройство, мы должны изменить все устройства, которое мы хотим им заряжать. Если мы хотим сделать так, чтобы устройство стало универсальным, где-то нам придется создать такой интерфейс, такой стандарт взаимодействия, чтобы изменения не затронули другие части системы.

    Характеристика #4:
    Требование - это соглашение о том, что и в каком виде передается другим системам.
    Соответственно, характеристика четвертая, которая относится к требованиям, к тому, с чем мы с вами работаем, требования — это соглашение о том, что и в каком виде передается другим объектам или системам, с которыми мы взаимодействуем.
    Промежуточные итоги
    В условиях непрерывного усложнения для выживания в информационных джунглях необходимо:

    1. Понимать, что нужно заказчику (какие у него требования), чтобы удовлетворять его требованиям лучше других (1). При этом, конечно, желательно понимать, что значит быть лучше других.
    2. Знать требования других субъектов, чтобы при изменениях сохранить возможность с ними взаимодействовать (2) и не вылететь из этой системы.
    1.2.5
    Как происходит развитие/усложнение? (Теория сложности)
    Человек не был бы человеком, если бы им для усложнения развития не придумал свою теорию. В Швейцарии существует отдельный институт, который занимается исследованием сложности. Мы с вами посмотрим только на один из основных аспектов этой теории, которая поможет нам лучше ориентироваться в мире создания информационных систем.
    Итак, теория сложности или Cynefin framework.

    Эволюция наших знаний в какой-то области и эволюция экосистемы всегда развивается по следующим четырем этапам.

    1. Все начинается с этапа хаоса. В этой ситуации взаимосвязи между различными действующими объектами, не определены, и мы не можем даже после того, как что-то сделали, понять, грубо говоря, как сделать, чтобы повторить необходимые результаты. И, соответственно, по мере исследования, изучения законов, по которым происходит взаимодействие объектов в соответствующей области, постепенно начинают появляться некоторые островки, вокруг которых происходит кристаллизация, и некоторые объекты знания.

    2. Ситуация Complex — это ситуация в которой работает исследование, в которой мы сначала делаем, потом проверяем и потом думаем. Соответственно, это ситуация, когда мы можем определить — какими законами определяется взаимодействие объектов уже после того, как у нас что-то получилось. К этой ситуации хорошо относится так называемый принцип "Что бы я был такой умный сейчас, как моя жена потом".

    3. Накопление знаний о различных областях приводит к формулированию законов, в которых мы понимаем четко, как между собой взаимосвязаны различные части, и конкуренция приводит к усложнению систем, которые мы создаем, к сложно взаимодействующим механизмам и системам. Ситуация знаний в области Complicated связана с тем, что мы сначала много раз можем подумать, проверить, что получится, и только потом сделать. Это является залогом успеха в ситуации Complicated.

    4. И следующий этап развития нашего взаимодействия — когда мы все элементы четко выстраиваем в взаимодействующие между собой компоненты, у нас появляется Simple, когда все очевидно, все понятно.Все так же просто, как решать квадратное уравнение, так же просто, как включить вилку в розетку.

    На что необходимо обратить внимание дополнительно.

    • Во-первых — это центральная область. Область, в которой происходит потеря управляемости ситуации. Вне зависимости от того, где мы находимся, в хаосе, в Complex'е, в Complicated, Simple, у нас возможен свал в потерю управления, в невозможность взаимодействовать и работать со средой. С точки зрения дарвинизма это означает летальный исход соответствующей экосистемы или индивида.

    • Во-вторых, следующим стандартным переходом при осуществлении изменений является переход Simple в Chaotic — в ситуации, когда произошли радикальные изменения среды, в которых действия прежних законов уже невозможны. Соответственно, мы можем говорить о том, что второй принцип дарвинизма, связанный с тем, что необходимо обеспечивать возможности приспособления к изменениям, связан с каждым из переходов. Из хаоса в Complex, из Complex'а в Complicated, из Complicated в Simple.

    1.2.6
    Теория сложности
    Для того, чтобы совместить понятия развития теории сложности и развития экосистемы с тем, как мы создаем системы, создаем технологии и становимся более профессиональными, можно сказать о том, что теория систем — это принцип, на основании которого происходит трансформация каждой из областей.

    Область Complex — это область, в которой осуществляются исследования. Мы больше изучаем среду, больше изучаем экосистему, чем осуществляем разработки. Соответственно, создавая ту или иную систему, мы создаем технологию или программу, которая делает для нашего пользователя некоторую часть работы со средой более простой или эффективной.

    При этом, как мы с вами говорили, поскольку информационная система является полностью детерминированной, естественно, внутренняя часть, программа — это всегда Complicated. То есть, это всегда среда, которая требует четко принятых решений. Как, какую информацию, куда мы кладем, откуда берем каждый кусочек информации.

    Программы, технологии не терпят неопределенности.
    Следующий этап, связан с так называемым овеществлением границ.

    Когда мы уже реализовали систему, мы можем развивать эту систему, дополняя в ней некоторые функции, элементы, усложняя ее и развивая, и, при отсутствии дополнительных элементов, которые бы изменяли границы системы, мы с вами получаем большую часть разработки (Development).

    Это область инженерных практик работы с Complicated системой и относительно небольшое количество исследований (research), связанных с Complex-средой.

    Для того, чтобы быть полностью честным и справедливым, необходимо всегда понимать, что когда мы говорим о взаимодействии пользователей с системой, там всегда есть аспект, связанный с неопределенностью или недетерминированностью поведения потенциального пользователя.

    У нас всегда существует Usability, всегда существует исследование взаимодействие пользователя и системы, и хотя у нас функции системы четко детерминированы и определены, всегда существует определенная зона неопределенности, в которой нам всегда требуются исследования на тему того, как сделать взаимодействие пользователя и системы лучше.
    Что происходит, когда мы начинаем усложнять систему? Если у нас с вами есть другая система, с которой осуществляется взаимодействие, то есть мы действительно перешли в состояние Complicated, когда нам необходимо осуществить взаимодействие или изменение на стыке двух систем, у нас с вами возникает большая проблема, связанная с возможной потерей контроля.

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

    Простейший пример, с которым мы все с вами неоднократно сталкивались — программа вдруг начинает вести себя неадекватно. Вы обновили телефон, вы обновили программу, возможно, даже не та программа, которой вы хотите пользоваться, но она вдруг перестает работать. И вот как раз эта ситуация, когда внезапно то, что работало для вас на протяжении нескольких иногда месяцев, иногда лет, вдруг перестало работать — это как раз и связано с потерей контроля, связано с тем, что кто-то не проработал требований или не учел требования по взаимодействию с другими системами.
    Итак, в современной методологии принято выделять два типа систем. Как ни парадоксально, в русском языке Complicated systems, принято называть комплексные системы. Complex систему принято называть живой.

    О чем идет речь?

    Живые системы — это системы, в которых невозможно предсказать детали поведения или результаты действий. При создании таких систем требуются большие объемы исследований и, при планировании нам необходимо ожидать изменения и отклонения, корректировать соответствующие планы. В этой области отлично работают Agile методологии, которые позволяют гибко реагировать на знания, которые мы получаем при реализации системы.

    Complicated-системы — это системы, которые должны работать в четком порядке по четко установленным принципам. К этой области относятся такие понятия, как 6Ϭ (сигма) и другие технологии, направленные на то, чтобы сократить, минимизировать количество отклонений от первоначального плана. Соответственно, чем более четко спроектирован этот тип систем, тем лучше.

    Парадокс информационных технологий состоит в том, что информационная система, осуществляющая взаимодействие человека с человеком, всегда является гибридной, то есть в ней есть программа, которая всегда является Complicated. То есть она требует инженерных решений, многократного проверки, многократного тестирования, чтобы она всегда функционировала так, как это было запланировано. И живой системы, к которой относятся люди, которые взаимодействуют с этой программой, и которая является неотъемлемой частью функционирования информационной системы.
    Итак, чтобы быть очень четким, живые системы, они растут постепенно, наращивая необходимые возможности. И у нас существует всегда возможность внутри зафиксированных границ постепенно наращивать функционал до тех пор, пока мы не начинаем изменять взаимодействие с другими системами. Комплексные системы всегда реализуются и проектируются поэтапно. Особенно в ситуации, когда у нас существуют несколько взаимодействующих между собой систем, для которых нам необходимо обеспечить согласованное развитие.
    Итоги урока
    Итак, подводя итоги темы об основных принципах, управляющих развитием и использованием информационных технологий, думая, как аналитик, или говоря о том, как сейчас думают digital эксперты, нужно понимать, что мы научились создавать системы, которые упаковывают сложность реализации и обеспечивают возможность изменений таким образом, чтобы не разрушить работоспособность экосистемы в целом.

    Системы, включающая в себя IT — информационные технологии — всегда содержат Complicated и Complex, так как работа должна быть передана на выполнение вычислительной системе.

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