BPMN - полное руководство на примерах

Денис Котов
Денис Котов
Дата публикации: 2 августа 2024 г.
Дата обновления: 29 апреля 2025 г.

BPMN - что это такое

BPMN - это набор символов и описание того, как они превращаются в XML, машиночитаемый формат. 

Визуальные символы понимают люди и используют BPMN чтобы договариваться, а XML используют специальные программы (например Camunda), чтобы обеспечить автоматизацию процессов.

BPMN полное руководство, пример использования

Набор символов строго определен, принципы их работы описаны в официальном документе, который разрабатывает организация OMG, которая занимается стандартизацией ИТ-отрасли. В это организацию входят представители крупных организаций, таких как HP, IBM, Red Hat и так далее.

Официальный набор символов похож на алфавит - он рассказывает о том, какие в принципе бывают элементы, но мало чего говорит о том, как их сочетать вместе. Выглядит это буквально так "Вот буква А, вот буква Б. Они могут работать вместе".  А еще стандарт больше про XML-часть, а не про людей.BPMN вот так он описан в стандарте

Таким образом по стандарту вполне может существовать слово ААААББАББАААББ, но с человеческой точки зрения в нем нет никакого смысла.

Поэтому мы придумали свои правила применения BPMN и назвали их "соглашение о моделировании PMA" (скачайте его по ссылке, оно бесплатное). PMA больше похоже на словарь-разговорник и грамматику - соглашение поможет решать реальные задачи, типа "Как найти ресторан или вызвать врача", если продолжать аналогию.



Зачем применяют BPMN - хорошие варианты

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

BPMN всегда применяют в контексте бизнес-процессов (что это такое - прочитайте в отдельной статье).

Нам известны такие хорошие сценарии применения:

  • Договориться с коллегами о том, как работать:  если вы работаете в организации, которая решился взяться за наведение порядка в бизнес-процессах, то вам придется много договариваться. BPMN, за счет своей относительной простоты (при использовании минимального набор символов), часто является хорошим фундаментом для обсуждения бизнес-процессов. Такой вариант называют  "регламентация", "моделирование", "описание" бизнес-процессов.
  • Написать хорошее техническое задание:  в BPMN можно моделировать сложные бизнес-процессы, которые предполагается автоматизировать. В этой ситуации можно очень удобно и классно отобразить то, за какие части нашего процесса какие системы отвечают  и как они интегрируются друг с другом.Пример отображения систем в при использовании BPMN
  • Быть основной для автоматизации:  этот сценарий отличается от написания ТЗ, потому что здесь во всю мощь используется машиночитаемая составляющая BPMN. Существует специальное программное обеспечение, которое умеет "понимать" XML и превращать его в программный код или алгоритмы. Такие системы называют BPMS или BPM-движки. Использование таких систем дает особенное преимущество - программа работает именно так, как нарисовано. А значит менять и улучшать ее будет проще.

Создавать процессы в BPMN бесплатно можно в нашем сервисе

Он поможет сделать правильную диаграмму без ошибок


Зачем применяют BPMN - плохие варианты

  • Составление инструкции сотрудника по выполнению операций: кажется, что BPMN хорошо подойдет за счет визуальной составляющей, чтобы объяснить как работать. Практика показала, что 1) BPMN на всю катушку сложный для исполнителей 2) следить глазами в момент исполнения операции о том месте, где остановился, сложно 3) мы лишаем человека адаптации к текущей ситуации:Пложной способ применять BPMN
  • Дело в том, что нотация требует непосредственного исполнения задач так, как нарисовано. В данном случае нельзя узнать бюджет раньше, чем узнали цель сделки. А что делать, если клиент сказал бюджет еще раньше, чем оператор представился? Хорошей альтернативой для описания инструкций являются чек-листыАльтернатива BPMN для описания инструкций - чек-листы
  • СJM, переходы клиента по страницам - для построения хорошего клиентского опыта очень важно видеть интерфейсы и макеты дизайна. К сожалению BPMN не предоставляет возможность прикрепления скриншотов, максимум ссылки на них. Кроме того, хороший CJM часто включает ответы на вопрос "О чем думает клиент" и "Что чувствует клиент", а в BPMN абстракций таких нет.  Старая добрая Figma подойдет для таких целей лучше.

