BPMN: что это, где применяется и как освоить
BPMN (Business Process Model and Notation) — стандартная нотация, в которой процесс рисуют из небольшого набора элементов: события отмечают, что случилось, задачи — кто что делает, шлюзы — где маршрут разветвляется, пулы и дорожки — чья это работа, потоки сообщений — что участники передают друг другу. Схему BPMN одинаково читают аналитик, методолог и разработчик, а BPM-система может её исполнить. Освоить придётся значение каждого элемента, правила их соединения, типичные ошибки и один-два редактора.
Содержание

Главное отличие BPMN от обычной блок-схемы — у каждого значка есть точный смысл, закреплённый в спецификации. Круг с тонкой границей означает начало процесса, с жирной — конец, ромб с крестом — выбор одного пути, ромб с плюсом — запуск нескольких веток одновременно. Если нарисовать ромб «на глаз», коллега поймёт схему по-своему, а движок выполнит её буквально. Поэтому нотацию учат как язык с грамматикой, а не как набор картинок.
Из каких элементов складывается схема
Спецификацию ведёт консорциум OMG, действующая версия — 2.0.2. Есть и международный стандарт ISO/IEC 19510:2013: он повторяет версию 2.0.1 и при пересмотре в 2022 году подтверждён без изменений. Элементов в BPMN десятки, но почти любая схема собирается из пяти групп.
Пулы и дорожки. Пул — отдельный участник: компания, клиент, внешняя система. Дорожки делят пул на роли внутри него. Если внутренняя работа участника не важна, его пул рисуют свёрнутым, пустым прямоугольником.
События. Стартовое запускает процесс, конечное завершает ветку, промежуточное отмечает что-то посередине. Значок внутри круга уточняет тип: конверт — сообщение, часы — таймер, молния — ошибка.
Задачи. Задача — одно действие одного исполнителя. В исполнимой модели важен её тип: пользовательскую задачу выполняет человек, сервисную — программа. Подпроцесс сворачивает несколько шагов в один блок.
Шлюзы. Исключающий (ромб с крестом) пропускает ровно по одной ветке, параллельный (с плюсом) — по всем сразу, включающий (с кругом) — по тем, чьи условия выполнены. Сам шлюз ничего не решает: он направляет работу по результату задачи перед ним.
Потоки. Сплошная стрелка — поток управления внутри одного пула. Пунктир с кружком в начале — поток сообщений между пулами. Поток управления не пересекает границу пула: компания не может «приказать» клиенту сделать следующий шаг, она только отправляет ему сообщение.
Учебный пример: возврат товара в интернет-магазине
Ситуация вымышленная. Магазин хочет автоматизировать возвраты, и аналитик рисует процесс. Пул «Клиент» он сворачивает, потому что решения клиента магазину неизвестны, а пул «Магазин» делит на дорожки «Поддержка», «Склад» и «Бухгалтерия».
Процесс запускает стартовое событие-сообщение «Получена заявка на возврат». Поддержка проверяет срок покупки, исключающий шлюз ведёт либо к задаче «Отправить отказ», либо к задаче «Выслать инструкцию». Дальше магазин ждёт: шлюз по событиям выбирает ту ветку, событие которой наступит раньше, — «Посылка получена» или таймер «Прошло 14 дней». Во втором случае заявка закрывается.
Когда посылка пришла, склад выполняет задачу «Осмотреть товар», и следующий шлюз решает, возвращать ли деньги. На ветке «да» параллельный шлюз запускает две работы сразу: бухгалтерия возвращает деньги, склад ставит товар в остатки. Второй параллельный шлюз ждёт обе ветки, и только потом клиенту уходит сообщение «Деньги возвращены». Все стрелки к клиенту здесь — потоки сообщений, а каждое разветвление закрыто шлюзом того же типа.
Схема для людей и схема для движка
Ту же модель можно запустить в BPM-системе, и тогда требования становятся строже. У каждой пользовательской задачи указывают исполнителя или группу, у сервисной — какую программу вызвать, у веток шлюза — условие в виде выражения (в Camunda 8 — на языке FEEL). Движок раздаёт задачи сотрудникам, следит за таймерами и хранит историю каждого экземпляра процесса.
Схема для обсуждения может позволить себе вольности: упрощённые названия, пропущенные исключения. Исполнимая модель не прощает недосказанности: ветка без условия не сработает, забытый таймер оставит заявку висеть без конца. Схему сохраняют как XML-файл .bpmn, формат которого тоже задаёт спецификация, поэтому модель из браузерного редактора можно открыть в Camunda Modeler и передать разработчикам.
Кому нужна нотация, а кому хватит простой схемы
Аналитику BPMN нужен, чтобы требования к системе опирались на полный маршрут со всеми исключениями, а не на «счастливый» путь. Методолог описывает в нотации регламенты и строит процессную модель компании. Руководителю проекта автоматизации достаточно уверенно читать схемы, чтобы проверить, понял ли подрядчик процесс.
Иногда BPMN избыточен. Чтобы найти, где работа ждёт дольше всего, хватит схемы с дорожками на бумаге — этому посвящена отдельная статья сайта о бизнес-процессах. Для функциональной структуры предприятия методологи чаще берут IDEF0, для сложной логики решений — таблицы в нотации DMN, поведение программы описывают диаграммами UML.
Ошибки, которые видно на схеме
Самая грубая ошибка — поток управления между пулами. Следом идут несогласованные шлюзы. Если ветки разошлись через параллельный шлюз, а сходятся через исключающий, дальнейшие шаги выполнятся дважды. Если наоборот, параллельный шлюз будет ждать ветку, которая не придёт, и процесс зависнет. Ещё одна частая ошибка — шлюз без задачи перед ним: неясно, кто принимает решение.
Как такие ошибки зависят от размера и устройства схемы, исследовали Ян Мендлинг, Хайо Рейерс и Вил ван дер Аалст. В статье «Seven Process Modeling Guidelines (7PMG)» (Information and Software Technology, 2010, т. 52, № 2) они свели анализ 600 моделей справочной модели SAP, 2000 промышленных моделей и эксперименты со студентами в семь правил: использовать как можно меньше элементов; уменьшать число ветвлений у элемента; оставлять одно стартовое и одно конечное событие; закрывать каждое ветвление парным шлюзом; избегать включающих шлюзов; называть задачи по схеме «глагол + объект»; разбивать модель, в которой больше 50 элементов.
Последнее правило опирается на неприятную цифру: у моделей больше чем из 50 элементов вероятность ошибки, по данным авторов, превышает 50 %. Под ошибкой понимаются дефекты вроде взаимной блокировки, когда процесс не может дойти до конца. Названия «глагол + объект» («Осмотреть товар», а не «Осмотр товара») участники эксперимента сочли заметно менее двусмысленными. Правила выведены на моделях в нотации EPC, но авторы оговаривают, что те же элементы маршрутизации есть в BPMN. Для самопроверки это готовый чек-лист.
Инструменты: от браузера до BPM-системы
Для первых схем хватит demo.bpmn.io — бесплатного браузерного редактора на открытой библиотеке bpmn-js. Camunda Modeler — бесплатное настольное приложение от тех же разработчиков: в нём схему готовят к исполнению и проверяют на ошибки. Draw.io удобен для набросков и содержит фигуры BPMN, но рисует картинку, а не модель: ему безразлично, соединили ли вы пулы потоком управления. Business Studio — российская система для методологов: процессы в BPMN и IDEF0 связывают с оргструктурой и целями и формируют из модели регламенты. В ELMA365 и похожих BPM-платформах процесс рисуют в конструкторе и сразу запускают для сотрудников.
С чего начать и в каком порядке учиться
Порядок идёт от чтения к исполнению. Пока вы не различаете типы шлюзов на чужой схеме, свои будут неточными. Пока схему не проверили люди, готовить её к исполнению рано. А правила исполнимой модели стоит учить, когда работа действительно ведёт к автоматизации.
- Прочитайте справочник элементов, например на сайте Camunda, и разберите три-четыре готовые схемы, называя каждый элемент.
- Нарисуйте в demo.bpmn.io знакомый процесс — согласование отпуска или запись к врачу — с одним пулом и дорожками.
- Добавьте второй пул с потоками сообщений, затем исключения: таймер, отказ, возврат на доработку.
- Проверьте схему по семи правилам 7PMG и покажите участнику процесса: узнаёт ли он свою работу.
- Откройте файл в Camunda Modeler, задайте типы задач и условия на ветках и посмотрите, каких сведений не хватает движку.
Если процессы вы уже описываете и нужна среда, где схемы связаны с оргструктурой и регламентами, подойдёт онлайн-курс Skillbox «Моделирование процессов в Business Studio: BPMN и IDEF0». Он длится месяц: четыре модуля, две практические работы и финальный проект на выбор — кофейня, торговая сеть или производство. Модели проверяет эксперт, доступ к Business Studio дают на девять месяцев. Школа рассчитывает на слушателей с опытом анализа процессов.
Как навык влияет на доход
Отдельной надбавки за BPMN почти не бывает: нотация входит в требования к системному и бизнес-аналитику, методологу, аналитику 1С, и платят за роль целиком. Открытых сопоставимых данных о том, насколько владение BPMN меняет зарплату, найти не удалось.
Влияет навык через задачи, которые можно брать. Аналитик, умеющий готовить исполнимые модели и обсуждать их с разработчиками, участвует во внедрении BPM-систем — это работа сложнее описания «как есть». Чтобы оценить рынок, ищите вакансии по слову BPMN с фильтром по региону и опыту и смотрите, указана сумма на руки или до вычета налогов.
Как выбрать обучение
Нотацию редко преподают отдельно: чаще это модуль программы по системному или бизнес-анализу. Смотрите, сколько времени на ней отведено, проверяют ли схемы с обратной связью и доходит ли дело до связи модели с системой.
Для тех, кто пришёл из тестирования, поддержки или разработки, есть короткий формат: онлайн-курс TeachMeSkills «Системный аналитик» занимает два месяца и 60 академических часов живых занятий без записей. BPMN и UML идут в модуле об архитектуре, в модуле об интеграциях разбирают REST, SOAP, Swagger и Postman. На крупную тему приходится около восьми часов, по окончании выдают сертификат школы.
Короткая программа даёт обзор, но мало практики на собственных схемах. Если BPMN нужен как часть новой профессии, берите обучение дольше, где модели процессов связаны с требованиями и данными.
Такая связь есть на онлайн-курсе Яндекс Практикума «Системный аналитик»: девять месяцев при нагрузке около 15 часов в неделю, 166 часов теории и 154 часа практики. Программа проходит требования, SQL, моделирование данных и процессов, архитектуру и API; пять проектов проверяют эксперты. Отдельного проекта по BPMN в описании нет, объём работы с нотацией стоит уточнить у школы.
Перед оплатой любой программы попросите пример задания по моделированию и узнайте, разбирает ли проверяющий ошибки в шлюзах и потоках или только ставит зачёт.
Руководителю проекта автоматизации или методологу стоит сравнить и управленческие программы по рейтингу онлайн-школ по операционному управлению. Рейтинг шире нотации, поэтому в каждой программе проверяйте, есть ли практика в BPMN на ваших собственных схемах.