Найти в Дзене

Системное мышление: как видеть связи и избегать катастроф (примеры и инструменты)

Это новая редакция статьи «Основы системного мышления 1.0». Она, конечно, не сделает вас счастливыми экспертами, но, возможно, даст более глубокое понимание темы, а еще расскажет о нескольких полезных инструментах. Конечно, когда первобытный человек создавал свой каменный топор, он не думал о том, что изготавливает первую искусственную (техническую) систему. Ему нужно было просто увеличить силу удара. Он взял условно: палку + камень + лиану (элементы), доработал их особым образом и соединил вместе (технология). И оказалось, что получившийся предмет способен рубить, дробить и даже внушать страх соседям (функция). Эх, помню, как в детстве пьяный сосед на даче гонялся за населением с таким вот огромным топором, а оно весело разбегалось. Потом приехала, тогда еще милиция, эффектно повязала агрессора и еще долго ходила по участкам, собирая про него имеющиеся байки. Вроде и чрезвычайное происшествие, а все, особенно подрастающее поколение, довольны — движуха, какое-то событие в сонном царств
Оглавление
Системное мышление: как видеть связи и избегать катастроф (примеры и инструменты)
Системное мышление: как видеть связи и избегать катастроф (примеры и инструменты)
Карточка статьи
Карточка статьи

Это новая редакция статьи «Основы системного мышления 1.0». Она, конечно, не сделает вас счастливыми экспертами, но, возможно, даст более глубокое понимание темы, а еще расскажет о нескольких полезных инструментах.

И снова ее величество Система

Конечно, когда первобытный человек создавал свой каменный топор, он не думал о том, что изготавливает первую искусственную (техническую) систему. Ему нужно было просто увеличить силу удара. Он взял условно: палку + камень + лиану (элементы), доработал их особым образом и соединил вместе (технология). И оказалось, что получившийся предмет способен рубить, дробить и даже внушать страх соседям (функция). Эх, помню, как в детстве пьяный сосед на даче гонялся за населением с таким вот огромным топором, а оно весело разбегалось. Потом приехала, тогда еще милиция, эффектно повязала агрессора и еще долго ходила по участкам, собирая про него имеющиеся байки. Вроде и чрезвычайное происшествие, а все, особенно подрастающее поколение, довольны — движуха, какое-то событие в сонном царстве изнывающего от жары садоводческого товарищества.

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

Между тем Архимед со своим «дайте мне точку опоры, и я переверну мир» косвенно указал на еще один аспект. Ведь говорил он про грузоподъемную систему, которая состоит из шарнирной точки опоры, стержня, груза в виде мира планеты Земля и одного Архимеда. В такой гипотетической конструкции результат будет определять не столько состав элементов, сколько их взаимодействие и действующие внутри силы. Ну вы понимаете, крайне условно.

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

Современное время выявило, что взаимодействие внутри этого зоопарка очень запутанное. Даже простой чайник может входить во множество надсистем (энергосеть → водоснабжение → рынок чая → поддержание бодрости → личная продуктивность → зарплата) и стать причиной какого-то трагического события на производстве (это вам не про отсутствие туалетной бумаги на одном из дочерних предприятий известного газового холдинга).

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

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

Неучтенное системное взаимодействие

Взять трагическую историю гибели буржуйского шаттла «Челленджер», которая случилась 28 января 1986 года. Космический корабль взорвался через 73 секунды после старта, экипаж погиб. Техническая причина аварии заключалась в отказе уплотнительного кольца (резиновой прокладки) в твердотопливном ускорителе. Данные ускорители состояли из секций, соединенных стальными хомутами, а стыки герметизировались этими самыми уплотнениями. По итогу раскаленные газы прожгли сначала крепление ускорителя, а затем оболочку внешнего топливного бака, воспламенили горючее и устроили гигантский взрыв.

