Нотация BPMN: ошибки применения для описания неавтоматизированных процессов «Как есть»

В статье Владимира Репина рассматривается вопрос возможности применения нотации BPMN для описания неавтоматизированных бизнес-процессов «Как есть». Обсуждаются элементы нотации BPMN, использование которых при описании процессов «Как есть» недопустимо, так как это приводит к искажению реальной картины деятельности организации и, как следствие, к невозможности проводить анализ и принимать решения по оптимизации бизнес-процессов. Статья будет полезна руководителям и бизнес-аналитикам, перед которыми поставлена задача описания процессов «Как есть» с целью проведения анализа и разработки мероприятий по оптимизации(в том числе автоматизации и цифровизации) процессов.

Введение. Ключевая проблема применения BPMN для процессов «Как есть»

Нотация BPMN, де-факто, является в настоящее время общепризнанной, основной и, практически, единственной нотацией для качественного, можно сказать, инженерного описания исполняемых процессов. Другими словами – процессов, которые можно выполнить. Такой взгляд на процесс нужен в случае, если поставлены цели:

  1. создать модель процесса «Как есть», адекватную реальной выполняемой деятельности, с целью анализа и обоснования мероприятий по оптимизации;
  2. разработать регламент выполнения бизнес-процесса (конкретный, понятный руководящий документ для исполнителей, а не обще-руководящий, водянистый, «исотизированный» документ);
  3. подготовить техническое задание для автоматизации бизнес-процесса в BPM-системе и/или СЭД.

На первый взгляд, BPMN идеально подходит для решения указанных задач. Но есть одна ключевая проблема. Нотация BPMN разработана и предназначена для проектирования бизнес-процессов в исполняемых системах – системах класса Business Process Management (BPMS). Это означает, что смысловые конструкции языка, заложенные в нотации BPMN, должны полностью поддерживаться функционалом конкретной BPM-системы при настройке и выполнении автоматизированного процесса. Если это не так, то вы имеете дело не с BPM-системой, но с продуктом, который только имитирует поддержку нотации BPMN.

Теперь представьте, что мы используем BPMN для описания реальных бизнес-процессов «Как есть». Они, чаще всего, являются «эксельно-аутлуковыми », не используют BPMS, хотя могут быть частично автоматизированы в различных функциональных системах, например, 1С («Функциональная автоматизация»).

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

Это утверждение может быть новостью для неопытных бизнес-аналитиков, но, вряд ли, — для профессионалов. Но, даже некоторые профессионалы иногда создают неадекватные реальности модели по различным причинам: недостаток времени, нежелание «заморачиваться» на создание сложной модели «Как есть», игнорирование последствий и проч.

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

Описательная модель и потерянные токены

Большинство аналитиков, которые переходят с создания «описательных» моделей (диаграмма с ромбиками в «доморощенной нотации «а-ля» 1974 год») на BPMN, часто упускают из вида понятие токена и его движение от задачи к задаче при выполнении процесса.

Рассмотрим текстовое описание некоторого кейса:
«Инициатор предоставления отчетов (роль) уведомляет по электронной почте руководителей структурных подразделений о необходимости предоставить Отчеты подразделений в установленный срок (одновременная рассылка нескольким адресатам). Руководители подразделений готовят отчеты и предоставляют Инициатору, который периодически, например, раз в 2 часа (после перекура и кофе), проверяет почту. В случае, если поступил отчет (корректировка отчета, пояснения), то Инициатор выполняет проверку информации. В случае, если в отчете чего-то не хватает или есть неточности, то Инициатор уведомляет об этом руководителя соответствующего подразделения. Когда собраны корректные отчеты по всем подразделениям, Инициатор готовит Сводный отчет и предоставляет его Большому начальнику по электронной почте. Начальник проверяет отчет. В случае наличия замечаний, направляет их Инициатору. Тот, в свою очередь, может внести изменения самостоятельно и/или запросить уточнения у руководителей подразделений».

Бизнес-аналитик, получив такой текстовый кейс, изобразил в нотации BPMN следующую схему – см.рис.1.

Рис. 1. Пример «Описательного», неисполняемого процесса.

Представленный на рис.1 процесс, на первый взгляд, является простым, как две копейки. В начале процесса Инициатор (условная роль) уведомляет руководителей подразделений, каждый из которых должен подготовить отчет за период по своему подразделению. Инициатор получает все отчеты и анализирует их. Если есть замечания к конкретному отчету, Инициатор запрашивает у руководителя соответствующего подразделения уточнения. С точки зрения «описательной» схемы всё выглядит корректно. Но выполнить такой процесс в BPM-системе будет нельзя. Токен на схеме движется только один. Поэтому нельзя запустить несколько задач у нескольких руководителей.

