Светлый фон

Язык BPMN: элементы, логика, структура

Прежде чем перейти непосредственно к технологии описания и визуализации бизнес-процессов, расскажу небольшую историю. Год назад я начал учиться игре на фортепиано — так сказать, для развития нейронных связей. Первое произведение, которое мне дал учитель, называется «Андрей-воробей». Это русская народная прибаутка, положенная на музыку, там буквально три ноты в два ряда, раз-два-три-четыре, раз-два, три-четыре. Спустя год в мой актив добавилась «Баллада для Аделины» современного французского композитора Поля де Сенневиля. Ее играть уже сложнее, но в любом случае и там и там нужны ноты. То же касается бизнес-процессов, их описания и методов такого описания. Играть самому и учить играть других всегда легче, когда у вас есть ноты. Неважно, маленькая у вас организация (как «Андрей-воробей») либо более сложная (как «Баллада для Аделины»), — без нот вы не справитесь, даже имея определенный опыт. Ноты записываются при помощи специального языка. Какой же язык, по аналогии с нотной грамотой, можно использовать для описания бизнес-процессов?

Это язык BPMN. По-английски аббревиатура расшифровывается как Business Process Model and Notation[8]. Как видите, там присутствует слово «нотация» (как во фразе «музыкальная нотация»), то есть «обозначение». Задача языка BPMN — отображение бизнес-процессов при помощи условных обозначений и диаграмм. Этот язык ориентирован как на технических специалистов, так и на бизнес-пользователей. Для него используют базовый набор интуитивно-понятных элементов, которые позволяют определять сложные семантические конструкции. Кроме того, спецификация BPMN определяет то, как диаграммы, которые описывают бизнес-процесс, могут быть трансформированы в исполняемые модели. Основная цель BPMN — создание стандартного набора условных обозначений, понятных всем бизнес-пользователям. Под бизнес-пользователями понимаются бизнес-аналитики, создающие и улучшающие бизнес-процессы; технические разработчики, которые отвечают за реализацию процессов; менеджеры, следящие за процессами и управляющие ими и, конечно же, линейные сотрудники, которые непосредственно осуществляют операционную деятельность в компании. BPMN призвана служить связующим звеном между фазой дизайна бизнес-процессов и фазой реализации. В данный момент есть несколько конкурирующих стандартов для моделирования бизнес-процессов. Я уверен, что распространение BPMN поможет унифицировать методы и способы предоставления базовых концепций бизнес-процессов, например открытые бизнес-процессы, обработка исключительных ситуаций, компенсация транзакций.

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

Язык BPMN моделируется посредством диаграмм с небольшим числом графических элементов, что помогает пользователю быстро понимать логику процессов.

Эти элементы делятся на четыре категории:

 

• Объекты потока управления: события, действия и логические операторы, они же развилки.

• Соединяющие объекты: поток управления, поток сообщений и ассоциации.

• Роли: пулы и дорожки.

• Артефакты: данные, группы и текстовые аннотации.

 

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

Итак, элементы BPMN-схемы в категории «объекты потока управления».

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

Первый элемент — это событие

Теперь чуть подробнее про типы событий.

 

Типы событий в BPMN

 

• Простые события: не типизированные, которые используются чаще всего, чтобы показать начало и окончание процесса.

• События-сообщения, которые показывают получение и отправку сообщений в ходе выполнения процесса.

• События-таймеры моделируют события, регулярно происходящие во времени, а также позволяют моделировать моменты времени, периоды и тайм-ауты.

• События-ошибки позволяют смоделировать генерацию и обработку ошибок (которые тоже могут иметь различные типы) в процессе.

• События-отмены: инициируют или реагируют на отмену транзакции.

• События-компенсации: инициируют компенсацию или выполняют действия по компенсации.

• События-условия: позволяют интегрировать бизнес-правила в процесс.

• События-сигналы: рассылают и принимают сигналы между несколькими процессами. Один сигнал может обрабатываться несколькими получателями; таким образом, события-сигналы позволяют реализовать широковещательную рассылку сообщений.

• Составные события моделируют генерацию и моделирование одного события из множества.

• События-ссылки используются как межстраничные соединения, они задействованы в функционировании потока управления.

• События-остановы приводят к немедленному завершению всего бизнес-процесса по всей диаграмме.

 

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

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

Второй элемент — это действия

Кроме заданий и подпроцессов, также используются:

 

• множественные экземпляры действия (показывают, что одно действие выполняется многократно, по одному разу для каждого объекта);

• циклическое действие (выполняется, пока условие цикла верно);

• аd-hoc-подпроцесс (содержит задания, которые выполняются до тех пор, пока не выполнено условие завершения подпроцесса).

 

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

 

Типы действий в BPMN

 

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

Третий элемент — логические операторы

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

 

Оператор исключающего ИЛИ, управляемый данными

Оператор исключающего ИЛИ, управляемый событиями

Оператор включающего ИЛИ

Оператор И

Сложный оператор

Типы логических операторов в BPMN

 

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

соединяющие объекты

Поток управления задает порядок выполнения действий. Обозначается стрелкой в виде сплошной линии. Если линия потока управления перечеркнута диагональный чертой со стороны узла, от которого она исходит, то это означает поток, выполняемый по умолчанию. Условный поток обозначается маленьким ромбом в начале стрелки соответствующего потока управления. Это указывает на то, что он содержит условия, которые определяют, будет поток активирован или нет.