Workflow vs BPMN: в чём разница и что использовать
Меня часто спрашивают: — «Мы описали процесс в виде блок-схемы. Это же BPMN?» — «Workflow и BPMN — это одно и то же?» — «Могу я нарисовать workflow и отдать разработчикам?»
Короткий ответ: нет, это не одно и то же. Давайте разбираться.
🧩 Workflow — «что делаем» Workflow (поток работ) — это логика последовательности задач. Кто за кем, что за чем, где решение. Он отвечает на вопрос: «В каком порядке выполняются действия?».
Характеристики workflow: - Может быть нарисован в любой нотации (блок-схема, список шагов, даже текст) - Не требует строгих правил моделирования - Понятен почти любому сотруднику
Пример: «Сначала менеджер заполняет заявку, потом проверяет руководитель, потом отправляем клиенту». Workflow — это содержание. Схема или текст — это форма.
🎯 BPMN — это язык, на котором рисуют workflow (и не только) BPMN (Business Process Model and Notation) — это строгий стандарт моделирования. Он умеет то, что не умеет простая блок-схема: - События (получено письмо, наступил понедельник, пришёл ответ из API) - Шлюзы (ветвления: «если да — то одно, если нет — другое») - Пулы и дорожки (разные организации и роли внутри одной) - Связь с данными и системами
Характеристики BPMN: - Требует обучения (даже опытные аналитики путают типы событий) -Строго формализован (есть спецификация 2.0, по которой разработчики могут реализовать процесс в BPMS) - Не всегда понятен бизнес-пользователю без подготовки.
BPMN — это язык, на котором workflow можно описать так, чтобы его поняла и машина, и человек.
👀 Сравнение на живом примере Процесс: Согласование заявки на отпуск Вариант 1. Workflow (блок-схема, понятно всем) 1. Сотрудник заполняет заявку 2. Руководитель проверяет 3. Если согласовано - Уведомить сотрудника - Сотрудник направляет заявку в кадры 4. Если не согласовано - Уведомить об отказе
✅ Понятно. ✅ Быстро. ❌ Нельзя загрузить в BPMS и запустить автоматически.
Вариант 2. BPMN (строго, исполняемо) Стартовое событие: «Сотрудник инициировал заявку» User Task: «Заполнить заявку на отпуск» User Task: «Проверить заявку» (роль — Руководитель) Exclusive Gateway: «Согласовано?» Если Да → Service Task: «Записать в кадровую систему» Если Нет → User Task: «Указать причину отказа» End Event: «Процесс завершён» (два варианта)
✅ Строго. ✅ Исполнимо. ❌ Дольше рисовать. ❌ Требует знаний BPMN.
🎯 Что использовать и когда Согласовать логику с заказчиком за 15 минут → Workflow. Быстро, понятно, не нужно объяснять нотацию. Обучить нового сотрудника → Workflow + текст. Сотрудник должен въехать с первого раза. Передать процесс разработчикам на автоматизацию → BPMN. Разработчики поймут однозначно, нет двусмысленности. Интегрировать с BPMS (Camunda, ELMA, STORM) → BPMN (строгая 2.0). Система исполнит процесс без доработок. Описать процесс с таймерами (ожидание 3 дня) и событиями (пришло письмо) → BPMN. В блок-схеме это придётся «костылить». Написать регламент для внутреннего использования → Workflow + инструкция. BPMN будет избыточна и сложна для чтения.
💡 Мой подход На старте — workflow в Miro или на бумаге. Договариваюсь о логике с заказчиком. Если процесс идёт в автоматизацию — перевожу workflow в BPMN (в STORM или Camunda Modeler). Добавляю события, типы задач, данные. Если процесс остаётся «ручным» — оставляю workflow, добавляю роли и текстовое описание. BPMN не нужна. Главное правило: не рисуйте BPMN там, где достаточно блок-схемы. И не пытайтесь передать workflow в разработку как «почти BPMN» — программисты не угадают ваши намерения.
А Вы используете workflow и BPMN как взаимозаменяемые вещи или чётко разделяете? Бывало, что вы нарисовали сложную BPMN, а заказчик попросил «попроще, чтобы я понял»?
· 27.05
Не важно как и что называется. Ваша задача решать проблему заказчика и чтобы ему понятно было.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 27.05
Спасибо за комментарий! Вы правы в главном: цель — решить проблему заказчика, а не нарисовать красивую схему по стандарту. Если заказчику понятна блок-схема — отлично, пусть будет блок-схема.
Но есть один нюанс. Иногда «понятно заказчику» и «понятно разработчику / системе» — это два разных языка. И моя задача как аналитика — перевести с одного на другой. Если процесс пойдёт в автоматизацию, блок-схема не подойдёт, программист не сможет её однозначно исполнить. Тогда нужен строгий BPMN, даже если заказчику придётся немного напрячься.
Поэтому сначала договариваюсь workflow’ом, а для автоматизации перевожу в BPMN. Не вместо, а после.
А так — полностью согласна: без решения проблемы заказчика вся нотация бесполезна. Спасибо, что подчеркнули это! 👌
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 27.05
Это очень неправильный подход. Заказчик не должен напрягаться. Напрягаться должен разработчик.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 27.05
Мой подход: заказчику — понятный workflow, разработчику — точная BPMN. Заказчик утверждает логику, а техническую упаковку делает аналитик. Никто не напрягается, все получают своё.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён