
Время в BPMN: как отображать ограничения
Время в BPMN частенько требуется учитывать, потому что множество регламентов бизнес-процессов включают в себя такие фразы “исполнить задачу за 2 часа”. Проблема в том, что время и BPMN не очень дружит по определению, поэтому у вас могут возникать сложности. Но варианты есть, о них в этой короткой статье.
BPMN не дружит со временем
За какое время будет выполнена задача “позвонить клиенту?” От чего зависит это время?

Пример задачи в процессе. Диаграммы нарисованы на сервисе https://storm.bpmn2.ru
Время выполнения задачи может зависеть:
- От количества таких же задач по другим клиентам
- От количества сотрудников, которые выполняют эти задачи
- От важности клиента
- От системы мотивации сотрудника
- От уровня автоматизации
- От степени контроля за сотрудниками
- От квалификации конкретного сотрудника
BPMN не позволяет отображать эти факторы. Время в BPMN отдано на уровень исполнения задачи, а не на уровень диаграммы.
Так выглядит воображаемый диалог между процессом и исполнителем задачи:
- Процесс: — Привет, нужно позвонить клиенту, вот вся информация. Как закончишь (реши сам, как закончишь) сообщи мне, я буду дальше заниматься этим вопросом.
- Исполнитель: — Понял, принял, как закончу скажу.
- Исполнитель посмотрел на все свои задачи на день, приоритеты, планы продаж и так далее и решил что сможет позвонить через 3 часа.
- Исполнитель сделал звонок и он прошёл успешно: -Эй, процесс, я всё сделал, передавай дальше, пойду другие задачи делать
- Процесс: Спасибо!
Поэтому ответ на вопрос “За сколько будет выполнена задача” — “Мы не знаем”.
Что есть в BPMN для времени
За сколько времени будет выполнена задача “позвонить клиенту”?

Диаграмма с прикреплёнными событиями по времени. Нарисовано на сервисе https://storm.bpmn2.ru
В BPMN существуют прикреплённые события, они бывают прерывающие и не прерывающие и могут зависеть от времени и от других обстоятельств тоже, вот полное описание всех символов).
Воображаемый диалог процесса и исполнителя по этой схеме в течение 12 часов:
- Процесс: Привет, позвони клиенту. Каждые 2 часа пока задачу не закроешь я буду уведомлять твоего начальника. А если через 12 часов не сделаешь задачу, я сниму её с тебя и отдам более расторопному исполнителю.
- Исполнитель: Хорошо
- Прошло 2 часа с момента назначения задачи, процесс отправляет сообщение начальнику исполнителя, исполнитель это видит и напрягается.
- …И так каждые 2 часа, исполнитель не подтвердил за 12 часов исполнение задачи… процесс: Ну всё, ты не справился с этой задачей. Забудь про неё, я поведу процесс дальше по алгоритму.
- Исполнитель: Окей 🙁
- Процесс новому исполнителю: Привет, позвони клиенту. Каждые 2 часа пока задачу не закроешь я буду уведомлять твоего начальника. А если через 12 часов не сделаешь задачу, я сниму её с тебя и отдам более расторопному исполнителю.
- И так далее.
Ответ на вопрос “За сколько будет выполнена задача” по-прежнему не дан.
Поэтому прикрепленные события по времени не могут быть указанием на ожидаемый срок выполнения, их предназначение — вести процесс дальше, если кто-то не успевает делать свои задачи.
Еще варианты отображения времени
Просто указать комментарием к элементу:
Хорошо подойдет для ключевых задач, самых важных. Если вставлять к каждому элементу, то диаграмма станет малочитаемой.
Вариант посложнее — вынесение сроков за границы диаграммы:
В регламенте, задаче на автоматизацию, ТЗ и так далее пишем:
“Задача №1.1. “Позвонить клиенту” должна быть выполнена за 2 часа. В случае просрочки факт фиксируется, задача не снимается. Просроченные задачи участвуют в системе мотивации персонала по методологии расчета премий… “
В итоге
BPMN практически не имеет инструментов для управления ограничениями по времени — что мне нравится, потому что он освобождает голову для действительно важных вещей — последовательности действий, направленной на достижение результатов. Но в реальном мире мы как-то со временем работаем, поэтому можно использовать перечисленные в статье варианты. А как вы справляетесь с такими задачами? Расскажите в комментариях.
Комментарии