«Не довольствуйся поверхностным взглядом. От тебя не должны ускользнуть ни своеобразие каждой вещи, ни ее достоинство.»
 
Консалтинговая компания Марк Аврелий


Слои корпоративной архитектуры

Архитектура и слои

Архитектура организации (еще используются термины Enterprise Architecture или корпоративная архитектура) — это область знаний об организованности (составе, связях и отношениях) отдельных элементов предприятия, причем элементов самой разной природы: систем, процессов, людей, инфраструктуры, данных, целей, задач, требований и т.д. (См. также определения в ISO/IEC/IEEE 42010:2011 и ISO 15704:2019, полезные подборки сделаны в нашей расширенной презентации по архитектуре).

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

Иллюстрация компонентов архитектуры организации и их взаимосвязей

Рисунок 1. Архитектура организации

Как видно из определения и рисунка 1, речь идет об элементах разной природы:

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

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

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

Все разнообразие типов элементов и их взаимосвязей образует язык, примером такого языке в архитектуре является ArchiMate®. Методические основы использования языка могут быть почерпнуты в TOGAF®. TOGAF поясняет контекст использования архитектурного языка и вводит базовые типы языка (см рисунок 2).

архитектурные компоненты или базовые типы архитектуры согласно TOGAF

Рисунок 2. Базовые типы архитектурных элементов в методологии TOGAF

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

  • с процессными нотациями, например, BPMN или IDEF;
  • с дата-центрическими нотациями и языками, как например, ERD или UML.

В дальнейшем изложении и примерах данной статьи используется именно расширенный состав типов арх.элементов, заимствованный из ArchiMate 3.2. Общее количество предлагаемых для моделирования типов в Архимейт на декабрь 2023 года – более 50. О способе выделения состава слоев смотри заметку об элементарных точках зрения.


Наилучшей, если не сказать более строго - единственной, системой моделирования архитектурных слоев на российском рынке среди отечественных решений является СиММА - Система Многослойного Моделирования Архитектур - представляющая собой конструктор произвольных онтологий с возможностью репрезентации слоёв в различных нотациях, таких Archimate, BPMN, C4 и другие. 


Приведем примеры элементов разных типов:

  • Элементы типа «Драйвер»: Импортозамещение, Цифровизация, COVID-19.
  • Элементы типа «Информационная Система»: СRM, ЭДО, Exchange, Кадры, Склад, Портал, СиММА.
  • Элементы типа «ИТ-сервис»: «Предоставление списка неоплаченных штрафов», «Предоставление списка граждан по адресу регистрации», «Проверка наличия и статуса записи в системе ЗАГС».
  • Элементы типа «Подразделение»: «Отдел финансовой отчетности»; «Отдел продаж», «Отдел дистанционного обслуживания», «Департамент маркетинга», "Группа инженеров ПОС».

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


Каталог, слой, реестр как синонимы слова множество

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

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

Поскольку мы рассматриваем множества архитектурных элементов, выступающих частями таких систем, как «Организация», «Предприятие», или «Корпорация», то часто используется слово СЛОЙ, подчеркивающее наличие в организации других множеств (то есть других слоёв).

Слои, которые используются наиболее часто, перечислены на рисунке 4 справа.

Примеры наиболее часто используемых архитектурных слоёв

Рисунок 4. Наиболее часто используемые слои архитектуры предприятия

В каждый слой входят десятки, возможно, сотни элементов. Благодаря группировке элементов в слои и связыванию элементов друг с другом и между слоями (то есть между множествами, как в двудольном графе) мы получаем возможность управлять сложностью организации (сложностью ее организованности) – см рисунок 5.

Управление организацией через архитектурные слои и их взаимосвязи

Рисунок 5. Управление организацией с помощью архитектурных слоев и взаимосвязи их элементов

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

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

Использование слова СЛОЙ (по-английски layer) не следует путать со словом уровень (по-английски level). Слои хотя и зависят друг от друга разными типами зависимости, тем не менее сложно применять к ним понятие «выше-ниже», что, как правило, подразумевается в слове УРОВЕНЬ.

Откуда аналитики и архитекторы берут элементы для каждого слоя?

  • Во-первых, это стандартный результат работы профессионального аналитика – умение выделять из реальности стабильные элементы реальности (см. концентроид Рудда, работы Аристотеля, Фреге Готтлоба и Людвига Витгенштейна).
  • Во-вторых, используются (особенно на стадии зарождения архитектурной практики) референсные модели (например, APQC, TM FORUM).
  • В-третьих, зрелая организация, функционирующая на протяжении многих лет, уже, как правило, имеет набор элементов для управления и развития.

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