Запуск состоялся при температуре минус два градуса Цельсия, а нижняя расчетная (системная) граница работы детали — плюс двенадцать градусов Цельсия. При анализе документации было выявлено, что данный отказ рассматривался в перечне возможных рисков запуска, но информация была проигнорирована менеджментом. Ещё до катастрофы в NASA знали, что уплотнительные кольца в твердотопливных ускорителях не всегда работают корректно, а именно при прошлых пусках наблюдались частичные повреждения колец из-за прорыва горячих газов. Однако шаттлы не взрывались. Инженеры неоднократно предупреждали о том, что резина при низких температурах теряет эластичность, но руководство в силу коммерческого статуса полета и внешнего давления (запуск уже несколько раз откладывали и новый перенос грозил потерей доверия у инвесторов) посчитала риск приемлемым. Вы хотите сказать, что мы должны отменить полёт из-за какой-то прокладки?

Если бы возобладал системный подход, то перед запуском должны были как минимум провести экспертизу на тему: «Что произойдет, если кольцо не сработает?». Как функционирование уплотнения влияет на работу всей системы в целом? Также следовало проанализировать имеющиеся надсистемы и оценить их степень влияния на ситуацию и управление проектом с точки зрения достижения требуемого результата. Например, насколько здоровой является ситуация, когда голос ответственных за техническое состояние объекта не учитывается при использовании данного состояния для успеха запуска космического корабля. Да, системный подход — это не только про схемы и чертежи, но и про человеческий фактор.

Главные принципы системного подхода

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

Отношения вместо объектов (или принцип целостности): система — это не сумма деталей, а их взаимодействие. Можно собрать какой угодно прекрасный мощный игровой персональный компьютер, но если его BIOS порезан или настроен неправильно, то тормозить будет даже «Сапер» с «Косынкой». Классический пример нарушения принципа инженерами, когда оптимизируют один параметр устройства согласно ТЗ (например, потребляемую электрическую мощность), не учитывая, что это критично скажется на других (мощности системы охлаждения — устройство просто сгорит). Ключевой вопрос тут: что мое изменение сломает в других частях системы?

Принцип иерархии, который гласит: любая система — часть надсистемы, а ее элементы — подсистемы. Так датчик температуры двигателя — это часть системы охлаждения — часть силовой установки — часть автомобиля — часть транспортной системы, которая перемещается по дорогам города с определенной скоростью. Почему это важно? Ну вот мы подбираем датчик для системы АСУТП, классный датчик, очень точный. И по итогу наша система не будет работать корректно, так как никто не учел, что его скорость изменения данных слишком медленная для конкретного технологического процесса. Очень важно перед началом работы над задачей рисовать контекстную диаграмму: какие системы входят в состав, какие работают рядом и что располагается сверху. Естественно, с указанием ключевых параметров.

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

Принцип эмерджентности: система делает то, чего не может ни одна её часть. Это снова про компоненты и их влияние друг на друга. Те же яйца, только в профиль. Когда мы выполняем пусконаладку системы, например, биотопливного котла, то испытав отдельно все его подсистемы (отдельно водоподготовку, топливоподачу, систему горения и парообразования, газовоздушный тракт и т. д.), вовсе не гарантируем, что агрегат в сборе обеспечит договорные гарантийные параметры. Нужны комплексная и режимные наладки. Это часто забывают, когда оно не прописано так явно в нормативных документах. Например, мой инженер после получения рекламации с пеной у рта доказывает, что у него в устройстве ошибок быть не может, это все они, он лично прозванивал цепи и даже один раз подал напряжение — и лампочки приветливо мигали. Потом же выясняется, что так как на испытательном стенде напряжение только однофазное, он его на одну (пусть по очереди) фазу ввода и подавал. А там оказался неправильно подключенный переключатель напряжения, который в момент проверки был в одном положении и цепи накоротко не замыкал. Когда на объекте все подключили и стали прощелкивать, то случился коротыш и цепь выгорела.

