Формирование BPMN схемы вокруг Happy Path

BPMN схема

Источник изображения: Flaticon.com

Happy Path - это типовой сценарий выполнения процесса, по которому процесс идет без ошибок и быстро доходит до конца.

Мне подвернулся случай проиллюстрировать что такое BPMN схема, сформированная вокруг счастливого пути. На одном из технических собеседований меня попросили сделать тестовое задание и нарисовать BPMN. С разрешения интервьюера я публикую тестовое задание и мой вариант решения.

Тестовое задание

Нарисовать схему BPMN "Выдача наличных в банкомате":

  • описать процесс максимально детально
  • но только до момента ввода pin-кода карточки
  • схема должна легко читаться бизнесом
  • время выполнения - полчаса.

Схема BPMN

Я нарисовал с помощью Modelio примерно такую схему:

BPMN схема снятия наличных с банкомата

Увеличенный вариант, 1920x800 пикселей

(Схема нарисована с помощью Modelio, бесплатное десктопное приложение, Windows и Linux. Modelio умеет рисовать как UML так и BPMN. Видео-обзор Modelio на 15 минут от одного аналитика).

Мои примечания

Традиционно считается, что BPMN нужно рисовать с использованием дорожек.

Пеший по-конному

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

  • следит за процессом на своей дорожке. Вслух по шагам озвучивает свои действия
  • когда токен переходит на другую дорожку - расслабляется пока говорит коллега
  • когда токен возвращается на его дорожку - снова включает свое внимание. Продолжает озвучивать свои действия.

У кавалеристов это называлось "пеши по-конному". Кавалеристы выстраивались в походный строй экскадрона, но без лошадей. Они получали команды на перестроение и выполняли их пешком:

"Эскадрон, пики к бою! Шашки вон! Рысью размашистой, но не раскидистой! Вперед, марш, марш! Руби врага!!!"
В.Суворов, "Очищение"

В современности существует дает спорт "пеши по-конному":

Когда было получено понимание очередного перестроения, дальше кавалеристов сажали на коней. Они выполняли ту же самую команду, но уже в реальном строю.

Конная лава

Источник фото: limited-history.ric.mil.ru

Одиночная работа со схемой

Но гораздо чаще у BMPN схемы более верхнеуровневое применение:

  1. Согласование с бизнесом
  2. Собственное понимание
  3. Понимание разработчиком.

Во всех трех случаях схема должна помочь одному смотрящему разобраться как устроены процессы. В расчете на просмотр схемы одним человеком, я стараюсь отрисовывать Happy path в одну горизонтальную линию, могу даже выделить счастливый путь цветом. (Если есть необходимость указывать исполнителей у задач, то это можно делать не дорожками, а текстом на задаче или цветом задачи).

Концентрация на "счастливом пути" дает следующие выгоды.

Для заказчика. Когда заказчик смотрит BPMN схему, он проходится по счастливому пути и в большинстве случаев сразу улавливает что схема делает. Это бережет его энергию согласно принципу Парето для аналитиков: "Просмотр 20% BPMN схемы должен давать 80% понимания ее процессов".

Также я заметил, что если заказчику хватило внимания на изучение счастливого пути, то согласование схемы с его стороны можно сказать уже почти завершено.

Если у заказчика есть время, то он может по очереди исследует отклонения от счастливого пути, пока не закончится схема. Даже если что-то в исключениях ему не понятно или слишком сложно, он пропускает непонятное отклонение и продолжает исследовать следующие отклонения от счастливого пути.

Иногда у заказчика заканчивается внимание и он оставляет часть вариантов нерассмотренными.

Тем не менее, если заказчик понял счастливый путь, он уже склонен спокойно поставить подпись под схемой, пусть даже если он не прошелся по всем веточкам бизнес-процесса.

Нужно иметь ввиду, что заказчик-руководитель сильно перегружен информацией. Когда у него на столе десятки документов на подпись, он не читает их целиком, лишь скользит по диагонали. Выделенный цветом Happy path как раз и есть та самая линия, по которой будет скользить взгляд заказчика. Если понятные Happy path и некоторые привлекшие внимание ответвления, то у заказчика есть чувство, что в целом в схеме все в порядке и можно ставить подпись.

Польза для аналитика. Отрисовка счастливого пути позволяет быстро сформировать "хребет" диаграммы. Позже по обе стороны хребта можно будет навесить ребра-отклонения от счастливого пути:

Скелет рыбы

Польза для разработчика. Со счастливым путем перед глазами разработчик может быстро набросать работающий MVP, заменив отклонения заглушками. Заказчики ценят быстроту создания продукта, когда они уже что-то могут посмотреть/пощелкать. Позже разработчик сможет постепенно прорабатывать отклонения от Happy path.

Работа над схемой

После публикации статьи я заметил кусок, который можно было бы улучшить:

Некрасивый кусок схемы

1) Возможно, стоило шлюз "Валидна ли карточка?" поменять на два последовательных шлюза:

  • Есть ли доступ к серверу?
  • Валидна ли карточка?

2) Стоит показать схему безопасникам. Они могут попросить слить оба варианта в один и просто извещать, что не удается проверить карточку без уточнения причин. Это может помешать злоумышленникам определить, что у банкомата нет доступа к серверу.

3) Надписи об этих двух ошибках сделаны со стороны банкомата и не очень понятны для владельцев карточек. Владельцу карточки было бы удобнее точно знать причину на чьей стороне ошибка, когда его карта не прошла валидацию - или ошибка на стороне банкомата или ошибка на стороне карты. Еще удобнее, чтобы пояснение причин ошибки дополнялось указанием действия, которое может предпринять владелец карточки для получения наличных. Например:

  • надпись "Нет возможности проверить карточку (нет доступа к серверу)" дополнить: "Попробуйте вставить карточку через минуту или пройдите к другому банкомату"
  • надпись "Карта невалидна" дополнить "Попробуйте использовать другую карту".

4) Возможно, вы тоже заметили какие-то ошибки в моей BPMN схеме. Сообщите пожалуйста о них через форму контактов. Спасибо!

© 2018-2023 MaxReform.ru. Все права защищены.