Skip to content

Системность инженерии как задающая её безмасштабность и эволюционность

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

  • Изменение мира к лучшему происходит путём эволюции/развития/адаптации систем на многих системных уровнях, выделяемых по отношению «часть-целое» несколькими разными способами в момент эксплуатации, это тезис первого поколения системного мышления.
  • Методы создания систем (во втором поколении системного мышления появились создатели системы в разных ролях, они работают по разным методам) на разных системных уровнях разные, у них даже могут меняться имена. Если «железную» деталь-подсистему «изготавливают», то мастерство как подсистему личности человека (или даже робота, у которого набор его мастерств недостаточен для признания личностью) «обучают» или его «осваивают» (в зависимости от референтного индекса: внешней или внутренней позиции восприятия, у детали ведь нет внутренней позиции восприятия, а у человека есть, у робота — можно уже обсуждать, там «философская серая зона»). В любом случае, это методы целенаправленного развития какой-то системы — изменения физического мира «к лучшему».
  • Третье поколение системного мышления говорит, что однократным созданием системы в рамках «жизненного цикла» дело не обходится, процесс разработки оказывается эволюционным/непрерывным, это часть со-эволюции технического мира. Непрерывно оптимизируем конструкцию системы и подстраиваем её функции, чтобы как-то адаптироваться к непрерывно меняющемуся окружению. А ещё непрерывно оптимизируем системы в графе создателей, чтобы адаптироваться к непрерывно меняющейся целевой системе и непрерывно меняющемуся инженерному процессу её развития.

Если принять эти положения в полной мере, то системная инженерия будет безмасштабна/scaleless/scale-free: не зависеть от масштаба/размера систем, эволюционного системного уровня. Термин этот идёт из физики, иногда об этом говорят как многомасштабность/multiscale, но это менее точно: применимость ко всем масштабам (безмасштабность) — это вовсе не учёт только нескольких выделенных заранее масштабов, но отсутствие привязки к масштабу в рассуждениях. Иногда в физике эту «безмасштабность рассмотрения» относят к использованию одного и того же математического аппарата, ренормализации[1].

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

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