Что тут делать? Тестировать, тестировать и еще раз тестировать. И не только подсистемы и элементы, а их совместную работу в общем, хотя бы локально. Писать программы комплексных испытаний и внедрять везде, где можно. Не зря даже законодательные нововведения у нас вводят не сразу везде и всюду, а только в некоторых регионах, зато в полном объеме.

А еще сейчас много программных продуктов для моделирования.

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

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

Чётко определяйте интерфейсы между элементами системы и не лезьте внутрь без необходимости.

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

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

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

Еще одно следствие принципа — если в искусственной системе присутствует какой-то элемент, значит он выполняет или выполнял какую-то функцию. И перед тем, как начинать с элементом что-то делать, следует ее понять. На одном заводе в операторской за шкафом лежала палочка, такая деревяшка специальной формы. Говорили, что трогать нельзя — она очень нужная, то ли память о каком-то событии важном, то ли оберег. Уже сменилось поколение сотрудников, никто не мог уже точно сказать. Но по инерции не трогали. И тут случился останов производства. Его не останавливали до этого с десяток лет, эксплуатировали в хвост и в гриву, но тут было без вариантов. Остановить остановили, а запустить не смогли. Судорожно стали искать прежних сотрудников, кто разбирался что и почему. Вызвали с пенсии какую-то бабушку, что в стародавние времена работала. Вот она пришла, улыбнулась той палочке, как родной, взяла ее — куда-то в оборудование ее засунула, прижала что-то — и линия, а с ней завод запустился. Это мне главный инженер того завода рассказывал, сам говорит был в шоке.

Как данный принцип применять? Разрабатывайте диаграммы причинно-следственных связей (Causal Loop Diagrams). Это такие графы, где узлы — элементы системы, а стрелки — влияние («увеличивает», «блокирует», «зависит от»).

Пример диаграммы причинно-следственных связей из сети
Пример диаграммы причинно-следственных связей из сети

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

Человеческое мышление несовершенно

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

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

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

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

Дальше — гиперактивное объяснение (спонтанные гипотезы). Мозг постоянно генерирует (часто ошибочные) объяснения, лишь бы быстро дать ответ. Это полезно для выживания, когда любой шорох в кустах может оказаться хищником, но катастрофично для инженерии (да и обычной жизни). Сколько необдуманных действий совершается именно из-за скороспелых интерпретаций. Ваш сотрудник, такая редиска, не прислал в срок важный и срочный документ — его следует срочно покарать и лишить премии, но на самом деле он просто попал в больницу с приступом почечной колики. Системное мышление требует проверки любых гипотез через данные, а не интуицию. Должны быть использованы причинно-следственные цепочки для отделения зерен от плевел. Такой метод, например, показывает Морган Джонс в своей книге.

Матрица проверки гипотез по Моргану Джонсу «Решение проблем по методикам спецслужб» (С — существенный факт, П — противоречащий, Н — неоднозначный): первоначальный рейтинг всех гипотез и фактов
Матрица проверки гипотез по Моргану Джонсу «Решение проблем по методикам спецслужб» (С — существенный факт, П — противоречащий, Н — неоднозначный): первоначальный рейтинг всех гипотез и фактов
Матрица проверки гипотез по Моргану Джонсу «Решение проблем по методикам спецслужб» (С — существенный факт, П — противоречащий, Н — неоднозначный): матрица после исключения незначимых фактов и выделения существенных (способных оказывать влияние) для ситуации
Матрица проверки гипотез по Моргану Джонсу «Решение проблем по методикам спецслужб» (С — существенный факт, П — противоречащий, Н — неоднозначный): матрица после исключения незначимых фактов и выделения существенных (способных оказывать влияние) для ситуации

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

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

Мозг любит присваивать приоритет «удобным» гипотезам (предвзятость подтверждения). Мы бессознательно выбираем те объяснения, которые подтверждают наше мнение «я же говорил», требуют меньше усилий «итак сойдет, пусть будет нашей фичей». Вот так инженер игнорирует тревожные показания приборов, потому что раньше уже такое было и все закончилось хорошо.