Обратите внимание, бизнес-аналитик подразумевал (это важно – элемент абстракции!), что рассылка уведомлений и получение отчетов выполнятся по электронной почте. В случае несоответствий выполняются повторные запросы по e-mail. С описательной точки зрения схема, представленная на рис.1, вполне понятна. Но с точки зрения нотации BPMN в BPM-системе такой процесс можно будет выполнить только для одного токена и для одной пары «инициатор-руководитель подразделения», что не соответствует условиям кейса.

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

Рис.2. Пример схемы, корректной с точки зрения исполнения в BPM-системе (движение документов не показано).

На рис. 2 показано, что сразу после старта процесса запускается необходимое количество (множественный параллельный цикл) подпроцессов, в рамках каждого из которых Инициатор направляет уведомление, получает отчет, проверяет его, при необходимости запрашивает уточнения. После выполнения подпроцессов по всем подразделениям Инициатор готовит сводный отчет и направляет его Большому начальнику. Если у последнего есть замечания и требуются уточнения, то выполняется возврат и запуск подпроцессов, которые необходимы для уточнения информации. Представленная схема всем хороша, кроме одного: она, несколько, не соответствует реальному процессу «Как есть».

BPMN-у – BPMN-ово, регламенту – описательное?

Попытка разработать схему в нотации BPMN, соответствующую реальному процессу «Как есть», без использования семантики BPMN, неприменимой к неавтоматизированному «эксельно-аутлуковому» процессу, показана на рис. 3.

Рис.3. Пример схемы в нотации BPMN, соответствующей процессу «Как есть».

Схема, с точки зрения специалиста по автоматизации в BPM-системе, выглядит «страшненько». Но это, — именно, попытка описать языком нотации BPMN реальный «эксельно-аутлуковый» процесс «Как есть». Кстати, недопустимой крамолой является использование в качестве свернутых пулов руководителей подразделений (человек – это не процесс).

Вдумчивый читатель, определенно, уже понял основную идею – язык BPMN плохо подходит для описания реального, неавтоматизированного процесса «Как есть». Еще вдумчивый читатель, наверное, спросит: «А не нарисовать ли нам, для упрощения, обычную описательную модель процесса вообще без логических элементов — просто как набор последовательно выполняемых задач, а потом описать эту работу текстом?». Да, можно. Но это будет означать отказ от BPMN как инструмента и возврат к морально устаревшим описательным, примитивным схемам. С другой стороны, если схема и описание практически решают задачу, то почему бы и нет? Но есть риск, что использование двух разных подходов в одной организации будет путать неискушенных в методах моделирования руководителей и специалистов.

Возможно, когда-нибудь появятся более естественные, близкие к реальности языки описания того, как реально действует человек (сотрудник в офисе). Строгое следование алгоритму (путь токена), без прерываний и спонтанного (или по требованию) переключения с задачи на задачу – это модель для робота, но не для человека (хотя в BPMN есть спонтанный- Ad-Hoc подпроцесс, но его редко используют любители строгих алгоритмов). Описание «человеческого» процесса для языка BPMN, похоже, задача непосильная…

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

Стартовые события процесса

Рассмотрим кейс. Исполнитель периодически смотрит почту. В случае, если поступило письмо клиента, он начинает что-то делать… На рис. 4 показана схема соответствующего процесса. Очень многие неопытные аналитики, увидев в BPMN маркер конверта тихо радуются и начинают его применять везде, где есть какие-либо «сообщения», запросы, письма и т.п. Но в BPMN стартовое событие-сообщение имеет четкий смысл – автоматический запуск экземпляра процесса на исполнение. В случае (см. выше), когда клиент присылает запрос по e-mail и сотрудник вручную смотрит почту, никакой экземпляр процесса автоматически не запускается. То есть так использовать язык BPMN некорректно – это несоответствие реальности. А как нужно? Да просто использовать стартовое событие неопределенного типа…

Рис. 4. Старт процесса путем получения сообщения.

Следующий кейс. Исполнитель анализирует дебиторскую задолженность и, в случае превышения лимита, начинает что-то делать… Бизнес-аналитик рисует схему, представленную на рис. 5 и… опять ошибка несоответствия.

Рис. 5. Старт процесса событием-условием.

Событие-условие (триггер) в BPMN обозначает автоматический старт экземпляра процесса в случае, если в системе изменилось какое-то условие (например, А стало равно B). Но в рассматриваемом случае это не так – Исполнитель смотрит в базу и вручную запускает работу с ДЗ в случае, если видит превышение. Другое дело, когда автоматически в системе выполняется некоторый код и у исполнителя появляется соответствующее сообщение и новая задача…

Событие-сигнал – это очень специфический элемент нотации BPMN (см. рис. 6). В реальной жизни аналогом его может служить, пожалуй, только уведомление, переданное через систему оповещения, например, о пожарной тревоге. Да и то «с натяжкой», так как получают этот сигнал не экземпляры процессов, а люди (человек – это не процесс). Даже веерная рассылка по e-mail или через мессенджер не является аналогом, поскольку такие сообщения могут быть вообще не прочитаны, а если прочитаны, то совершенно необязательно повлекут за собой какие-либо действия. Поэтому использовать сигнал на схемах процессов «Как есть» не рекомендуется.

