Мышление в системах

May 01 2023
«Системное мышление» много лет назад познакомило меня с системным мышлением, которое изменило мое мировоззрение и сформировало некоторые из моих взглядов на решение проблем. Этот менталитет выходит за рамки обычного использования слова «системы» в качестве существительного, знакомого разработчикам программного обеспечения в контексте программирования или распределенных систем.

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

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

Из систем :

Как узнать, смотрите ли вы на систему или просто на кучу вещей:

А) Можете ли вы идентифицировать части?

Б) Влияют ли части друг на друга?

C) Производят ли части вместе эффект, отличный от эффекта каждой части по отдельности?

D) Сохраняется ли эффект, поведение с течением времени в различных обстоятельствах?

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

Например, часто бывает так, что инженеры сталкиваются с «плохим кодом» и поспешно заключают, что плохой код был создан «плохим инженером». Однако системный мыслитель может пойти дальше:

Почему был зафиксирован плохой код? (Команда продюсеров была вынуждена отправить товар быстро)

Почему команда решила срезать углы, а не отодвигать сроки и придерживаться стандартов? (Команда потеряла всех своих старших инженеров)

Почему команда потеряла всех своих старших или опытных талантов? (Они чувствовали недостаток доверия, потому что их попытки дать отпор в прошлом были отвергнуты)

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

Почему организация не справилась? (Слишком большой технический долг и «плохой код» затрудняют итерацию кодовой базы для команд)

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

Некоторые читатели уподобят этот мыслительный процесс методу расследования «5 почему» , часто используемому для анализа первопричин инцидента . RCA - это практическое применение системного мышления, которое пытается раскрыть единственную причину нарушения в системе. Опять же из книги:

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

1) Все, что, как мы думаем, мы знаем о мире, является моделью.

2) Наши модели обычно имеют сильную конгруэнтность с миром

3) Наши модели не полностью отображают мир.

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

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