Системное мышление вводит формальные процедуры, не выполнить которые себе дороже. И, конечно, заставляет рассматривать разные сценарии — «вот что будет, если гипотеза не верна, и оно как бахнет?».

Мозг старается избегать негативной информации (игнорирование обратной связи или эффект страуса), особенно если она требует пересмотра решений. Часто старается присвоить таковой статус незначимой для решения текущей задачи. Вот молодой инженер не хочет воспринимать указание, что ему надо переделать чертеж так, чтобы тот соответствовал ГОСТу. В ход идет нытье, что «оно все лишнее», не мешает понять техническое решение и вообще вы придираетесь, потому что я черный. Между тем руководитель точно знает, что заказчик формалист и не будет принимать документацию, оформленную иным способом.

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

Мозг любит простые причинно-следственные связи. Ну там — телевизор не работает потому, что на соседней улице продажные чиновники поставили вышку сотовой связи — 5G не иначе. Однако, в реальных системах все куда сложнее, а еще они нелинейны. Так прокладка, стоимостью в два доллара, погубила шаттл за много миллионов вечнозеленых американских президентов. Помните, что 20% процентов усилий дают 100% результата? За крушением самолета могут скрываться десятки причин, каждая из которых по отдельности не привела бы к несчастью — сериал расследования авиакатастроф не даст соврать.

Системное мышление предлагает использовать нелинейные модели, использовать симуляции и стресс-тесты для проверки самых «неочевидных» сценариев.

Системное мышление

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

Линейное мышление против системного мышления
Линейное мышление против системного мышления
Противопоставление линейного системному мышлению: каждое имеет право на жизнь для решения своих задач (сравнение с просторов Интернета)
Противопоставление линейного системному мышлению: каждое имеет право на жизнь для решения своих задач (сравнение с просторов Интернета)

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

  1. Уметь анализировать целое и раскладывать его на значимые (концентрация на главном) для задачи составные части, а также видеть (выделять) иерархию.
  2. Уметь видеть (устанавливать) максимальное количество прямых и косвенных связей между частями, целыми (предметами и явлениями).
  3. Уметь абстрагироваться от частностей предмета рассмотрения, выявляя глубинные связи и закономерности между ними (фильтровать их по значимости для задачи).
  4. Уметь объединять разрозненные части в целое и видеть эмерджентное свойство, в том числе путем моделирования системы.
  5. Уметь прогнозировать изменение состояния системы (поведения системы по схеме «если, то») с постоянным уточнением прогноза на основании обратной связи.
  6. Уметь видеть границы системы — где заканчивается рассматриваемая система и начинается внешняя среда (для электромобиля система включает не только батарею, но и сеть зарядных станций).
  7. Уметь признавать и работать с неопределенностью, действовать в условиях неполных данных, проектировать системы устойчивые к неизвестным воздействиям.
  8. Уметь учитывать временной фактор, то, что любая система эволюционирует.

Через тернии к звездам

Системный анализ — это не панацея, а компетенция, инструмент, позволяющий:

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

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

  • что мы еще должны знать о системах;
  • как выбирать границы системы для разных типов задач;
  • рабочие методики системного анализа — от простых чек-листов до сложного моделирования.

А пока — попробуйте применить базовые принципы к вашему текущему окружению и проекту. Какие элементы вы раньше не рассматривали как часть системы? Какие системные ошибки видите? Это интересно обсудить в комментариях.

Ознакомиться с содержанием журнала.

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

ПРЕДУПРЕЖДЕНИЕ №1: Оценки, суждения и предложения по рассматриваемым вопросам являются личным мнением автора.

ПРЕДУПРЕЖДЕНИЕ №2: Техническая информация, представленная на сайте, не является официальной и предоставлена только в целях ознакомления. Владелец сайта не несет никакой ответственности за риски, связанные с использованием информации, полученной из данного источника.

Все изображения, если не указано иное, либо выполнены автором, либо взяты из открытых источников.