Пример PageFlow и почему BPMN не применяют

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

Рассадка свадьбе в BPMN

Типы BPMN диаграмм

В стандарте приводят 4 разных типа диаграмм, которые имеют разные наборы значков, цели и задачи:

  • Process - диаграмма процесса. Используется, чтобы описать один конкретный процесс.
  • Collaboration - диаграмма взаимодействия. Используется, чтобы отобразить взаимодействие участников и процессов.
  • Conversation -  диаграмма переговоров. Задумывалась для того, чтобы отобразить взаимодействие процессов между друг другом, на практике не применяется.
  • Choreography - диаграмма хореографии. Даже сложно сказать зачем задумывалась, на практике не применяется.

Какие типы диаграмм BPMN не применяются

Если кто-то говорит BPMN, то вероятнее всего он говорит о Process или Collaboration диаграммах. В этой статье мы делаем тоже самое.

Из чего состоит процесс в BPMN

Диаграмма процесса в BPMN должна рассказать историю того, как группа участников работают сообща, чтобы довести дело до завершения. Предметом описания в BPMN является сама последовательность взаимодействия участников процессов. Чтобы описать такую последовательность, авторы BPMN придумали разные типы значков:

Задачи (Activity)

Это квадратики призваны объяснить, что надо сделать. Это атомарные, неделимые задачи. Они бывают разного типа, он отображается в верхнем левом углу и помогает понять, какого рода эта задача. Так же у них бывает разная множественность, она помогает понять сколько раз и как выполняем задачи - она отображается внизу по середине.

Маркер типа и множественности в Activity BPMN

 

А еще квадратики могут отображать переиспользование (когда вы ссылаетесь на другой процесс) или декомпозицию (когда вы "сворачиваете" часть процесс в один квадратик). Сильно не пугайтесь, вот вам видео на 9 минут, где разобраны все квадратики с примерами :)

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

  • Если в модели процесса BPMN действия делает одна и та же роль, то возможно стоит соединить в один квадратик. Потому что это начинает напоминать операционную инструкцию, о которой мы говорили выше.
  • Если действия сделать в другом порядке и от этого не  испортится смысл, то вероятно это одно действие.
  • Если действий в реальности во времени выполняются сразу же, за один присест, то возможно это одно действие.

Вот более детальное видео на эту тему:

  • Шлюзы (Gateways)

Эти ромбики обозначают разделение или слияние потоков работы. Всего существует 7 типов ромбиков, принцип работы ромбика определяется символом внутри:

Шлюзы в BPMN

 

 

Вот что надо знать про шлюзы:

  1. Их поведение и влияние на процесс меняется в зависимости от символа внутри. 
  2. Их поведение и влияние на процесс меняется в зависимости от количества входящих и исходящих стрелочек.

Для базового использования BPMN достаточно разобраться со шлюзом И (с плюсиком внутри) и шлюзом ИЛИ (с крестиком или без ничего) внутри. Мы подготовили для вас подробную статью, где рассказываем ВСЁ про шлюзы:

  • События (Events)

События в BPMN обозначают что в процессе уже что-то случилось или ожидается, что случится. Это "что-то" влияет на ход процесса.  Например, настал 3 рабочий день пятницы. Или мы получили платеж в клиент-банке.

Все события BPMN

События отображаются кружком, а у самого кружка есть 3 характеристики:

  1. Прерывистость границы - определяет является ли событие прерывающим или нет. 
  2. Толщина границы  - определяет является ли событие стартовым, промежуточным или завершающим.
  3. Символ внутри - определяет контекст события - время, условия, сообщения.
  4. Место использования - определяет принцип работы события, бывают прикреплённые, не прикреплённые, встроенные в процесс обработчик.