Нормализация и рефакторинг. Например, мы строим загородный дом из 10 комнат. Сами комнаты – это слой планировки. Но есть и другие слои: сантехники, электрики, отделки, мебели, оборудования и т.д. На определенной стадии строительства нужно определить назначение комнат сообразно типовым элементам жилого помещения: кухня, столовая, спальня, прихожая, кинозал, каминный зал, библиотека, а также дать им идентификаторы, например, спальня-1, спальня-2, спальня-3, кинозал детский, кинозал взрослый. Отнесение комнат к предопределенным в практике строительства типам есть нормализация (сведение к шаблону, установленному нормой). Если не выполнить такую нормализацию, управлять дальнейшим строительством будет невозможно. Соотнесение комнаты с нормой может потребовать ее перепроектирования или дооснащения (например, установка вентиляции в тесном кинозале). Если же после 10 лет эксплуатации дома будет решено переделать его в банный комплекс, то потребуется выполнить рефакторинг-перепланировку: выделить места или комнаты под душевые, раздевалки, парилки и комнаты отдыха. Очевидно, что рефакторинг может сохранить стены некоторых ранее возведенных помещений, а может и разрушить их, установив новые границы для новых компонентов архитектуры нашего строения. Безусловно рефакторинг потянет за собой изменение начинки помещений и более рациональные для ситуации связи между помещениями (проходы, переходы, проемы, тамбуры и т.п.).

Выделенные таким образом элементы становятся объектами развития или трансформации в рамках операционных или стратегических инициатив организации.
 

Архитектура и домены

Итак, архитектурный подход даёт нам готовый набор типов строительных элементов, с помощью которых мы можем описать текущее или будущее состоянии организации. Строительные элементы одного типа образуют слой. Количество типов строительных элементов архитектуры - более 50, а значит более 50 слоев возможно выделить и описать с целью анализа текущего состояния или проектирования/создания нужной организованности в будущем. Более подробно причины появления компонентов и их жизненные циклы можно найти в GERAM (Обобщенная архитектура предприятия и методологии) – см приложение «B» в ГОСТ Р ИСО 15704–202Х.

50+ слоев для удобства мы объединяем в 7 доменов:

  • домен стратегии, имплементации и миграции;
  • домен мотивации;
  • домен бизнес-деятельности;
  • домен ИТ-приложений;
  • домен данных;
  • домен ИТ-инфраструктуры (технологий);
  • домен физической инфраструктуры.

Архимейт и ТОГАФ могут группировать слои в домены несколько по-разному. Не стоит придавать этому большого значения, так как домены – это всего лишь группировки, служащие целям методичности в подаче материала. Однако могут быть и другие цели группирования:

  • для снижения сложности создаваемых моделей.
  • для фокусировки внимания аналитиков на определенных группах слоёв.
  • для удобства в разделении ответственности за домены между различными группами аналитиков и архитекторов.
  • для приложения к домену наиболее адекватных компетенций: специалист по физической инфраструктуре может ничего не поннимать в стратегии и мотивации.

Еще одним критерием группировки слоев в домены является связность элементов внутри домена. Внутри домена связность, как правило, высокая и строгая. Связность элементов домена с элементами других доменов заметно ниже. В своей практике мы чаще всего используем такую нарезку доменов – см. горизонтальные полоски на рисунке 6.

Рекомендуемый состав доменов архитектуры

Рисунок 6. Рекомендуемый состав доменов

Некоторые домены на рисунке 6 содержат как бы субдомены. Этому не стоит придавать сакрального смысла.

Три домена на рисунке 6: Business, IT, Physical – имеют общий принцип их выделения в качестве домена, а именно: в каждом домене есть слой активных элементов, слой поведенческих элементов, слой пассивных элементов. Активные, поведенческие и пассивные элементы изображены вертикальными полосками для красоты и некоторые эксперты могут называть их аспектами. Это не меняет сути, заложенной в идею множества элементов, а лишь подчеркивает способ локализации элементов множества.

Взаимосвязь архитектурных элементовДля примера: в домене Business активным типом элементов выступает подразделение (business unit); с подразделениями связаны два типа поведенческих элементов: функции и процессы; пассивными типами элементов в слое бизнеса являются документы и информация. В домене IT активным типом элемента выступает Информационная Система; поведенческим – функция информационной системы; пассивным – объект данных. Домен Мотивации в данном примере представлен таким типом элементов, как Цель. В этом примере и его частичной иллюстрации на рисунке справа подчеркивается взаимосвязь элементов друг с другом, причем взаимосвязи могут быть как между элементами внутри слоя (функции с функциями, подразделения с подразделениями), так и взаимосвязи между элементами разных слоев: процессы с информационными системами, системы с функциями, функции с объектами данных. 

