BPMN - что это такое
BPMN - это набор символов и описание того, как они превращаются в XML, машиночитаемый формат.
Визуальные символы понимают люди и используют BPMN чтобы договариваться, а XML используют специальные программы (например Camunda), чтобы обеспечить автоматизацию процессов.
Набор символов строго определен, принципы их работы описаны в официальном документе, который разрабатывает организация OMG, которая занимается стандартизацией ИТ-отрасли. В это организацию входят представители крупных организаций, таких как HP, IBM, Red Hat и так далее.
Официальный набор символов похож на алфавит - он рассказывает о том, какие в принципе бывают элементы, но мало чего говорит о том, как их сочетать вместе. Выглядит это буквально так "Вот буква А, вот буква Б. Они могут работать вместе". А еще стандарт больше про XML-часть, а не про людей.
Таким образом по стандарту вполне может существовать слово ААААББАББАААББ, но с человеческой точки зрения в нем нет никакого смысла.
Поэтому мы придумали свои правила применения BPMN и назвали их "соглашение о моделировании PMA" (скачайте его по ссылке, оно бесплатное). PMA больше похоже на словарь-разговорник и грамматику - соглашение поможет решать реальные задачи, типа "Как найти ресторан или вызвать врача", если продолжать аналогию.
Зачем применяют BPMN - хорошие варианты
В начале текста стандарта говорится о том, что его создавали, чтобы быть мостиком между ИТ (программистами) и представителями бизнеса (руководством, продажниками, менеджерами) - обычно так его и применяют. Бизнес описывает процессы как умеет, а программисты по описанным процессам автоматизируют процессы.
BPMN всегда применяют в контексте бизнес-процессов (что это такое - прочитайте в отдельной статье).
Нам известны такие хорошие сценарии применения:
- Договориться с коллегами о том, как работать: если вы работаете в организации, которая решился взяться за наведение порядка в бизнес-процессах, то вам придется много договариваться. BPMN, за счет своей относительной простоты (при использовании минимального набор символов), часто является хорошим фундаментом для обсуждения бизнес-процессов. Такой вариант называют "регламентация", "моделирование", "описание" бизнес-процессов.
- Написать хорошее техническое задание: в BPMN можно моделировать сложные бизнес-процессы, которые предполагается автоматизировать. В этой ситуации можно очень удобно и классно отобразить то, за какие части нашего процесса какие системы отвечают и как они интегрируются друг с другом.
- Быть основной для автоматизации: этот сценарий отличается от написания ТЗ, потому что здесь во всю мощь используется машиночитаемая составляющая BPMN. Существует специальное программное обеспечение, которое умеет "понимать" XML и превращать его в программный код или алгоритмы. Такие системы называют BPMS или BPM-движки. Использование таких систем дает особенное преимущество - программа работает именно так, как нарисовано. А значит менять и улучшать ее будет проще.
Создавать процессы в BPMN бесплатно можно в нашем сервисе
Он поможет сделать правильную диаграмму без ошибок
Зачем применяют BPMN - плохие варианты
- Составление инструкции сотрудника по выполнению операций: кажется, что BPMN хорошо подойдет за счет визуальной составляющей, чтобы объяснить как работать. Практика показала, что 1) BPMN на всю катушку сложный для исполнителей 2) следить глазами в момент исполнения операции о том месте, где остановился, сложно 3) мы лишаем человека адаптации к текущей ситуации:
- Дело в том, что нотация требует непосредственного исполнения задач так, как нарисовано. В данном случае нельзя узнать бюджет раньше, чем узнали цель сделки. А что делать, если клиент сказал бюджет еще раньше, чем оператор представился? Хорошей альтернативой для описания инструкций являются чек-листы
- СJM, переходы клиента по страницам - для построения хорошего клиентского опыта очень важно видеть интерфейсы и макеты дизайна. К сожалению BPMN не предоставляет возможность прикрепления скриншотов, максимум ссылки на них. Кроме того, хороший CJM часто включает ответы на вопрос "О чем думает клиент" и "Что чувствует клиент", а в BPMN абстракций таких нет. Старая добрая Figma подойдет для таких целей лучше.
- Прочие применения, не касающаяся бизнес-процессов как таковых - проектирование огорода, рассадки свадьбы, организационной структуры и так далее:
Типы BPMN диаграмм
В стандарте приводят 4 разных типа диаграмм, которые имеют разные наборы значков, цели и задачи:
- Process - диаграмма процесса. Используется, чтобы описать один конкретный процесс.
- Collaboration - диаграмма взаимодействия. Используется, чтобы отобразить взаимодействие участников и процессов.
- Conversation - диаграмма переговоров. Задумывалась для того, чтобы отобразить взаимодействие процессов между друг другом, на практике не применяется.
- Choreography - диаграмма хореографии. Даже сложно сказать зачем задумывалась, на практике не применяется.
Если кто-то говорит BPMN, то вероятнее всего он говорит о Process или Collaboration диаграммах. В этой статье мы делаем тоже самое.
Из чего состоит процесс в BPMN
Диаграмма процесса в BPMN должна рассказать историю того, как группа участников работают сообща, чтобы довести дело до завершения. Предметом описания в BPMN является сама последовательность взаимодействия участников процессов. Чтобы описать такую последовательность, авторы BPMN придумали разные типы значков:
Задачи (Activity)
Это квадратики призваны объяснить, что надо сделать. Это атомарные, неделимые задачи. Они бывают разного типа, он отображается в верхнем левом углу и помогает понять, какого рода эта задача. Так же у них бывает разная множественность, она помогает понять сколько раз и как выполняем задачи - она отображается внизу по середине.
А еще квадратики могут отображать переиспользование (когда вы ссылаетесь на другой процесс) или декомпозицию (когда вы "сворачиваете" часть процесс в один квадратик). Сильно не пугайтесь, вот вам видео на 9 минут, где разобраны все квадратики с примерами :)
Следует уточнить что такое атомарный квадратик. Дело в том, что его атомарность может быть разной в разных ситуациях. Вот несколько критериев, которые помогут разобраться:
- Если в модели процесса BPMN действия делает одна и та же роль, то возможно стоит соединить в один квадратик. Потому что это начинает напоминать операционную инструкцию, о которой мы говорили выше.
- Если действия сделать в другом порядке и от этого не испортится смысл, то вероятно это одно действие.
- Если действий в реальности во времени выполняются сразу же, за один присест, то возможно это одно действие.
Вот более детальное видео на эту тему:
-
Шлюзы (Gateways)
Эти ромбики обозначают разделение или слияние потоков работы. Всего существует 7 типов ромбиков, принцип работы ромбика определяется символом внутри:
Вот что надо знать про шлюзы:
- Их поведение и влияние на процесс меняется в зависимости от символа внутри.
- Их поведение и влияние на процесс меняется в зависимости от количества входящих и исходящих стрелочек.
Для базового использования BPMN достаточно разобраться со шлюзом И (с плюсиком внутри) и шлюзом ИЛИ (с крестиком или без ничего) внутри. Мы подготовили для вас подробную статью, где рассказываем ВСЁ про шлюзы:
-
События (Events)
События в BPMN обозначают что в процессе уже что-то случилось или ожидается, что случится. Это "что-то" влияет на ход процесса. Например, настал 3 рабочий день пятницы. Или мы получили платеж в клиент-банке.
События отображаются кружком, а у самого кружка есть 3 характеристики:
- Прерывистость границы - определяет является ли событие прерывающим или нет.
- Толщина границы - определяет является ли событие стартовым, промежуточным или завершающим.
- Символ внутри - определяет контекст события - время, условия, сообщения.
- Место использования - определяет принцип работы события, бывают прикреплённые, не прикреплённые, встроенные в процесс обработчик.
Не пугайтесь, мы сделали для вас небольшое видео со ВСЕМИ примерами событий.
-
Линии (Flows)
Существует 3 вида линий:
- Поток управления (Sequence flow) - сплошная черная линия со стрелкой. Соединяет события, задачи и развилки внутри одного процесса. Не может выходить за границу пула. Обозначает передачу информации и ответственности среди участников процесса.
- Поток сообщений (Message flow) - прерывистая черная линия со стрелкой. Показывает обмен сообщениями между участниками взаимодействия, например пулами. Может соединять как пулы просто, так и конкретные события или задачи отправки и получения событий.
- Поток ассоциации ( Association flow) - еще одна, более прерывистая линия. Может не иметь стрелки. Показывает связь комментария, объекта данных или хранилища данных с элементами процесса.
-
Пулы (Pool) и Дорожки (Lanes)
Пулы - это черные прямоугольники, которые задают границу процесса. Только внутри пула можно использовать квадратики, стрелочки, ромбики и стрелочки (за небольшим исключением). Пулы могут взаимодействовать друг с другом с помощью Message flow.
Дорожки - это разделение пула на части. Стандарт BPMN говорит, что смысл разделения пула на дорожки остается на усмотрение автора диаграммы. Самые частые причины разделить пул на дорожки - показать исполнителей\системы исполнения задач. Мы не советуем так делать, вот почему:
-
Все остальное
Осталось пару элементов, которые входят в BPMN:
- Объект данных (Data object) - отображает данные, которые существуют и используются в процессе.
- Хранилище данных (Data storage) - отображает хранилище данных, которое может быть использовано как внутри процесса, так и за его границами.
Главный секрет BPMN - токены
Чтобы хорошо понимать BPMN, недостаточно просто разобраться с символами и соединять их в правильные колбаски или шашлыки. Диаграмму процесса можно представить как поле настольной игры со своими правилами, по которой двигаются игроки (в случае с процессом это заявки, запросы на отпуску, документы на отгрузку и так далее). Каждый символ в BPMN может увеличивать или умножать количество таких игроков (их называют токены).
Обидно будет, если ваш банк выдаст клиенту кредит 5 раз, потому что вы не знали правил токенов.
Поэтому мы записали подробное видео о том, как все элементы работают с токенами:
Сравнение BPMN с альтернативами
Сравнивать BPMN с другими средствами моделирования желательно в контексте решаемых задач. BPMN, из-за своей полноты и подробности, безоговорочный лидер для описания реальных сложных бизнес-процессов.
-
BPMN VS UML
UML Activity Diagram подходит для системных процессов, чаще применяется разработчиками. Проще, используется для описания рабочих процессов в системах.
BPMN более детализирован и фокусируется на взаимодействии участников, тогда как UML Activity Diagram — на последовательности действий в системе.
-
BPMN VS Archimate
Archimate подходит для моделирования архитектуры предприятия. Ориентирован на архитекторов, охватывает несколько слоев архитектуры (бизнес, приложения, технологии) и помогает связать стратегию с реализацией.
BPMN детализирует конкретные бизнес-процессы, тогда как Archimate моделирует общую архитектуру предприятия, включая бизнес-процессы, приложения и технологии.
-
BPMN VS EPC
Величайшая пара :)
EPC модель ориентирована на события (а BPMN на действия). Применяется для анализа и улучшения процессов, популярна в SAP-средах. Моделирует процессы через последовательность событий и функций, но менее гибкая для сложных сценариев и автоматизации.
BPMN более универсален и поддерживает сложные сценарии, включая автоматизацию, тогда как EPC проще и чаще используется для анализа процессов в корпоративных системах.
-
BPMN VS IDEF0
IDEF это семейство методологий для моделирования функций, информационных потоков и объектов. Наиболее известен IDEF0, который фокусируется на высокоуровневом описании функциональных процессов. Используется для анализа, оптимизации и документирования сложных систем, чаще в инженерных и производственных средах.
Итог: BPMN лучше подходит для детализированного моделирования и автоматизации бизнес-процессов, тогда как IDEF используется для высокоуровневого анализа и документирования функциональных систем, особенно в инженерии и производстве.
Где моделировать BPMN
Есть несколько инструментов, которые позволят вам быстро и просто создать модель бизнес-процесса.
- https://stormbpmn.com/ - бесплатный облачный редактор, который не просто позволяет накидывать кружочки и стрелочки на полотно, но и защищает вас от типичных ошибок и позволяет создать качественный BPMN, который быстро поймут коллеги.
- https://www.drawio.com/ - бесплатный облачный сервис моделирования широкого профиля. Можно и схему нарисовать, и план огорода.
- https://www.lucidchart.com/ - платный облачный сервис моделирования широкого профиля.