Пост о возможностях разработки в ARIS, а не о заправках, как многие подумали

Disclaimer

Эта статья не претендует на то, чтобы быть учебным пособием или каким-то кратким введением в методологию или линейку продуктов ARIS. Она написана мной на основании опыта внедрения и использования линейки этих продуктов в крупных российских компаниях, поэтому является субъективным взглядом и частным мнением. На данный момент я никак не связан с Software AG (вендор ARIS), за исключением того, что начинал свою карьеру в московском офисе этой компании (а точнее в IDS Scheer, которую она поглотила) более 10 лет назад. Сразу хочу сказать, что статья - взгляд с точки зрения технического специалиста, а не методолога / процессного консультанта / дизайнера бизнес-процессов. Аудитория статьи - люди, которые хотят понять что такое ARIS и как, где и зачем его можно использовать. Очевидно, что есть куча маркетинговых материалов, но возможно для кого-то будет интересна практическая сторона вопроса.

Введение (BPM и другой BPM)

Когда речь заходит о бизнес-процессах, либо об управлении бизнес-процессами, то в голове сразу возникает аббревиатура BPM (Business Process Management). И вот здесь начинается путаница, которая многих сбивает с толку с самого начала. Дело в том, что BPM также можно расшифровать как Business Process Modeling (или Modelling, кому как больше нравится). И в этом контексте ARIS - это, конечно же, система моделирования бизнес-процессов.

То есть нужно изначально понимать, что назначение этой платформы - моделирование, хранения и обработка статичных моделей бизнес-процессов. Да, с ними можно осуществлять различные действия: рассчитывать стоимость процессов, проводить реинжиниринг, генерировать на основании этих моделей должностные инструкции и регламенты процессов, проводить симуляции работы этих процессов (математико-статистическими методами, некоторый упрощенный аналог известной GPSS c понятным GUI). Но нельзя делать самое главное - исполнять эти процессы, то есть делать то, что многие изначально хотят от этой системы, видя аббревиатуру BPM и ассоциируя ее с BPM-системами, такими как Pega BPM, IBM BPM, Camunda, Activiti и т.д.

Почему возникает такая путаница именно с ARIS? Дело сразу в нескольких вещах. Во-первых, стоимость системы достаточно высока, поэтому она “по умолчанию” должна “всё уметь” (так думают те, кто принимает решение о ее покупке). Во-вторых, эта платформа представлена очень большим набором систем “на все случаи жизни”. От системы моделирования, состоящей из серверной и клиентской частей, симуляции процессов (ARIS Business Simulator), до систем управления процессом изменения и согласования моделей (ARIS Process Governance), системы контроллинга (ARIS Process Performance Manager), системы управления рисками (ARIS Risk & Compliance Manager).

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

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

Почему все до сих пор используют ARIS

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

Почему же тогда в крупных компаниях (российских и зарубежных) это средство моделирования так распространено? Вопрос, конечно, риторический. Хотя несколько причин все же есть:

  1. Исторически это была первая система подобного рода (первая версия появилась в 1992 году), да еще имеющая под собой основание в виде одноименной методологии, созданной А-В. Шеером.

  2. Очень неплохая изначальная архитектура: конфигурации, фильтры, типы моделей и объектов, внутренняя объектная модель, позволяющая манипулировать данными и многое другое.

  3. Широкий набор нотаций моделирования

  4. Маркетинг и ориентация на крупный бизнес: едва ли кому-то в небольших компаниях понадобится мощный инструмент моделирования и анализа бизнес-процессов.

  5. Интеграция с SAP “из коробки”.

  6. Большие возможности кастомизации, причем не только силами вендора, но и на месте штатными сотрудниками.

Я бы хотел подробнее остановиться на последнем пункте: разработке отчетов, макросов, интеграционных решениях и объектной модели ARIS. Поскольку, на мой взгляд, это то конкурентное преимущество, которое и позволило системе ARIS просуществовать почти 30 лет.

Интеграция, кастомизация, скрипты

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

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

Среда разработки

Итак в ARIS встроена среда разработки, позволяющая писать скрипты на JavaScript (стандарт ECMAScript 5), а также использовать подключаемые библиотеки на Java (в т.ч. и свои собственные), что открывает безграничные возможности для кастомизации системы и автоматизации операций.

IDE для разработки скриптов в ARIS
IDE для разработки скриптов в ARIS