В нашем руководстве мы довольно грубо и почти произвольно в методических/учебных целях определяем уровни этого системноинженерного/эволюционного стека физических масштабов как (от более крупных к более мелким масштабам):

  • В****селенная (пока разговоры об инженерии для вселенной в целом носят сугубо теоретический характер, а ещё ведь есть и концепция «мультиверса», как множественности миров. Но приводим тут как предельный масштаб/размер)
  • Ц****ивилизации в целом**, инопланетные и человечество** (тут тоже чисто гипотетическая инженерия, уровень привели только для того, чтобы лучше показать принцип выделения уровней по отношению часть-целое)
  • Ч****еловечество — мы тут одни на маленьком одном глобусе (хотя есть мысли уже насчёт Марса), и неплохо бы изменить всё человечество к лучшему (в том числе защитить от астероидных опасностей, вымирания от техногенных катастроф, барьеров роста из-за ограничений в экологии и т.д.). Конечно, никто не может похвастаться тем, что занимается инженерией человечества, хотя желающих — хоть отбавляй.
  • О****бщество — каталлактическая самоорганизация по фон Хайеку[2] (не знаем контрагентов в лицо, ибо их слишком много, не знаем интересов этих контрагентов, ибо они могут занимать самые разные роли), но общество в целом тоже может быть достаточно организованным и некаталлактически (то есть через силовые органы власти как организации с понятным подчинением принуждать всех остальных исполнять приказы нескольких человек), чтобы выставлять границы на свою территорию и противодействовать своему исчезновению при агрессивных изменениях окружения (скажем, войны с другими обществами) или изменениях в своей организации (скажем, захват власти религиозным фанатиком или диктатором и последующая сознательная или даже неосознаваемая их работа по уничтожению этого общества в силу каких-то иррациональных убеждений). Желающих заняться инженерий обществ много, они отчаянно конкурируют друг с другом, цели их часто прямо противоположны. Поэтому говорить об инженерии общества (социальной инженерии) трудно: влиять как-то можно, но уж точно нельзя предсказать результаты этого влияния.
  • С****ообщество (людей) —community, community of practice[3] (CoP, сообщество практики), learned society[4] (наученных создателей, не учёных!), school of thought[5] («незримый колледж») из википедии: все говорят о том, что речь идёт о группе агентов, имеющих общую культуру (метод, мастерством выполнения которого владеют все в этом сообществе). Можно говорить и о племени (очень модно!), и о «муниципальном образовании» типа «деревня, где все друг друга знают», землячестве бывших (или даже нынешних) членов одного общества в каком-то другом обществе. Ориентируемся на число Данбара[6] (150), но с учётом современных компьютерных средств («записных книжек», социальных сетей) человеческая «память на лица» быстро растёт. В сообществе всё равно может быть и больше людей/личностей, чем можно помнить даже с помощью записной книжки. Например, число системных инженеров киберфизических систем в Международном совете по системной инженерии (INCOSE) на 2023 год — более 22000[7], эти люди считают себя членами сообщества системных инженеров, тем самым примерно известны их ролевые интересы. Это не означает, что речь идёт о традиционной организации, которая создаёт какую-то целевую систему, или что все там примерно знакомы друг с другом и доверяют друг другу сильно больше, чем своим соседям по улице. Сотрудники штаб-квартиры INCOSE, однако, занимаются построением сообщества системных инженеров как целевой системы, действуя методами управления сообществами (об INCOSE в нашем руководстве будет отдельно сказано через несколько разделов). А маркетологи пытаются делать сообщества потребителей каких-то продуктов, «клиентуры» как множества клиентов. Как думать о сообществах говорилось в руководствах по системному мышлению и методологии, также наставления о том, как развивать сообщества даны в руководстве по специализации системной инженерии для организаций, то есть руководстве по системному менеджменту. Нам сообщества важны для того, чтобы их развивать, а community management сейчас традиционно рассматривается в рамках инженерии организаций (организация представляет собой в том числе и сообщество сотрудников). Тут тоже надо учесть, что менеджмент сообществ не даёт предсказуемых надёжных результатов, поскольку на каждого формального менеджера сообщества найдётся десяток неформальных менеджеров, которые будут организовывать это же сообщество в соответствии со своими представлениями о «лучшем».
  • О****рганизация — это организованные (то есть с понятными ролями и полномочиями каждого агента по распоряжению трудом и капиталом) группы агентов. Инженерия предприятия как «организовывание» работает с системами этого уровня, инженерия на стадии эксплуатации получившейся организации — это операционный менеджмент. Руководство по инженерии организаций тем самым — это руководство по системному менеджменту. Связь прикладной инженерии целевой системы организации и инженерии организации-создателя системы (системного менеджмента) обсуждается в нашем руководстве в разделе эволюционной/непрерывной разработки.
  • Л****ичность — и тут «инженерия личности» (хотя так и не говорят, но мы советуем думать именно так!) сводится к разным психотерапиям («ремонт» личности), коучингу (помощь в стратегировании), образованию, просвещению. Включать ли сюда разные варианты обучения «разумных роботов», то есть личностей не на базе homo sapiens? Почему бы и нет. Поэтому тут можно рассматривать и проекты развития AI, и проекты создания киборгов из людей и классических компьютеров в качестве экзокортекса Грубо говоря, развитие человека путём добавки внешней памяти и возможности простых вычислений, ибо добавка искусственного зрения, искусственной печени и т.д. — это уже более низкий системный уровень, «существа». Развитию личности посвящён отдельное руководство по инженерии личности.
  • С****ущество — тут разведение живых существ, включая «системную биологию» как разработку и производство полностью искусственной жизни. Но в целом тут инженерия и вирусов, и бактерий, и растений (агрономия), а дальше червей, рыб и до зверей (включая приматов и даже человека вне аспектов его разума). Медицина/ветеринария, фермерство, генная инженерия — это всё оказывается инженерными дисциплинами, «изменением мира к лучшему». Сюда же трансгуманизм как отрыв личности от обязательного использования генома homo sapiens (хотя усиление интеллекта живых организмов уровня выше возможности планировать представляется принадлежащим к уровню личности. Граница существа и «разумного существа» весьма размыта, как и граница «робота», «киборга», «существа»).
  • Киберфизические системы (физические системы, включающие классический и AI-софт на компьютере-контроллере датчиков и эффекторов/актуаторов). Тут классическая «железная» системная инженерия с её классическими видами систем: ракеты и самолёты, атомные и солнечные электростанции, умные (то есть обвешанные датчиками и кое-какими исполнительными устройствами) дома, роботы-пылесосы.
  • Косное в****ещество (молекулы, простые механические детали): тут от органического синтеза до инженерии мыльниц и электролампочек, то есть инженерия простых систем без сложного управления с контроллерами-компьютерами в их составе.