Приведем примеры типов элементов для отдельных доменов. Каждый тип будет образовывать слой элементов данного типа. Совокупность всех типов может быть представлена некой картой типов. Такая карта типов обычно фиксируется в положении о моделировании, где каждому типу даётся определение, назначение, спецификация, правила его использования в моделях. Для целей иллюстрации элементов и их связей могут использоваться графические символы, цветовая раскраска и пиктограммы (например, стереотипы UML). Мы придерживаемся следующей палитры цветов: активные элементы – бирюзовые, поведенческие – желтые, пассивные – зеленые. Такая раскраска обеспечивает быстрое считывание сложных диаграмм. Примечание: наш способ раскраски заимствован из Архимейт ранних версий. Позднее Open Group изменил его; определенно зря, но выбор всегда за вами.

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

Типы элементов, образующие слои в домене мотивации

Типы элементов, образующие слои в домене бизнеса (выборочно):

Типы элементов, образующие слои в домене бизнеса

Типы элементов, образующие слои в домене IT (выборочно):

Типы элементов, образующие слои в домене IT

Ввиду сложности каждого домена у него может быть своя архитектура: архитектура бизнес-деятельности, архитектура ИТ, архитектура данных, физическая архитектура. Таким образом, корпоративная архитектура состоит из других архитектур. Немного сложно, но если система состоит из других систем (что нам уже весьма привычно из системного подхода), то стало быть и архитектура может состоять из других архитектур. В задачу архитектора входит синхронизация этих архитектур или обеспечение их конгруэнции. 

Замечание: иногда можно услышать возражение: у нас в компаниии всего 10 функциональных ролей или всего 20 систем или 3 сервера, означает ли это, что 10 ролей образуют слой ролей, или 20 систем образуют слой систем, а 3 сервера - слой hardware?  Не проще ли считать слоем более крупные аггрегации элементов из разных типов?  Ответ на данное возражение такой: 20 систем, 100 функций, 30 интеграций, 5 ролей, 14 процессов, 12 целей, 10 проектов, 12 отделов - это очень несложная система, ее даже моделировать не нужно. А вот уже 200 систем, 1000 функций, 300 интеграций, 50 ролей, 140 процессов, 120 целей, 100 проектов и  120 отделов - требуют полноценного расслоения.


 

Архитектура. За пределами Archimate & TOGAF

TOGAF и Archimate – методологии, выросшие из практики ИТ-архитектур, имеющие целью моделирование ИТ-насыщенных компаний. Однако многослойность, как свойство архитектурных моделей, распространяется на системы любой сложности, как например, корпорации, города или государства, или экосистемы.

Например, город - это большая сложная многослойная система (см. рисунок 7):

  • Вот слой подземных линий метрополитена.
  • Вот слой подземных теплотрасс.
  • Вот слой подземных линий связи.
  • Вот слой наземных дорог.
  • Вот слой городской жилой застройки. В него «вплетается» слой культурных учреждений для развлечения.

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

Архитектура города как аналог многослойной архитектуры

Рисунок 7. Архитектура городской среды.

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

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

Zoom-in, Zoom-out. Расслоение может быть выполнено и в микромасштабе, причем весьма глубоко. Примером такого расслоения является BIM-модель здания, где выделяются такие слои, как несущие конструкции, электрика, сантехника, перекрытия, оборудование и т.п. В BIM-моделях кроме архитектурных задач по проектированию структуры будущего здания решаются также задачи компоновочного, расчетного, экономического характера.
 

Выбор (отбор) слоев архитектуры на примере проектирования стратегии

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

В зависимости от планируемого изменения не все 50+ слоев могут понадобиться. Зачастую изменение проходит внутри 2-3 слоёв одного домена, как например, при разработке в ИТ-приложении новой функции или микросервиса. Но разработка 20 функций в одном или группе ИТ-приложений скорее всего повлияет на изменения в бизнес-домене: изменятся функции подразделений и их информационные потоки.

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

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

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

Таким образом, при решении задач, связанных с изменением или трансформацией с использованием методов архитектуры, потребуется совершить два выбора:

  • какие слои отобрать как релевантные для поставленной задачи (см. заметку о моделировании на сайте СиММА);
  • какие элементы в каждом слое будут находиться в фокусе изменения-трансформации.

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


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