Не пугайтесь, мы сделали для вас небольшое видео со ВСЕМИ примерами событий.

  • Линии (Flows)

Существует 3 вида линий:

  • Поток управления (Sequence flow) -  сплошная черная линия со стрелкой.  Соединяет события, задачи и развилки внутри одного процесса. Не может выходить за границу пула. Обозначает передачу информации и ответственности среди участников процесса.
  • Поток сообщений (Message flow) - прерывистая черная линия со стрелкой. Показывает обмен сообщениями между участниками взаимодействия, например пулами. Может соединять как пулы просто, так и конкретные события или задачи отправки и получения событий. 
  • Поток ассоциации ( Association flow) - еще одна, более прерывистая линия.  Может не иметь стрелки. Показывает связь комментария, объекта данных или хранилища данных с элементами процесса.

BPMN: типы линий

  • Пулы (Pool) и  Дорожки (Lanes)

Пулы и дорожки в BPMN

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

Дорожки - это разделение пула на части. Стандарт BPMN говорит, что смысл разделения пула на дорожки остается на усмотрение автора диаграммы. Самые частые причины разделить пул на дорожки - показать исполнителей\системы исполнения задач. Мы не советуем так делать, вот почему:

 

  • Все остальное

Осталось пару элементов, которые входят в BPMN:

  • Объект данных (Data object) - отображает данные, которые существуют и используются в процессе. 
  • Хранилище данных (Data storage) - отображает хранилище данных, которое может быть использовано как внутри процесса, так и за его границами.

BPMN: Хранилище данных и объект данных

Главный секрет BPMN - токены

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

Обидно будет, если ваш банк выдаст клиенту кредит 5 раз, потому что вы не знали правил токенов.

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

Сравнение BPMN с альтернативами

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

  • BPMN VS UML

BPMN сравнение с UML Activity Diagram

UML Activity Diagram подходит для системных процессов, чаще применяется разработчиками. Проще, используется для описания рабочих процессов в системах.

BPMN более детализирован и фокусируется на взаимодействии участников, тогда как UML Activity Diagram — на последовательности действий в системе.

  • BPMN VS Archimate

BPMN сравнение с Archimate

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

 BPMN детализирует конкретные бизнес-процессы, тогда как Archimate моделирует общую архитектуру предприятия, включая бизнес-процессы, приложения и технологии.

  • BPMN VS EPC

Величайшая пара :)

BPMN сравнение с EPC

 

EPC модель ориентирована на события (а BPMN на действия). Применяется для анализа и улучшения процессов, популярна в SAP-средах. Моделирует процессы через последовательность событий и функций, но менее гибкая для сложных сценариев и автоматизации.

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

  • BPMN VS IDEF0

BPMN сравнение с IDEF0

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

Итог: BPMN лучше подходит для детализированного моделирования и автоматизации бизнес-процессов, тогда как IDEF используется для высокоуровневого анализа и документирования функциональных систем, особенно в инженерии и производстве.

Где моделировать BPMN

Есть несколько инструментов, которые позволят вам быстро и просто создать модель бизнес-процесса.

  • https://stormbpmn.com/   - бесплатный облачный редактор, который не просто позволяет накидывать кружочки и стрелочки на полотно, но и защищает вас от типичных ошибок и позволяет создать качественный BPMN, который быстро поймут коллеги.

Где моделировать BPMN - stormbpmn

  • https://www.drawio.com/ - бесплатный облачный сервис моделирования широкого профиля. Можно и схему нарисовать, и план огорода. 
  • https://www.lucidchart.com/ - платный облачный сервис моделирования широкого профиля.

Хорошие и плохие примеры использования BPMN элементов

