Пост о возможностях разработки в 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 и другие системы подобного класса, то это сравнение далеко не всегда будет в его пользу, поскольку он имеет достаточно высокие системные требования, цену, порог входа для пользователей (обучение и т.д.).
Почему же тогда в крупных компаниях (российских и зарубежных) это средство моделирования так распространено? Вопрос, конечно, риторический. Хотя несколько причин все же есть:
Исторически это была первая система подобного рода (первая версия появилась в 1992 году), да еще имеющая под собой основание в виде одноименной методологии, созданной А-В. Шеером.
Очень неплохая изначальная архитектура: конфигурации, фильтры, типы моделей и объектов, внутренняя объектная модель, позволяющая манипулировать данными и многое другое.
Широкий набор нотаций моделирования
Маркетинг и ориентация на крупный бизнес: едва ли кому-то в небольших компаниях понадобится мощный инструмент моделирования и анализа бизнес-процессов.
Интеграция с SAP “из коробки”.
Большие возможности кастомизации, причем не только силами вендора, но и на месте штатными сотрудниками.
Я бы хотел подробнее остановиться на последнем пункте: разработке отчетов, макросов, интеграционных решениях и объектной модели ARIS. Поскольку, на мой взгляд, это то конкурентное преимущество, которое и позволило системе ARIS просуществовать почти 30 лет.
Интеграция, кастомизация, скрипты
Вообще идея иметь внутреннюю объектную модель, среду разработки и язык программирования - не новая. Тот же MS Office поддерживает макросы с незапамятных времен, что упрощает автоматизацию многих рутинных операций.
В случае с ARIS наличие такого инструмента - неоспоримое конкурентное преимущество. Стоит отметить, что он присутствует не “для галочки”, а действительно эффективно функционирует, позволяя работать с данными и интегрировать ARIS с чем угодно. В статье не стоит цель сравнения с другими средствами моделирования, поэтому этим заниматься не будем, а сосредоточимся на возможностях системы.
Среда разработки
Итак в ARIS встроена среда разработки, позволяющая писать скрипты на JavaScript (стандарт ECMAScript 5), а также использовать подключаемые библиотеки на Java (в т.ч. и свои собственные), что открывает безграничные возможности для кастомизации системы и автоматизации операций.
Как видно на скриншоте, среда разработки немного устарела. По сравнению с новыми IDE здесь сложно найти все те современные удобства, к которым мы уже так привыкли. Нет даже возможностей версионирования, хотя накрутить их поверх с помощью “костылей и велосипедов” вполне возможно. В общем для конца 90-х - начала 2000-х - вполне приемлемо. Даже есть возможность real-time дебага с точками останова. Тем не менее все не так ужасно, как кажется на первый взгляд: есть автодополнение, есть подсветка кода (не совсем уж блокнот) и есть возможность откладки, как я уже упомянул. Этого вполне достаточно, чтобы разрабатывать и автоматизировать, если присутствует потребность и желание.
Объектная модель
Основой для внутренней разработки служит объектная модель 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, куда можно обратиться, если Вы столкнулись с какими-то ограничениями или сложностями. Но тем и интереснее решение задач, когда заранее знаешь, что никто не поможет :)
Haimakrav
Так какие альтернативы?
kitmarty Автор
Альтернатив много: и отечественные, и зарубежные. Но с другими я не работал так плотно, чтобы давать оценки.
Данная статья - не сравнительный анализ систем, а рассказ про возможности конкретно этой.