BPMN и описание бизнес-процессов

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

BPMN (Business Process Model and Notation) — нотация описания бизнес-процессов, где явно видно, кто исполнитель каждого шага, какие события влияют на ход процесса и как обрабатываются исключения.

Вопрос 1. Чем BPMN отличается от обычной блок-схемы?

Что проверяют. Понимаете ли вы, что BPMN — это про межролевое взаимодействие и события, а не просто про красивые ромбики.

Три принципиальных отличия:

  • Исполнители явные. Пул (pool) — организация или система, дорожка (lane) — роль внутри неё. Каждая задача лежит на конкретной дорожке, поэтому сразу видно зоны ответственности и передачи между отделами. В блок-схеме исполнителя нет вообще.
  • События первого класса. Процесс может стартовать по сообщению, по таймеру, по условию; на задачу можно повесить граничное событие «прошло 3 дня» или «пришёл отказ». Блок-схема этого не выражает.
  • Стандартизованная семантика. BPMN исполним: описанную схему может выполнять движок процессов (Camunda и подобные). Блок-схема — просто картинка.

Базовые элементы, которые обязан назвать аналитик

ЭлементЗначение
Задача (task)единица работы: пользовательская, сервисная, отправка/получение сообщения
Событие (event)стартовое, промежуточное, конечное; по сообщению, таймеру, ошибке
Эксклюзивный шлюз (XOR)ровно одна ветка из нескольких — «или/или»
Параллельный шлюз (AND)все ветки одновременно, дальше ждём все
Событийный шлюздальше пойдём по той ветке, чьё событие наступит первым
Пул / дорожкаучастник процесса / роль внутри участника
Поток сообщенийпунктирная стрелка между пулами (между организациями)

Важная деталь, которую спрашивают: сплошная стрелка (sequence flow) не может пересекать границу пула. Между пулами — только пунктирный поток сообщений. Это отражает реальность: вы не управляете порядком работ внутри чужой организации, вы только обмениваетесь с ней сообщениями.

Вопрос 2. Опишите процесс согласования заявки в BPMN

Что проверяют. Разберёте ли вы исключения: отказ, доработку, истечение срока. Кандидат, рисующий только «согласовал → исполнил», выдаёт отсутствие практики.

ПУЛ: Компания
┌──────────────────────────────────────────────────────────────┐
│ Дорожка: Сотрудник                                            │
│  (○ старт) → [Создать заявку] ───────────────┐                │
│                     ▲                        │                │
│              [Доработать заявку]             │                │
│                     ▲                        ▼                │
├─────────────────────┼────────────────────────────────────────-┤
│ Дорожка: Руководитель                        │                │
│                     │                 [Рассмотреть заявку]    │
│                     │                        │                │
│                     │                    <XOR решение>        │
│                     │        отклонить ─────┼──── на доработку│
│                     └───────────────────────┘                 │
│                              согласовать                       │
│                                   │                            │
├───────────────────────────────────┼───────────────────────────-┤
│ Дорожка: Бухгалтерия              ▼                            │
│                          [Провести оплату] → (● конец)         │
└──────────────────────────────────────────────────────────────┘

Граничное событие-таймер на «Рассмотреть заявку»:
если 3 рабочих дня нет решения → эскалация вышестоящему
руководителю (отдельная ветка, не показана в схеме).

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

Вопрос 3. Зачем описывать «как есть», если всё равно всё переделываем?

Что проверяют. Понимание ценности моделей AS-IS и TO-BE.

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

При этом AS-IS не нужно рисовать во всех подробностях. Достаточно уровня, на котором видны передачи ответственности между ролями и точки ожидания — там и живут потери.

Типичные ошибки кандидатов

  • Ведут сплошную стрелку между пулами вместо потока сообщений.
  • Рисуют один пул на всех и теряют главное преимущество нотации — видимость передач между ролями.
  • Показывают только счастливый путь: без отказа, доработки и просрочки.
  • Путают эксклюзивный и параллельный шлюзы: ставят AND там, где ветки взаимоисключающие, и процесс формально никогда не завершается.
  • Забывают закрывать открытые шлюзы: разветвили параллельно, а слияние не нарисовали.
  • Уходят в детали интерфейса: «выбрать в выпадающем списке» — это не задача процесса.

Как ответить кратко

BPMN отличается от блок-схемы тем, что показывает исполнителей через пулы и дорожки, поддерживает события — таймеры, сообщения, ошибки — и имеет строгую исполнимую семантику. Между пулами допустим только пунктирный поток сообщений, сплошные последовательные потоки внутри пула. Обязательно моделирую исключения: отказ, возврат на доработку и граничный таймер на просрочку — без них схема бесполезна. AS-IS рисую до TO-BE, чтобы измерить эффект в цифрах, не потерять накопленные исключения и найти реальное узкое место, а не то, на которое указали.

Проверьте себя
1. Что можно провести между двумя пулами в BPMN?
AСплошной поток управления (sequence flow)
BПунктирный поток сообщений (message flow)
CЛюбой из них, разницы нет
DТолько ассоциацию с текстовой аннотацией
2. Как в BPMN правильно выразить условие «если руководитель не рассмотрел заявку за 3 рабочих дня, идёт эскалация»?
AОтдельной задачей «Проверить срок» после согласования
BТекстовой аннотацией рядом с задачей
CГраничным событием-таймером на задаче рассмотрения
DПараллельным шлюзом перед задачей
3. Зачем описывать процесс AS-IS, если его всё равно будут менять?
AТак требует любая методология внедрения
BЧтобы измерить эффект в цифрах, не потерять накопленные исключения и найти реальное узкое место
CЧтобы обосновать бюджет проекта перед закупкой
DЧтобы разработчики понимали код старой системы