Инженерия (первый подраздел первого раздела курса "Системная инженерия")
Проект переписки "Системной инженерии" потихоньку движется. По традиции привожу переписанный первый подраздел "Инженерия" первого раздела "Безмасштабная эволюционная системная инженерия". В первом разделе, как обычно -- общие соображения по предмету, показывающие его связи с другими предметами. Следующий там подраздел -- "Системность инженерии как задающая её безмасштабность и эволюционность", затем "Инженерия и эволюция", затем "Этические/политические проблемы эволюции, которые можно решать инженерно", отношения инженерии с наукой и т.д. Публиковать переписанный курс буду пораздельно. Пока переписано немного, 9%.ИнженерияИнженерия — это культура изменения физического мира к лучшему, подразумевающая рациональное принятие решений в ходе этих изменений:• Рациональное принятие решений – это отсутствие симпатической магии [1] , то есть действий с моделями/описаниями и верой в то, что реальность как-то сама отразит изменение этих описаний, отсутствие упований на «дружественную вселенную» или «злых духов». Подробно про рациональность было в курсе «Рациональная работа».• По факту «изменение физического мира» означает или создание и развитие каких-то новых, ранее не существовавших систем, или развитие (изменение свойств/traits/features) каких-то уже существующих систем. Важно, что системы – это часть физического мира. Если физический мир в ходе инженерного проекта в конечном итоге не меняется – то это не инженерный проект, его можно не делать, физический мир ведь всё равно не изменится! Иногда «изменение» систем в проекте означает и уничтожение, если это как-то меняет мир к лучшему. Подробно про системы было в курсе «Системное мышление».• Культура – это следование методу работ, который общий для какого-то сообщества. Наш курс «Системная инженерия» как раз про типовое разложение инженерной культуры на составляющие её культуры/методы/практики/стили (синонимов тут много). Подробно про культуры/методы работы было в курсе «Методология».Как понимается «изменение к лучшему»? Тут есть несколько вариантов, отвечающих на разные интересы/concerns:• Изменения к лучшему – оценку того, «к лучшему» или «к худшему» эти изменения, даёт этика. Этика – это фундаментальный метод мышления, входящий в интеллект-стек (по этике есть отдельный раздел в курсе «Интеллект-стек»). Выполняется этот метод ролью совести. Простых ответов не будет, ибо современная системная этика учитывает конфликты между множеством системных уровней: что для клеток печени «мы растём!», то для организма «рак печени».• Изменения к лучшему — это часть культурной/техно-эволюции, часть бесконечного развития цивилизации, часть процесса деятельного (изменяющего мир!) познания, тем самым он не заканчивается разовым проведением какой-то одной системы по жизненному циклу, а непрерывно вводит в эксплуатацию новые и новые изменения, ввод в эксплуатацию непрерывен/continuous, он не происходит один раз за время проекта, это не «водопад» для одного организма (development), а эволюция для технического вида/species с необходимым внутривидовым разнообразием и даже порождением новых видов. Неважно, сколько там было организмов в ходе эволюции: один с заменяемыми частями, или множество последовательных. В инженерии, как и биологической эволюции, доступны множество «почти одинаково выгодных» решений, выгода всегда многоуровневая, ухудшения в выживаемости систем часты, нейтральные решения более редки, крупные улучшения в выживаемости встречаются очень редко. Тут, правда, есть оговорка: эволюция не всегда ведёт к «прогрессу», «к лучшему» в абсолютном смысле, независимо от места и времени. В eco-evo-devo (экологической эволюционной биологии развития) понятие «прогресс» обычно не понимается в терминах универсального или неотъемлемого улучшения в направлении к предопределённой глобальной/абсолютной цели – если сейчас надо спасаться от холода, то приобретение печки сегодня будет полезно, а если завтра наступит жара, или даже сегодня, но при переезде в другое место – эта же печка окажется вредной. Современное понимание эволюционной оптимизации подразумевает, что «прогресс» можно описать как увеличение сложности, разнообразия или интеграции в некоторых «родословных» систем, но эти изменения не обязательно «лучше» независимо от места и времени. Они лучше только относительно определенных сред или проблем, «здесь и сейчас» или «там и тогда». «Изменения» тем самым не является универсально полезными, универсальными «к лучшему», они не представляют движение к единому идеальному состоянию, но они могут быть выгодными в текущем окружении развиваемой системы.• Изменения к лучшему — это действия по минимизации свободной энергии целевой системы и/или её надсистемы, согласно теории деятельного рассуждения (active inference). Эта минимизация «свободной энергии» сводится к минимизации неприятных «сюрпризов» типа «система разрушилась и рассеялась в окружающей среде». Другой вариант того же рассуждения про минимизацию свободной энергии – это многоуровневые эволюционные оптимизации инженерных систем, отражающи
Инженерия
Инженерия — это культура изменения физического мира к лучшему, подразумевающая рациональное принятие решений в ходе этих изменений:
• Рациональное принятие решений – это отсутствие симпатической магии [1] , то есть действий с моделями/описаниями и верой в то, что реальность как-то сама отразит изменение этих описаний, отсутствие упований на «дружественную вселенную» или «злых духов». Подробно про рациональность было в курсе «Рациональная работа».
• По факту «изменение физического мира» означает или создание и развитие каких-то новых, ранее не существовавших систем, или развитие (изменение свойств/traits/features) каких-то уже существующих систем. Важно, что системы – это часть физического мира. Если физический мир в ходе инженерного проекта в конечном итоге не меняется – то это не инженерный проект, его можно не делать, физический мир ведь всё равно не изменится! Иногда «изменение» систем в проекте означает и уничтожение, если это как-то меняет мир к лучшему. Подробно про системы было в курсе «Системное мышление».
• Культура – это следование методу работ, который общий для какого-то сообщества. Наш курс «Системная инженерия» как раз про типовое разложение инженерной культуры на составляющие её культуры/методы/практики/стили (синонимов тут много). Подробно про культуры/методы работы было в курсе «Методология».
Как понимается «изменение к лучшему»? Тут есть несколько вариантов, отвечающих на разные интересы/concerns:
• Изменения к лучшему – оценку того, «к лучшему» или «к худшему» эти изменения, даёт этика. Этика – это фундаментальный метод мышления, входящий в интеллект-стек (по этике есть отдельный раздел в курсе «Интеллект-стек»). Выполняется этот метод ролью совести. Простых ответов не будет, ибо современная системная этика учитывает конфликты между множеством системных уровней: что для клеток печени «мы растём!», то для организма «рак печени».
• Изменения к лучшему — это часть культурной/техно-эволюции, часть бесконечного развития цивилизации, часть процесса деятельного (изменяющего мир!) познания, тем самым он не заканчивается разовым проведением какой-то одной системы по жизненному циклу, а непрерывно вводит в эксплуатацию новые и новые изменения, ввод в эксплуатацию непрерывен/continuous, он не происходит один раз за время проекта, это не «водопад» для одного организма (development), а эволюция для технического вида/species с необходимым внутривидовым разнообразием и даже порождением новых видов. Неважно, сколько там было организмов в ходе эволюции: один с заменяемыми частями, или множество последовательных. В инженерии, как и биологической эволюции, доступны множество «почти одинаково выгодных» решений, выгода всегда многоуровневая, ухудшения в выживаемости систем часты, нейтральные решения более редки, крупные улучшения в выживаемости встречаются очень редко. Тут, правда, есть оговорка: эволюция не всегда ведёт к «прогрессу», «к лучшему» в абсолютном смысле, независимо от места и времени. В eco-evo-devo (экологической эволюционной биологии развития) понятие «прогресс» обычно не понимается в терминах универсального или неотъемлемого улучшения в направлении к предопределённой глобальной/абсолютной цели – если сейчас надо спасаться от холода, то приобретение печки сегодня будет полезно, а если завтра наступит жара, или даже сегодня, но при переезде в другое место – эта же печка окажется вредной. Современное понимание эволюционной оптимизации подразумевает, что «прогресс» можно описать как увеличение сложности, разнообразия или интеграции в некоторых «родословных» систем, но эти изменения не обязательно «лучше» независимо от места и времени. Они лучше только относительно определенных сред или проблем, «здесь и сейчас» или «там и тогда». «Изменения» тем самым не является универсально полезными, универсальными «к лучшему», они не представляют движение к единому идеальному состоянию, но они могут быть выгодными в текущем окружении развиваемой системы.
• Изменения к лучшему — это действия по минимизации свободной энергии целевой системы и/или её надсистемы, согласно теории деятельного рассуждения (active inference). Эта минимизация «свободной энергии» сводится к минимизации неприятных «сюрпризов» типа «система разрушилась и рассеялась в окружающей среде». Другой вариант того же рассуждения про минимизацию свободной энергии – это многоуровневые эволюционные оптимизации инженерных систем, отражающие неустроенности/frustrations от конфликтов между системными уровнями (было более подробно рассмотрено в курсе системного мышления). В ходе развития системы неизбежно будут оставаться и даже множиться (эволюционный рост сложности, увеличение числа системных уровней!) неустроенности в целевых системах, и приходится снова и снова инженерно/деятельно/практично решать сложную оптимизационную задачу на многих системных уровнях, опять всё упирается в эволюцию системы и сопутствующую эволюцию графа создания системы. Ключевое «к лучшему» тут — это более длительные сроки удержания целостности какой-то системы за счёт адаптации (постоянных изменений состояния этой системы перед лицом много превосходящих внешних воздействий). Грубо говоря, «к лучшему» — это когда меньше ожидания незапланированного разрушения системы, меньше байесовских неприятных «сюрпризов» типа «тебя съели», «ты умер от голода», «ты не смог размножиться». Конечно, это просто метафора для инженерных систем, но спросите у серийных предпринимателей, насколько они воспринимают такие высказывания как метафоры по отношению к их бизнесам по изменению мира к лучшему, и вы поймёте, что в каждой шутке есть доля шутки. Про эту долю шутки мы ещё не раз вспомним в этом курсе.
• Изменения к лучшему в экономике – это изменения, которые приносят максимальную пользу владельцам развиваемой системы. Value/utility переводим как «польза», ответы на вопрос «ценна ли твоя система» и «полезна ли твоя система» обычно сильно различаются: все системы чем-то ценны, но мало систем полезны. Максимизация пользы для владельцев целевых систем приводит к обмену ими своих ресурсов на эту пользу (субъективная теория полезности [2]) при этом граф создателей получает от них достаточно ресурсов, чтобы создатели поддерживали собственное существование.
Конечно, есть и множество других вариантов понимания «к лучшему», но мы ограничимся этими, добавив ещё специфический системноинженерный вариант создания и развития «успешных систем» как соответствующей ожиданиям самых разных проектных ролей. Главное, что все эти понимания «к лучшему» или «успешности» предусматривают физические изменения в мире как конечный результат (появление, изменение или исчезновение какой-то системы или целого ряда систем), а также указание на то, что это изменение было «к лучшему» или «успешно», то есть достигнуты какие-то оптимальные характеристики системы, а не произошли какие-то случайные изменения ради изменений. Рациональность работы в инженерных проектах в том, что решения проекта ведут «к лучшему миру» и к «успешным системам», а не ведут «куда-нибудь».
Современная (SoTA, state-of-the-art, лучшая из известных на сегодняшний момент, и именно о такой мы будем говорить в нашем курсе) инженерия является системной, ибо её методы опираются на системное мышление в его третьем поколении. Всё это «движение к гибкости/agile» -- это просто отражение постепенных изменений системного мышления, которое в конечном итоге привело в его третьем поколении к восприятию неэргодических (то есть с памятью) физических систем в том числе и в эволюционном масштабе времени. Напомним, что учёт графа создателей (системы не сами себя делают, как живые организмы) – это второе поколение, а в первом поколении царил экологический подход – рассматривались только системы в их окружении/среде (и внимание к окружению/среде какой-то системы часто подавалось как «экология»).
Эволюционирующий усложняющийся мир может рассматриваться, как в биологии – «сам себя эволюционирует», как целое, «я сам себя почесал». Но можно рассматривать этот мир так, что одни системы-создатели в нём развивают другие системы, которые в свою очередь будут системами-создателями, «моя правая рука под управлением моего мозга почесала левую руку», никакого запутывающего «само». Тогда мы можем предположить, что какие-то из этих агентов-создателей достаточно интеллектуальны, чтобы их мышление было рационально, в том числе системно в части моделирования мира и принятия решений – они и будут инженерами, практикующими инженерную культуру изменения мира к лучшему.
Создаваемые инженерами системы в таком быстро меняющемся в ходе (био, культурной, техно) эволюции мире имеют много системных уровней, число которых непрерывно растёт. Системы разных видов/species (включая технические системы, включая биологические системы, в том числе и сложные – вроде биогеоценозов) на каждом из этих уровней требуют каких-то особых методов работы для их создания и развития. Так, с созданием генно-модифицированных свиней работают не так, как с созданием людей — хотя в части генетики они очень похожи. Создание пастбища отличается от создания города, хотя это «участки земной поверхности».
Согласно приведённому определению, SoTA инженерия должна быть системной и не просто многоуровневой, но и безмасштабной (вообще не привязанной к каким-то уровням, «ренормализуемой» -- с одинаковой математикой, применимой ко всем уровням), и эволюционной (в инженерии иногда говорят «непрерывной», continuous):
• Безмасштабность (общность основных положений инженерии для всех возможных масштабов, отсутствие указаний на масштаб систем) гарантирует, что инженеры (рационально мыслящие и действующие создатели) не остановятся в своей оптимизации мира «к лучшему» на границе какого-то масштаба. Это в системной инженерии называют «рекурсивным применением системной инженерии», одно и то же мышление для систем разных системных уровней (разных масштабов). Безмасштабность означает, что инженеры (которые, конечно, не будут называться инженерами, а будут называться самыми разными другими ролями в зависимости от вида систем и специализации – но нас тут интересует то, что они меняют мир к лучшему на основе рационального и системного мышления) не изменят личность так, что от этого развалится общество, не сделают киберфизическую систему такую, что она уничтожит всё живое в радиусе трёх километров. Нет, они любую систему рассматривают в контексте её системного окружения, причём не забывают это рассмотрение доводить до времени эксплуатации. Можете подумать о том, как по-разному аргументировали это безмасштабное «изменить мир к лучшему» инженеры, создававшие атомную бомбу, на каком уровне они останавливали свои рассуждения, примат какого системного уровня (уровня сложности) был у них в голове — вещества, киберфизической системы, существа, личности, организации, сообщества, общества, человечества? Функциональную ли они рассматривали иерархию, или конструктивную? Или речь идёт о геополитике, то есть примат был в пространственном, территориальном разбиении?
• Эволюционность (непрерывность, «continuous everything» в agile методологиях разработки) означает, что каждое изменение системы её создателями («умная мутация» [3]) в порядке попытки оптимизации под непрерывно изменяющееся понимание ситуации использования системы и ситуации создания и развития системы не будет разовым. Поток этих инженерных изменений («умных мутаций» в эволюции системы), влияющих на успешность системы в условиях непрерывного изменения ситуации с потребностями проектных ролей, будет в проекте нескончаем. Текущая успешность системы будет непрерывно отслеживаться во времени командой проекта, а не удостоверяться разово на момент единичного за время жизни системы ввода в эксплуатацию. Эволюционность (в инженерии это «continuous everything» с акцентом на непрерывный ввод в эксплуатацию, continuous delivery) означает, что одно разовое создание экземпляра или серии системы вряд ли возможно, и нужно непрерывно подстраивать систему-как-вид/species под стремительно меняющееся окружение, непрерывно вводить в эксплуатацию всё новые и новые «фичи», менять характеристики/traits как результат «умных мутаций». Какие-то из этих новых фич позволят системе выжить среди систем-конкурентов, какие-то окажутся ненужными и временными, но непрерывность означает, что инженерия не разово делает системы, а evolve/«эволюционирует» их. По-русски это лучше будет говорить «развивает» (ибо «выращивает» сложно говорить про какой-нибудь ледокол-атомоход, но можно сказать, что этот ледокол-атомоход развивается. Впрочем, идея эволюционности/непрерывности инженерии до атомоходов ещё не дошла, её мы больше наблюдаем на примере программного обеспечения. Посмотрите, как часто обновляется Windows или даже BIOS в вашем ноутбуке, как часто обновляется модель LLM у провайдера вашего AI-чата). Но вот до космических кораблей эта идея уже дошла, большинство космических компаний уже выпускают каждый новый экземпляр ракеты с улучшениями конструкции и программного обеспечения.
Альтернативная, более простая формулировка инженерии — это создание успешных систем (было подробно разобрано в курсе «Системное мышление»). Успешность системы определяется как соответствие её ожиданиям внешних проектных ролей (stakeholders), которых множество самых разных. Успешность системы для её оценки сразу ведёт к безмасштабному (на многих уровнях) рассмотрению, ибо для систем на разных системных уровнях будут находиться разные проектные роли. А ещё ожидания этих ролей по поводу системы динамичны, так что систему надо будет непрерывно менять, чтобы она оставалась успешной – надо систему непрерывно эволюционировать/адаптировать/модернизировать/развивать/обновлять (используют по факту все синонимы).
Определение системной инженерии через создание и развитие (если не «с нуля»/greenfield, а просто изменение каких-то систем, brownfield, то и просто «развитие», без создания) успешных систем более традиционно и основывается на классических рассмотрениях проектов системной инженерии, ведущихся ещё со второго поколения системного подхода (с 80х годов прошлого века). Если команда проекта всех договорила между собой (с учётом соображений безопасности и того, кого считать врагом, а кого считать другом и клиентом) и продолжает договаривать всё время существования системы, то система успешна. Обратите внимание на формулировку: не «договорилась со всеми», а «всех договорила».
Если всех не договорили и при изменениях ситуации не успевают передоговаривать (непрерывное передоговаривание, а не разовое) — система оказывается не успешна. Тут по факту тоже оптимизационная задача, но рассмотрение не столько многоуровневое/безмасштабное системное, сколько методологическое/культурное по линии разнообразия ролей, предметов их интереса и интересов в этих предметах, а также выходящее за рамки одного жизненного цикла техноэволюционное рассмотрение.
Успешность системы» — в разы более конкретный критерий, чем абстрактное «изменение мира к лучшему»: «если все внешние проектные роли, которые мы выявили, непрерывно соглашаются с ходом и результатами проекта, то это и означает, что мы мир изменяем к лучшему — наша система непрерывно успешна».
Классическая системная инженерия ещё несколько лет назад выкинула бы отсылку к эволюции, слово «непрерывно», ибо в головах системных инженеров прошлого система изготавливалась однократно, и больше не менялась по ходу эксплуатации, не нужно дальше никого договаривать вокруг системы и её графа создателей, не нужно дальше менять систему. Модернизации системы, конечно, предусматривались, но они были абсолютно автономными: тоже разовыми проектами, а не частью непрерывно ведущейся инженерии. Ближе тут, конечно, была концепция апгрейда (например, апгрейд компьютеров, который был популярен в 90е годы прошлого века [4]). Но это была «инженерия пользователя» для редкого класса систем, а не штатный способ организации инженерной деятельности. В телефонах наоборот: апгрейд аппаратный был запрещён (невытаскиваемая батарейка, отсутствие слота для внешней памяти), зато расцвёл апгрейд прошивок и апгрейд приложений. Телефон перестал быть неизменяемым объектом, даже когда попадал к покупателю. Это, конечно, создаёт и множество проблем (чей это теперь телефон, если его купили, но продавец продолжает его «производить» -- обновлять и модернизировать? Ответ не такой очевидный [5]). Автомобиль Tesla стал программно-аппаратным комплексом, который регулярно обновляется в программной части.
Но тут кроется и много проблем: разработка обычно центрируется на поведении целевой системы в её непосредственном системном окружении, то есть главным образом на двух системных уровнях. Если в таком подходе разрабатывается киберфизическая система, то могут не учитываться соображения более высоких системных/эволюционных уровней — включая уровни бизнес-экосистемы (бизнес-сообщества), общества, человечества.
Необязательно речь об оружии, где мнение противника о том, что считать «успешным оружием» или «успешным боевым подразделением», заведомо будет учтено с обратным знаком. Например, представьте какую-нибудь «социальную сеть»::система или «новостной портал»::система, и влияние этих по СМИ на «общество в целом»::система. Как учесть такое влияние, кто из внешних и внутренних проектных ролей этим влиянием озабочен? И речь тут даже может идти не о том, что СМИ могут распространять вредные и полезные идеи – одновременно, и непонятно будет, больше от них зла или пользы (запреты соцсетей чаще всего связаны с предположением, что даже малое количество источников даже умеренно вредных идей перекрывает всю пользу от во много раз большего числа источников существенно полезных идей, при этом вредность идей может очень по-разному оцениваться чиновниками разных стран). Всё может быть и проще, ибо идеал для таких сервисов — это максимизация времени пребывания на этом портале всех, кто туда зачем-то зайдёт, алгоритмы настроены именно на это. И эти алгоритмы постоянно перенастраиваются по мере изменения интересов широкой публики, чтобы никто от этой максимизации не убежал (инженерия непрерывна).
Но полезно ли это для общества в целом? Сутками «тупить в вконтакт/тикток/телеграм» хорошо ли для личности, сообщества, общества, человечества? А ведь именно длительность времени «тупления в соцсеть/портал» будет критерием успешности разработчиков соцсети/портала и акционеров фирмы-провайдера соцсети/портала как успешного сервиса по возможности «тупить» и потреблять при этом рекламу вместо чего-то полезного (да и что тут будет «полезным»?). И искусство пиара/пропаганды тут подсказать клиентам сети/портала, что «тупление в соцсетях» надо называть «развлечением и отдыхом», так называемый «рефрейминг», переформулирование зла в добро. Потом оказывается, что почему-то алгоритмы для увеличения времени просмотра подсовывают не трудные научные статьи, а ровно наоборот – хлёсткие фейки.
Могут не учитываться соображения внешних проектных ролей и по более низким системным уровням, чем уровень целевой системы (то есть уровней подсистемы целевой системы). Если это идеологический геополитический (читай: «военный») или религиозный проект, то вполне может зайти речь об игнорировании интересов огромного числа обычных граждан — их жизни могут приносить в жертву каким-то геополитическим или религиозным целям. «Обществу» или «сообществу» будет ой как хорошо (например, какое-то общество выиграет в войне), но вот нескольким миллионам человек этого общества вдруг может оказаться ой как плохо по сравнению с вариантом без войны, но они будут проигнорированы, ибо геополитические или религиозные проекты принципиально не работают с масштабом отдельных людей! А потом пройдёт немного времени, и мнения людей поменяются – то, что считалось успехом, будет считаться большой ошибкой. Принесение в жертву людей «ради всего хорошего» вдруг окажется принесением в жертву «по трагической ошибке»: «хотели как лучше, получилось как всегда».
Этот критерий «успешности» конкретней, чем «к лучшему», но список недостатков можно продолжать и продолжать: у каждой проектной роли может быть множество интересов, часть из которых может быть удовлетворена, а часть – нет, поэтому роли могут быть «частично удовлетворёнными», а ещё не все проектные роли обычно выявляют и интересуются тем, как система вместе с её графом создателей (проблемы могут быть даже не в целевой системе, а в какой-то системе из графа создателей – например, экологам может нравиться целевая система, но не нравиться загрязнение окружающей среды производящим эту целевую систему заводом) удовлетворяет ожиданиям. Опять же, всегда можно найти политически озабоченные роли, удовлетворить которые будет невозможно, так что чисто формально никакая система не может стать полностью успешной, можно говорить о какой-то шкале успешности, но не о бинарной характеристике. Можно даже обсуждать: успешность тут кардиналистская (можно получить оценку в каких-то единицах, например, процентах от 0% до 100%), или ординалистская (численной оценки дать нельзя, но можно определить, что одна система успешней другой). Можно говорить о том, что успешность – это не скалярная, а векторная величина, она многомерна.
Литература:
[1] https://ailev.livejournal.com/1644996.html
[2] https://ru.wikipedia.org/wiki/Теория_субъективной_ожидаемой_полезности и https://ru.wikipedia.org/wiki/Теория_ожидаемой_полезности, https://ru.wikipedia.org/wiki/Ординалистская_теория_полезности, https://ru.wikipedia.org/wiki/Кардиналистская_теория_полезности, https://ru.wikipedia.org/wiki/Предельная_полезность. Вполне могут переводить сегодня и «ценность», при этом понимание на русском будет хуже. Вот сравните: «добавленная ценность» и «добавленная полезность» — первое непонятно как понимать, а второе — вполне понятно. В английском бывает https://dictionary.apa.org/subjective-expected-value, но запросто будет и https://en.wikipedia.org/wiki/Subjective_expected_utility. В принципе, нюансы использования value — «общее ощущение», а utility — «структурированная оценка в моделях и теориях».
[3] Smart mutation – не случайные, а алгоритмически наиболее вероятно ведущих к лучшему, из https://arxiv.org/abs/1709.00268 или https://arxiv.org/abs/2206.08896
[4] https://old.computerra.ru/1998/272/194651/
[5] https://ailev.livejournal.com/1106188.html, это текст ещё 2014 года. События 2022 года показали, что в этом мире «непрерывной разработки» отключить миллионы людей от пользования самыми разными системами стало не просто легко, а очень легко.
На картинке -- "аллегория инженерии", в курсе её нет, это эксклюзив для блога.