Конечно, в системноинженерном/эволюционном стеке присутствуют все обычные проблемы представления системных уровней какой-то системы (тут дана вся вселенная как система) в виде даже не дерева, а «стека», тем более неадаптированного к условиям какого-то конкретного проекта:

  • Легко находится множество новых уровней внутри одного уровня из этого стека, поэтому для целей какого-то конкретного проекта может существовать множество вариантов такого стека (скажем, у биологов уровень биогеоценоза — явно не просто «существо», один организм, об этом будет чуть позже, и этот «биогеоценоз» явно система, но которая непонятно как соотносится «сообществом людей»::система (хотя понятно как с «сообществом» в биологии[8] как группой популяций) или «обществом»::система — особенно, если не рассматривать в рамках конкретного проекта, например, обустройства природного заповедника).
  • Не оговорено, это функциональное, конструктивное или пространственное разбиение, а также есть возможность одновременной множественности таких разбиений (нестрогость иерархии). Считаем, что на границах уровней системы в рамках этих разбиений совпадают, но это не всегда факт: так, внутри одного и того же общества легко выделить разные сообщества, составленные из одних и тех же людей, и даже разные организации. СМД-методология называет это «популятивными объектами»[9], когда люди одновременно входят в состав разных их устойчивых групп, термин «популятивности» был позаимствован из популяционной биологии, об этом тоже будет чуть дальше.
  • Каждый уровень включает не одну систему, а множество их самых разных, это больше «иерархия/дерево», а не «стек», а системы на каждом уровне нетривиально связаны.

Тем не менее, мы принимаем за основу в нашем руководстве именно такой системный/эволюционный стек роста масштабов и тем самым роста системной сложности в части составления целых объектов из их частей. Главное в нашем руководстве по системной инженерии — наставление по компактному типовому инженерному рассуждению о том, как создавать и развивать системы (рассуждение об инженерном процессе, методе разработки):

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

Повторим времена, важные в рассмотрении эволюционной/непрерывной/agile разработки всех этих систем различной природы:

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

Конечно, вы можете, и даже должны адаптировать эти стеки систем разных масштабов (помним, например, про платформенные стеки) для ситуации вашего проекта. Самый простой способ это сделать — это выписать конкретные масштабы и виды систем из вашего проекта, выявив их по типам из нашего руководства (помня при этом, что эти уровни выделены более-менее произвольно, для целей упрощения понимания). Например, если вы создаёте таблетку из лактобактерий как биодобавку, вам потребуется как-то изменить (в том числе уговорить принимать эту таблетку! Свойство вменяемости/уговариваемости у роли «пациент» — комплаентность[10]) системы на следующих уровнях стека:

  • Потребнадзор::роль представителя интересов сообществ и общества
  • Клиентура::сообщество (важно для продвижения: маркетинг, реклама, продажи)
  • Пациент::клиент::личность
  • Желудок и кишечник::органы (части организма как подуровня существа)
  • Таблетка::«косное вещество» (если таблетка в оболочке — термин меняется на «капсула», в ней будет желатиновая оболочка и активное вещество в форме порошка).
  • Лактобактерия::клетка (подуровень одноклеточного организма уровня существ)

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

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

И это простой и обозримый пример, хотя уже и в нём нужно затрагивать проблемы высоких уровней. Скажем, все штаммы молочнокислых бактерий, грубо говоря, «штаммы простокваши и йогурта разных сортов», обладают примерно одинаковой полезностью по влиянию на микрофлору и уж точно не являются лекарствами, их даже «биодобавками» считать сложно — если вы упакуете простоквашу или йогурт в капсулы, они ж не станут от этого «биодобавками»? Но вы можете использовать «связи в министерстве», чтобы эта простоквашу с йогуртом в капсулах назвать лекарством, получить лицензию и устроить на этом маркетинг! Это этично, или нет? Хорошо ли от этого будет людям (они получат плацебо!), а хорошо ли будет (гражданскому) обществу?

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

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

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

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


  1. https://en.wikipedia.org/wiki/Renormalization_group ↩︎

  2. https://ru.wikipedia.org/wiki/Каталлактика ↩︎

  3. https://en.wikipedia.org/wiki/Community_of_practice ↩︎

  4. https://en.wikipedia.org/wiki/Learned_society ↩︎

  5. https://en.wikipedia.org/wiki/School_of_thought ↩︎

  6. https://ru.wikipedia.org/wiki/Число_Данбара ↩︎

  7. https://www.incose.org/about-incose/incose-annual-impact-statement ↩︎

  8. https://en.wikipedia.org/wiki/Community_(ecology) ↩︎

  9. https://fondgp.ru/publications/проблемы-построения-системной-теори/ ↩︎

  10. https://ru.wikipedia.org/wiki/Комплаентность ↩︎