Рис. 6. Старт процесса событием-сигналом.

Завершающие события

Событие «Завершение» (в народе – «Терминатор») – очень специфическая конструкция BPMN, которая может использоваться только при описании процессов, предназначенных для исполнения в BPM-системе. Когда срабатывает завершающее событие такого типа, все токены в рамках экземпляра процесса будут остановлены и экземпляр процесса в целом будет завершен.

Рассмотрим пример, представленный на рис. 7. Это процесс согласования договора с поставщиком. В случае, если у представителя Службы безопасности (СБ) есть сомнения в надёжности контрагента и он отказывает в согласовании, то процесс переходит на задачу «Уведомить поставщика об отказе в заключении договора» и после нее срабатывает терминатор. По замыслу бизнес-аналитика это означает, что все задачи согласования, которые выполняются в это время, будут остановлены, а другие задачи не будут начаты… Но как в реальном процессе его участники (согласованты) узнают о том, что получен отказ от СБ? Только за счет веерной рассылки или сообщения в общем чате, через звонки. Сами по себе, выполняемые ими задачи не смогут быть остановлены «Терминатором». Таким образом, использование терминатора для описания процесса «Как есть» приводит к искажению реальной картины процесса.

Рис. 7. Событие-терминатор.

Шлюзы

Эксклюзивный шлюз по событиям является еще одним элементом BPMN, который технически может быть реализован в BPM-системе, либо в ERP, но тогда программистами должен быть написан специальный код.
На рис. 8 слева показан пример использования эксклюзивного шлюза по событиям. Менеджер отправляет счет на оплату клиенту. Далее ПРОЦЕСС ждет на эксклюзивном шлюзе по событиям возникновения одного из двух альтернативных событий: либо счет оплачен, либо с момента его выставления прошло 2 рабочих дня. Если знаешь нотацию BPMN, то всё понятно… Только вот не понятно, как именно в реальном «эксельно-аутлуковом» процессе «Как есть» это реально будет выполняться.

Рис. 8. Эксклюзивный шлюз по событиям.

Гораздо проще применить обычное решение – использовать простой эксклюзивный шлюз, как показано справа на рис. 8. Над задачей «Проверить поступление денежных средств» показан нормативный период, в течение которого менеджер обязан проверять поступление денежных средств по счету.
Вообще, промежуточное событие-условие («Триггер») можно использовать на модели «Как есть» только в случае, если в информационной системе (например, ERP) действительно срабатывает некоторый код и сотрудник получает соответствующую задачу на исполнение.

Передача информации между задачами процесса

На рис. 9 слева показано, что выходом «Задачи N» является «Документ», который поступает в «Задачу N+1». Но как именно? Что за документ, в какой форме, с каким статусом, посредством какого программного продукта передается? Схема не дает ответа на вопрос. Является ли это недостатком нотации BPMN? Только в том смысле, что нотация не требует жестко моделировать эти аспекты. При формировании схемы исполняемого процесса в BPM-системе их отражать визуально не нужно. Чего нельзя сказать об информации о структуре документа, его статусе и прочее (нужны для настройки структуры данных, проектирования экранных форм, действий с переменными).

Рис. 9. Передача информации между задачами процесса в нотации BPMN.

Справа на рис. 9 показано, как мы моделируем в Business Studio. Для полноты картины показываем статус документа (например, в скобках после названия), посредством чего он передается (в данном примере – через MS Outlook), какое ПО используется при выполнении задач. Схема явно становится информативнее, хотя, это — уже не BPMN… Подробнее о нашем подходе к моделированию потоков информации в нотации BPMN именно в Business Studio можно прочитать в статье «Моделирование информационных потоков в нотации BPMN в Business Studio 5».

Выводы

Итак, я рассмотрел несколько примеров, когда семантика нотации BPMN неприменима (плохо применима) для реального «эксельно-аутлукового» процесса «Как есть».
В качестве выводов хочу еще раз напомнить читателю, что очень важно всегда:

  1. четко формулировать цель создания модели бизнес-процесса;
  2. понимать, что за процесс вы описываете (реальный «Как есть» или новый для исполнения в конкретной BPM-системе – используемые элементы нотации BPMN могут существенно отличаться; это нужно учитывать в «Соглашении по моделированию»);
  3. адекватно ситуации использовать семантику нотации BPMN, а в случае нестандартного ее использования, четко определить допустимую в конкретной компании интерпретацию (например, в «Соглашении по моделированию»).

Удачи в описании бизнес-процессов «Как есть» с использованием нотации BPMN!

В.В. Репин,
к.т.н., доцент, консультант по управлению, Генеральный директор ООО «Владимир Репин Менеджмент», член ABPMP Russian Chapter.

Октябрь 2023 года.

Автор cтатьи
Владимир Репин
к.т.н., доцент, член ABPMP Russian Chapter, Генеральный директор ООО «Владимир Репин Менеджмент», консультант по управлению.