• Междисциплинарный подход – системная инженерия претендует на то, что она работает со всеми остальными предметными инженерными специальностями (впрочем, не только инженерными). Междисциплинарность – это очень сильное заявление, оно означает, что системная инженерия может в одну упряжку впрячь коня и трепетную лань (например, инженеров-механиков, баллистиков, криогенщиков, психологов, медиков, астрономов, программистов и т. д. в проектах пилотируемой космонавтики).
• Слово «воплощение» (realization, «перевод в реальность») означает буквально это: создание материальной (физической, т.е. из вещества и полей) успешной системы.
По-английски «системная инженерия» – systems engineering, хотя более ранние написания были как system engineering. Правильная интерпретация (и правильный перевод) – именно «системная» (подразумевающая использование системного подхода) инженерия, а не инженерия систем (engineering of systems) – когда любой «объект» обзывается «системой», но не используется системный подход во всей его полноте. Под инженерией систем16 (например, control systems engineering, manufacturing systems engineering) понимаются обычные инженерные специальности, там легко выкинуть слово «система», которое лишь обозначает некий «научный лоск». Предметные (не системные) инженеры легко любой объект называют «системой», не задумываясь об осознанном использовании при этом системного мышления, не используя системный подход. В самом лучшем случае про систему предметные инженеры скажут, что «она состоит из взаимодействующих частей» – на этом обычно разговор про «систему» и «системность» заканчивается, он не длится больше двадцати секунд. Занимающиеся «инженерией систем» очень полезны и нужны, но они не системные инженеры.
А вот из системной инженерии квалификатор «системный» без изменения смысла понятия выкинуть нельзя. Неформально определяемая системная инженерия – это инженерия с системным мышлением в голове (а не любая инженерия, занимающаяся объектами, торжественно поименованными системами просто для добавления указания о сложности этих объектов и научности в их описании).
Более длинное определение системной инженерии включает ещё одну фразу: «Она фокусируется на целостном и одновременном/параллельном понимании нужд стейкхолдеров; исследовании возможностей; документировании требований; и синтезировании, проверке, приёмке и постепенном появлении инженерных решений, в то время как в расчёт принимается полная проблема, от исследования концепции системы до вывода системы из эксплуатации»17.
Эта вторая часть определения системной инженерии говорит о том, что делают (а не о чём думают) системные инженеры – то есть речь идёт о практиках, но системный подход проглядывает и тут: целокупность в определении системной инженерии затрагивается многократно – от «междисциплинарности» в первой половине определения до целостности всех действий по созданию системы во второй половине определения, до целостности/полноты проблемы, до охвата всего жизненного цикла системы «от рождения до смерти».
Целостность (полнота охвата всех частей целевой системы согласованным их целым), междисциплинарность (полнота охвата всех дисциплин) – это ключевое, что отличает системную инженерию от всех остальных инженерных дисциплин. Системного инженера отличают по тому, что он занимается всей системой в целом, а не отдельными частями системы или не отдельными инженерными или менеджерскими дисциплинами.
Системная инженерия поначалу применялась главным образом для борьбы со сложностью аэрокосмических проектов, и она была там крайне эффективна. Для того, чтобы маленький проект уложился в срок и бюджет, нужно было на системную инженерию потратить 5% проекта, что предотвращало возможный рост затрат проекта на 18%. Для средних на системную инженерию оптимально тратить было уже 20% усилий всего проекта, но если не тратить – возможный рост затрат проекта был бы 38%. Для крупных и очень крупных проектов оптимальные затраты на системную инженерию оказались 33% и 37% соответственно, и это для того, чтобы предотвратить возможный рост затрат проекта 63% и 92% соответственно18.
Как и можно ожидать, системная инженерия в простых небольших проектах почти не даёт эффекта, но оказывается ключевой в сложных и очень крупных проектах: без системного мышления в них допускаются ошибки, которые потом оказывается очень дорого переделывать. Без системного мышления сталкиваться со сложностью оказывается чуть ли не вдвое дороже за счёт дополнительной работы по переделкам допущенных ошибок.
Системные инженеры не прикладывали положения системного подхода к своей основной инженерной работе, а наоборот, к мыслительной базе системного мышления адаптировали все свои инженерные знания. Системные инженеры строили своё инженерное мышление на основе системного мышления.
В результате системным инженерам удалось выполнить сверхсложные проекты – например, они в 1969—1972 году отправили на орбиту вокруг Луны 24 космонавта, а по самой Луне пешком ходили 12 человек19. Да что там пешком, рекорд скорости по Луне на луномобиле составил 18.6 км/час, при этом люди уезжали от ракеты на Луне на расстояние больше 7 километров! Достижения современной космонавтики, думаю, тоже не нужно рекламировать, даже с учётом того, что инженерное развитие в этой области было существенно искажено военными проектами, а инженеры развращены государственным финансированием. Но сложность космических проектов не позволяла добиваться успехов «обычной инженерией». Так, советская школа инженерии не смогла повторить достижений лунной программы, не смогла повторить многих и многих достижений планетарных программ, которых достигли в NASA. Конечно, у отечественной космонавтики есть и отдельные достижения (например, удачные ракетные двигатели), но при росте сложности проекта в целом неудачи начинают резко перевешивать достижения – типа четырёх неудач лунного старта Н-120.
Метод работы западных аэрокосмических инженеров – системная инженерия, т.е. инженерия с использованием системного мышления. Системные инженеры (и отчасти программные инженеры) уточняли и развивали положения системного подхода, а самое важное из этих положений попало в международные инженерные стандарты.
В отличие от многих и многих вариантов системного подхода, «системноинженерный вариант» был проверен тысячами сверхсложных проектов, обсуждён десятками тысяч инженеров, унифицирован и доказал свою эффективность на деле. Он не имеет авторства (ибо в его создании участвовало множество людей), он не является «оригинальным исследованием», он не изобретает велосипеды. Он просто отражает всё самое важное, что было накоплено системным движением за десятки лет и оказалось практичным и относительно легко применяемым на практике.
Подробней про системную инженерию и её вариант системноинженерного мышления можно прочесть в учебнике «Системноинженерное мышление»21. Наша же книга посвящена версии системного мышления, универсальной для инженеров, менеджеров, предпринимателей, людей творческих профессий.
Вдобавок к инженерам «железных» и программных систем, системным подходом и его стандартами заинтересовались инженеры и архитекторы предприятий (enterprise engineers и enterprise architects), они начали адаптировать применение системного подхода к задачам менеджмента, а потом и к задачам предпринимательства.
Решающим в выборе именно этого варианта системного подхода является его ориентация на человеческую деятельность, на изменение окружающего мира, а не просто на «понимание», «исследования», «анализ». Любой анализ полезен только в контексте последующего синтеза, в контексте изменяющей мир к лучшему деятельности по созданию новых и модернизации уже имеющихся систем.
Системная инженерия прямо в своём определении ссылается на то, что она занимается созданием успешных систем (successful systems), определяемых как системы, учитывающие многочисленные интересы самых разных людей, затрагиваемых этими системами или затрагивающих эти системы.
Наш учебник представляет тот вариант системного мышления, который изначально ориентирован на создание успешных систем – будь это «железные» системы (самолёт, атомная электростанция), программные системы, биологические системы (клетки и организмы – ими занимается системная биология, генная инженерия), системы-предприятия (организационные системы), или даже такие нестандартные системы как танец или марафонский бег.
Наш вариант системного подхода
Вариант системного подхода, который мы излагаем в нашей книге, основан главным образом на материале инженерных стандартов и публичных документов, а также стандартов инженерии и архитектуры предприятий: именно оттуда мы брали основные схемы, основную терминологию, и только чуть-чуть адаптировали эти схемы так, чтобы была очевидна их связь друг с другом.
Опора на стандарты важна и потому, что сами стандарты и публичные документы регулярно, раз в несколько лет, пересматриваются. Это позволяет не отстать от жизни, как на десятки лет уже отстали тексты общей теории систем (ОТС), которые во множестве можно найти в книжных магазинах и в Сети даже сегодня. Когда-то устареет и наш вариант системного подхода, но при опоре на регулярно пересматриваемые стандарты и публичные документы это можно будет заметить. При этом стандарты и публичные документы проходят примерно одинаковый путь коллективных обсуждений и согласований, разве что публичные документы обычно не предполагают способов проверки им соответствия (это характерно именно для стандартов), а служат для других целей – информирования, обучения, предложения терминологии, распространения знаний.
Наш вариант системного подхода опирается на следующие версии стандартов и публичных документов (этот список далеко не исчерпывающий, приведены лишь главные источники22):
• Стандарт ISO/IEC/IEEE 15288:2015 Systems and software engineering – System life cycle processes задаёт само понятие системы и жизненного цикла, различает целевую и обеспечивающую системы, вводит понятие практик жизненного цикла.
• Обобщенный с исключительно архитектурного до полного описания определения системы стандарт ISO/IEC/IEEE 42010:2011 Systems and software engineering – Architecture description привносит множественность описаний и деятельностный подход. Это «поворот мозгов» от редукционистского подхода одностороннего описания к системному подходу, подразумевающему множественность связанных описаний, находящихся в различных информационных системах.
• Обобщенный от программной до системной инженерии стандарт OMG Essence 1.1:2015 – Kernel and Language for Software Engineering Methods задаёт метод описания жизненного цикла и его практик. Этот стандарт также вводит в управление жизненным циклом практику чеклистов/контрольных вопросов.
• Стандарт ISO 81346—1:2009 Industrial systems, installations and equipment and industrial products – Structuring principles and reference designations – Part 1: Basic rules используется для минимально необходимого описания структуры и системы обозначения сложных инженерных объектов, задавая принципы кодирования систем и их частей. Это фундамент для управления конфигурацией в ходе жизненного цикла. Кроме того, этот стандарт различает три главных вида описаний: компонентное, модульное и размещений, хотя и в немного другой терминологии – функциональное (functional), продуктное (product) и мест (location).
• Стандарт ISO 15926—2:2003 Industrial automation systems and integration – Integration of life-cycle data for process plants including oil and gas production facilities – Part 2: Data model служит для моделирования данных развёрнутых (полных) описаний инженерных объектов. Обеспечивает интеграцию данных различных информационных систем жизненного цикла инженерных объектов.
• Стандарт OpenGroup ArchiMate 3.0 (2016) Enterprise Architecture Modeling Language даёт возможность моделировать предприятия, включая их бизнес-архитектуру, деятельность команды, а также поддерживающий эту деятельность корпоративный софт и разнообразное «железо» и компьютерные сети, необходимые для работы этого софта, а также другое оборудование предприятия.
• Публичный документ NIST PWG Cyber-Physical Systems (CPS) Framework Release 1.0 (2016) уточняет способы описания для киберфизических систем, вводит классификацию аспектов для стейкхолдерских интересов.
• Публичный документ Guide to the Systems Engineering Body of Knowledge (SEBoK) даёт нам определение успешной системы и множество других определений системного подхода.
Мы гарантировали универсальность нашего варианта системного мышления тем, что на деле использовали его для построения не только курса системного менеджмента и стратегирования на его основе, но также для рассуждений о двигательном фитнесе (универсальной готовности к телесному движению23), для определения танцевального мышления24.
Наша онтология системного подхода
Можно также сказать, что из инженерных стандартов мы взяли онтологию системного подхода.
Онтология – это и наука, отвечающая на вопрос «что есть в мире?» (по-русски иногда говорят «учение о бытии», «учение о сущем»), и конкретный вариант ответа на этот вопрос25. В этом она похожа на науку логику, по законам которой строятся и булева логика, и темпоральная логика, или на науку геометрию, в рамках которой развиваются теории евклидовой или римановой геометрий на основе разных наборов аксиом. Понимая законы онтологии, мы можем понять и 4D экстенсиональную онтологию26, и онтологию виртуальности С. Дацюка27, и христианскую онтологию, хотя они предполагают мир устроенным и описываемым принципиально по-разному.
Пример онтологической проблемы – это вопрос: «что такое американские доллары?». Есть ли они в мире как отдельная сущность, явление, находится ли это явление только в наших головах – всё это онтологические вопросы. Можете поглядеть на список вариантов ответа: физический предмет, абстракция, процесс, вид товара «деньги», валюта, фиатные деньги, единица измерения, запись на счетах. Ответьте на тот же вопрос про биткойн. Чем ответы отличаются онтологически?
Испытываемые вами трудности ровно того же порядка, что и у инженеров, когда им нужно определить для информационной системы в компьютере «что такое номинальный диаметр трубопровода» и как он связан с реальным диаметром, или «что такое техническое присоединение к теплосети». Или у менеджеров, которые пытаются ответить на вопрос «что такое бизнес-процесс» и отличается ли он от «административного процесса», «организационного процесса», «проекта» или «функционального процесса». А когда инженеры и менеджеры доходят до объяснения компьютеру технико-экономической модели, тогда и вопросы про американский доллар и биткойн оказываются вполне относящимся к делу.
Конкретная онтология (а не наука в целом!) – это один из вариантов ответа на вопрос «что есть в мире?». В общем-то, философы и логики придумали множество таких вариантов. Есть ли они вообще в мире объекты, процессы, отношения, вещи, поля? Если есть – то каковы они? Есть ли экскаваторы, торсионные поля, Гарри Поттер, философский камень, вещи, Сатана и боги греческого пантеона, биржевая котировка, благовоспитанность, справедливость, и даже философия и сама онтология? Существуют ли X=4, E=mc2, гамильтониан и лагранжиан, метод конечных элементов, бит и байт, модуль упругости и его разные типы? Разные онтологии дают разные ответы на эти вопросы – а онтология как общая дисциплина изучает способы, которыми даются эти ответы.
Мы пока не будем останавливаться на разнице между онтиками (наборами фактов о каком-то предмете/предметной области, достаточном для описания этих предметов и связанных с ними ситуаций) и онтологиями (наборами фактов о мире в целом). Много людей называют онтики онтологиями, и пока вокруг нет маститых философов, это вполне приемлемо.
Онтология нашей книги как раз и основана на варианте ответа на вопрос «что есть в мире», который берётся из инженерных и менеджерских стандартов и публичных документов и предполагает в качестве главного ответа, что мир при этом состоит из систем. Системное мышление дальше исходит из этой предпосылки – освоившие его люди видят в мире самые разные взаимодействующие друг с другом системы, а в разных текстах и изображениях – описания систем. Вот основные понятия онтологии системного подхода, описываемого в нашем учебнике (конечно, мы не будем давать тут определений, они подробно будут описаны в последующих разделах):
• 4D индивид, занимающий место в пространстве-времени
• Воплощение против описания индивидов
• Изменения (процессы, проекты, кейсы) как 4D индивид
• события как 3D индивид
• функциональный (ролевой) объект как индивид
• софт как 4D индивид (исходный код как описание софта-индивида)
• предпринятие как 4D индивид
• полная темпоральная часть индивида
• методологическое время против времени в 4D
• экстенсионализм: совпадение двух объектов в пространстве-времени – это один объект
• отношение состава (composition, «часть-целое») в 4D
• холоны (многоуровневая декомпозиция)
• деятельность (в отличие от действий – критерии культурной обусловленности, повторяемости, «ролевости»), театральная метафора
• стейкхолдер как действующее лицо (роль)
• стейкхолдерский интерес и аспекты
• успешная система
• системы против систематики («система Линнея») и методологии («система Станиславского»)?
• холон (уровень системы)
• эмерджентность
• виды систем: целевая, подсистема, использующая, в системном окружении, обеспечивающая
• имя системы (по функции)
• чёрный и прозрачный ящики
• требования, потребности, ограничения, архитектура
• проверка и приёмка
• определение (definition) системы
• рабочий продукт
• описание системы (description)
• потребности (стейкхолдеров)
• частное описание (view)
• метод описания (viewpoint)
• модель, мета-модель, мульти-модель, мегамодель
• прожекторный и синтетический подходы к описанию систем
• разбиения: компонентные, модульные, размещения
• описания: компонентные, модулей, размещения
• компонента: порт, связи
• модуль: интерфейс, платформа
• размещение
• архитектурное решение, требование, описание
• архитектурный синтез (логической и физической архитектур)
• жизненный цикл системы, проекта
• стадии жизненного цикла
• практика, метод/методология
• дисциплина
• технология
• вид жизненного цикла, водопад, спираль
• V-диаграмма
• альфа, подальфа
• основные альфы: стейкхолдеры, возможности, воплощение системы, определение системы, работы, команда, технологии