BPMN — белый световой меч аналитика
Всем привет! Меня зовут Максим, я старший аналитик компании ITFB Group. В этом посте я хотел бы поговорить о BPMN и о бизнес-анализе в общем. Под понятием бизнес-анализа, говоря простым языком, можно понимать формализацию какой-либо деятельности или процессов. В наши дни понятие считается довольно устоявшимся, применяемым, пожалуй, во всех отраслях и сферах деятельности. Тем не менее принципы и правила бизнес-анализа максимально динамичны.
В этом посте речь пойдет о BPMN. Поделюсь своим опытом использования его как инструмента для упрощения работы бизнес-аналитика. Но в начале вас ждет небольшой исторический экскурс, за который заранее прошу простить.
История появления силы
Как утверждает целый ряд авторитетных источников, принципы бизнес-анализа зародились еще в XVIII веке, их авторство приписывается Адаму Смиту. На протяжении всего этого времени и до наших дней эти принципы регулярно менялись, дополнялись и даже эволюционировали. Эти процессы не останавливаются и по сей день.
Еще недавно я использовал методологии IDEF0 и IDEF3 для моделирования бизнес-процессов, дополняя их диаграммами потоков данных (DFD). Причем стоит отметить, что получаемый набор результатов не то чтобы сформировать, а даже просто прочитать мог далеко не каждый. Сейчас уже практически повсеместно на замену вышеупомянутым нотациям пришел BPMN и даже успел преобразиться до версии 2.0. А ведь между прикладным использованием IDEF0 и первой версией BPMN прошло всего лишь каких-то десять с небольшим лет. Правда, тут стоит отметить, что тот же IDEF0 был вообще впервые опубликован в 1981 году, тогда как BPMN вышел в 2004-м. Но тогда IDEF0 использовался в военных целях, а не для промышленного или бизнес-анализа. В результате методология IDEF0 кардинально изменила свое предназначение. Так почему же это не может любая другая методология, нотация или даже просто инструмент?
BPMN — оружие современного аналитика
В общем смысле BPMN является лишь одним из способов (нотацией) моделирования и описания бизнес-процессов и по факту стал преемником предыдущих методологий, взяв принципы алгоритмического построения от EPC и правила взаимосвязей между блоками-процессами от IDEF0, а также дополнив их собственными правилами классификации процессов и связей между ними. Теперь он стал универсальным и динамическим способом моделирования бизнес-процессов. И если снова вспомнить нотацию IDEF0, то можно отметить, что она была довольно «прямолинейной», чего нельзя сказать про вариативные возможности BPMN. Вот как раз про эту вариативность и хочется поговорить.
Если взять десять разных бизнес-аналитиков и дать им одну и ту же задачу, то на выходе мы получим десять разных диаграмм бизнес-процессов в нотации BPMN. Да, так можно сказать и про другие нотации, и в целом про другие направления деятельности, но именно BPMN, если рассматривать бизнес-анализ, стал, пожалуй, первым в своем роде инструментом, так расширяющим возможности бизнес-аналитика. И это не хорошо и не плохо. Вполне вероятно, что все вышеописанные десять диаграмм бизнес-процессов будут корректными и полностью удовлетворять требованиям поставленной абстрактной задачи, в то время как десять диаграмм в нотации IDEF0 будут максимально идентичны. Возможно, это довольно субъективное заявление. Но можно также и принять как аксиому, что чем больше возможностей и вариаций дает инструмент, несмотря на четко сформулированный набор правил — нотацию, тем вариативнее может получиться результат.
Но это я привел довольно абстрактный пример прикладного применения BPMN по прямому назначению бизнес-анализа. А что, если BMPN также можно и целенаправленно использовать для других смежных областей? Да и кто сказал, что BPMN может давать результат только в таком ключе? Напомню, что его предшественник IDEF0 и вовсе разрабатывался для абсолютно других целей.
Какие способности открывает BPMN
Первый раз на собственном опыте я столкнулся с такой ситуацией, когда проводил бизнес-анализ над реальной, но в рамках текущей статьи обезличенной задачей. В общих чертах задача была довольно стандартной — пользователь вносит в систему определенные значения, система их проверяет, производит определенные расчеты и генерирует из них документ по заранее заложенному шаблону. Далее документ согласуется, подписывается и рассылается определенному кругу адресатов. Знакомо? Я думаю, большинство бизнес-аналитиков в общих чертах сталкивались с абсолютно идентичной задачей. Возможно, были другие предметные области, другие нюансы, но суть задачи та же. Не буду сейчас вдаваться в детали предметной области, хотя в этом и есть суть бизнес-анализа, но в общем смысле для моей статьи это не имеет ровным счетом никакого значения.
Так вот, процесс бизнес-анализа уже был на финальной стадии, и, естественно, в решении уже были сформированы модели AS-IS и TO-BE в нотации BPMN. А сложность заключалась в том, что параметров, которые требовалось ввести будущим пользователям или сгенерировать системе, было более сотни. Но и это невелика беда. Казалось бы, есть множество способов описать любое количество параметров — табличным способом, документарным (как правило, на практике у меня это называлось «Логикой»), при помощи нотаций описания сущностно-атрибутивного состава и так далее. Но главной проблемой было то, что поведение, ограничения, доступность и логика каждого из параметров зависела от десятков предшествующих ему параметров. Да, в теории можно было сформировать огромную таблицу с тьмой «Если … , то … , иначе», причем у этих «если» была бы еще и уйма условий с «И» и «ИЛИ». Но как это потом читать, как согласовывать, как разрабатывать и как тестировать, тем более другим специалистам? Лично мне это показалось абсолютным кошмаром. Тогда у меня появилась идея смоделировать поведение и взаимосвязь интерактивной формы с данными параметрами посредством как раз BPMN. Диаграмма, конечно, получилась не самая маленькая, но тем не менее довольно компактная и легко читаемая. Самым большим плюсом, пожалуй, была возможность «идти» по конкретной ветке и смотреть поведения формы к прогнозируемому результату, тогда как при табличном варианте пришлось бы «прыгать» между ячейками таблицы и бесконечно путаться, и сбиваться.
Так появились две модели TO-BE в рамках одной задачи. Но в целом это довольно не ново, и я даже более чем уверен, что я далеко не первый, кто пришел к такому. А кто-то и вовсе может возразить, что это называется уровнями декомпозиции, и, по сути, будет прав. Но почему-то на практике я значительно чаще встречал альтернативные варианты решения проблемы, как тот же табличный способ.
На самом деле, как мне кажется, тут все зависит от удобства и масштаба задачи. И в данном случае я не призываю никого переходить на «инновационный» способ, а просто хочу поделиться практическим опытом как возможным вариантом упростить работу бизнес-аналитика и сделать его результат более доступным для разработчиков, тестировщиков и последующих пользователей.
Еще немного практического применения BPMN
Проектирование алгоритмов для формирования печатных форм — тоже довольно частая и типовая задача для бизнес-аналитика, за исключением нюансов, которые кроются за каждым конкретным шаблоном документа. И если задача состоит лишь в том, чтобы в готовый шаблон документа добавить пару-тройку параметров в заранее определенные места и тем более без каких-либо дополнительных вычислений и условий, то действительно может возникнуть вопрос: «А зачем же тогда что-то придумывать и изобретать велосипед?»
Но порой, как и в моем случае, под таким документом может скрываться набор таблиц с большим количеством строк, дополненных условными датой и подписью. А вот процесс формирования и заполнения данных таблиц был крайне нелинейным, с огромным количеством вариантов, условий и формул по их вычислению и генерации. В очередной раз на помощь пришел BPMN. А вот как можно было бы упростить работу для последующей разработки и тестирования аналогичным методом, но при помощи многократно упоминаемого IDEF0, я лично не очень представляю.
Естественно, ни одно техническое задание, функциональное задание или даже просто аналитическая аннотация не могут обойтись без дополнительного формального и неформального описания. Но, как мне кажется, адаптировать некоторые их части посредством BMPN вполне можно.
BPMN ведь стал довольно универсальным и динамическим инструментом бизнес-аналитика, и его практическое применение может уходить далеко за пределы только непосредственной формализации бизнес-процессов. Хотя и тут можно поспорить — что же все-таки понимается под бизнес-процессом: верхнеуровневое моделирование всего бизнес-процесса, декомпозиция его отдельных частей, логика заполнения параметров на интерактивной форме, автоматизированное генерирование печатных форм, процесс исполнения автоматических тестов, детализированная миграция и передача данных, порядок и последовательность исполнения взаимосвязанных задач (Tasks)?…
Да, для всего вышеуказанного есть и много других специализированных способов их описания. А возможно, вы и так для решения данных задач используете BPMN. Есть же и такое понятие, как архитектура, которое действительно сложно представить посредством BPMN. Но между тем решение многих прикладных задач, точнее, отдельных их частей, или даже, скорее, последующее использование результатов вполне можно упростить и скомпоновать как раз при помощи BPMN.
Возможно, повторюсь, это и не является инновацией, и потребуется дополнительное описание и/или другой инструментарий для решения комплексной задачи. Но на собственном опыте знаю, что дополнительное использование BPMN для смежных решений как минимум хуже не делает, а то и делает лучше.
А как вы считаете, можно ли рассматривать BPMN не только как средство моделирования бизнес-процессов?…
Максим, старший аналитик ITFB Group
Оффтоп: если вам интересна аналитика, но вы пока не в теме, можете присоединиться к интенсиву по бизнес-анализу. Он отлично подойдет для студентов старших курсов, выпускников вузов и тех, кто желает сменить профессию.