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

Публикации
Поделиться:

Владимир Репин

Генеральный директор ООО «Владимир Репин Менеджмент»

Член ABPMP Russia

Доцент

Консультант по управлению

Бизнес-тренер

Кандидат технических наук

В статье Владимира Репина рассматривается вопрос возможности применения нотации 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!

www.bpm3.ru

Декабрь 2023 г.

Поделиться:

Рекомендуемые материалы по тематике