Как видно на скриншоте, среда разработки немного устарела. По сравнению с новыми IDE здесь сложно найти все те современные удобства, к которым мы уже так привыкли. Нет даже возможностей версионирования, хотя накрутить их поверх с помощью “костылей и велосипедов” вполне возможно. В общем для конца 90-х - начала 2000-х - вполне приемлемо. Даже есть возможность real-time дебага с точками останова. Тем не менее все не так ужасно, как кажется на первый взгляд: есть автодополнение, есть подсветка кода (не совсем уж блокнот) и есть возможность откладки, как я уже упомянул. Этого вполне достаточно, чтобы разрабатывать и автоматизировать, если присутствует потребность и желание.

Объектная модель

Основой для внутренней разработки служит объектная модель ARIS, которая позволяет работать с объектами системы. Она имеет небольшой набор основных сущностей: БД, модель, объект, экземпляр, связь, экземпляр связи, атрибут и т.д. Ниже на скриншоте можно оценить ее масштаб (объектная модель для отчетов, представлены только основные типы объектов).

Диаграмма классов объектной модели отчетов ARIS
Диаграмма классов объектной модели отчетов ARIS

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

Для работы с объектными моделями в системе ARIS существуют несколько типов скриптов, с помощью которых можно обрабатывать данные, в частности, макросы (Macros) и отчеты (Reports). О них и пойдет речь далее.

Кроме того, в дополнение к скриптам уже достаточно давно существует ARIS API, позволяющий производить действия в базах ARIS из внешних систем.

Макросы

Макросы в контексте ARIS - это вид скриптов, позволяющий работать с клиентской частью приложения. Основной фичей макросов является возможность запускать их по триггерам клиента, таким как сохранение, изменение моделей, создание объектов, связей и т.д. Но при этом макросы работают со своей объектной моделью, привязанной к клиенту, и не имеют прямого доступа к данным, хранящимся на серверной части. Для решения этой проблемы используется workaround в виде вызова отчета (Report) из макроса, что значительно расширяет возможности последнего.

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

Отчеты

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

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

Проблемы и интеграционные решения

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

  • автоматизация рутинных задач;

  • вовлечение сотрудников в использование ARIS;

  • понимание и ощущение практической пользы от ARIS.

Проблема в том, что “висящий в воздухе” ARIS, как правило, становится пятым колесом и через некоторое время после его внедрения все просто-напросто на него забивают, если используют как рисовалку процессов. Да-да, это именно та проблема, которая постоянно преследует эту систему: стОит она немало, много чего может и умеет, но из-за неправильного использования через некоторое время становится никому не нужна. Поэтому очень важно сразу определить для чего будет использоваться система и наметить интеграционные решения.

Если планируется использовать ARIS для описания процессов, ролевой структуры, то логично интегрировать ARIS с кадровой системой SAP HR / 1С, для того, чтобы иметь актуальную оргструктуру, а не рисовать ее руками (а это может быть непросто в каком-нибудь холдинге). Это в свою очередь позволит на основании процессов, отрисованных в ARIS, генерировать должностные инструкции, регламенты процессов и выгружать их обратно в кадровые системы, уже в привязке к должностям (через ролевую модель).

Другим примером может быть разработка какой-либо сложной системы с множественными интеграционными точками, когда задействовано большое число аналитиков. В этом случае при моделировании можно воспользоваться механизмом семантических проверок (стандартных либо кастомизированных) для верификации входов-выходов процессов “на стыках”. Если же в дополнение на более низком уровне моделируется интеграция до передаваемых между системами полей, то возможно, к примеру, использовать скрипты для генерации WSDL (если используется SOAP).

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

В заключение хотелось бы добавить, что разработка под ARIS - это крайне узкая область: есть всего один профильный форум ariscommunity.com, куда можно обратиться, если Вы столкнулись с какими-то ограничениями или сложностями. Но тем и интереснее решение задач, когда заранее знаешь, что никто не поможет :)

Комментарии (2)


  1. Haimakrav
    15.01.2022 17:56

    Так какие альтернативы?


    1. kitmarty Автор
      15.01.2022 18:02

      Альтернатив много: и отечественные, и зарубежные. Но с другими я не работал так плотно, чтобы давать оценки.

      Данная статья - не сравнительный анализ систем, а рассказ про возможности конкретно этой.