CTRL+K
Элементов : 10
Используется для разделения потока управления
Плохой пример
Плохой пример использования элемента BPMN Развилка «и» (Параллельная развилка)
Невозможно доставить один груз дважды: и почтой и курьером. Здесь уместна развилка ИЛИ/ИЛИ
Хороший пример
Хороший пример использования элемента BPMN Развилка «и» (Параллельная развилка)
Нужно И позвонить, И отправить СМС-ку
Используется для развилки по одному потоку управления
Плохой пример
Плохой пример использования элемента BPMN Развилка «или/или»
Логика на ветках: сложная; неявная; неоднозначная; непокрывающая все варианты
Хороший пример
Хороший пример использования элемента BPMN Развилка «или/или»
Показывает выбор из равнозначных вариантов
Используется для выбора конкретных потоков управления
Плохой пример
Плохой пример использования элемента BPMN Развилка «и/или»
Развилка проверяет обычный выбор, можно заменить на развилку ИЛИ\ИЛИ
Хороший пример
Хороший пример использования элемента BPMN Развилка «и/или»
Заказ сложат в конверт всегда. А возможно, и Заказ и промоматериалы
Используется для соединения сообщений и\или пулов, отображает отправку сообщений
Плохой пример
Плохой пример использования элемента BPMN Поток сообщений
Участники одного процесса разнесены в разные пулы и между ними отправляются сообщения
Хороший пример
Хороший пример использования элемента BPMN Поток сообщений
Используется для отправки сообщения из одного процесса в другой
Используется для передачи работы между элементами процесса
Плохой пример
Плохой пример использования элемента BPMN Поток управления
Отображение вариативности конкретного действия
Хороший пример
Хороший пример использования элемента BPMN Поток управления
Передает ответственность за работу и информацию по процессу
Используется для показа бизнес-процесса и\или участников взаимодействия
Плохой пример
Плохой пример использования элемента BPMN Раскрытый пул
Зачем-то пытаемся ставить задачи клиенту (не управляемому объекту), не зная выполнит ли он их.
Хороший пример
Хороший пример использования элемента BPMN Раскрытый пул
Раскрываем подробности того, как устроен один из наших бизнес-процессов и взаимодействие процессов из которых он состоит
Используется для клиентов, систем и других участников взаимодействия, чье поведение мы не знаем
Плохой пример
Плохой пример использования элемента BPMN Скрытый пул (Пул-«черный ящик»)
Обозначем свернутым пулом участника взаимодействия, чье поведение известно и управляемо
Хороший пример
Хороший пример использования элемента BPMN Скрытый пул (Пул-«черный ящик»)
Работаем со свернутым пулом, как с черным ящиком. Не знаем, как он себя поведёт
Используется для задачи, выполняемой вдали от компьютера
Плохой пример
Плохой пример использования элемента BPMN Задача, выполняемая вручную
Интеграционная задача, а сделана как ручная
Хороший пример
Хороший пример использования элемента BPMN Задача, выполняемая вручную
Задача вне компьютера
Используется для старта процесса
Плохой пример
Плохой пример использования элемента BPMN Простое начальное событие
Используется простой старт, но текстом указано пояснение, которое можно выразить другим символом
Хороший пример
Хороший пример использования элемента BPMN Простое начальное событие
Не требуется указание специфики старта процесса
Используется для уничтожения всех токенов в процессе и завершение процесса
Плохой пример
Плохой пример использования элемента BPMN Конечное событие-останов
Замена обычного завершающего события
Хороший пример
Хороший пример использования элемента BPMN Конечное событие-останов
Вы допускаете существование нескольких токенов, но при определённом действии надо прекратить процесс

Заключение

 

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

Удачи в моделировании!

Новые статьи в вашем электрическом ящике

Обзоры конференций, лучшие практики процессного подхода и учебные статьи в вашей почте. Не чаще 1 раза в неделю.

Без спама, только то, что вы запросили.

Бесплатно моделируйте бизнес-процессы в BPMN без ошибок

Stormbpmn автоматически анализирует ваши модели по 60+ правилам, ускоряя работу и предотвращая ошибки.

Проверка качества BPMN