В крупных компаниях фиксируют верхнеуровневые процессы в картах процессов верхнего уровня. Наиболее наглядно это делается с помощью схем бизнес-процессов. На них же обозначают участников и владельцев процессов. Более сжатое представление дает матрица RACI. Встает вопрос, как автоматически строить матрацу по данным схемы процессов верхнего уровня.
Введение
Карта процессов верхнего уровня (КПВУ) - это схематичное изображение деятельности (деятельность = процесс) компании, процессный “скелет” компании. Это один из ключевых элементов BPM (Business Process Management). Полистав альбом КПВУ можно в целом понять, что и как компания делает, какие подразделения в каких процессах участвуют.
Обычно отрисовку верхнеуровневых схем выполняют в нотации VAD (value added chain diagram).
Выжимку из КПВУ можно представить в виде половинчатой матрицы RACI, в которой заполняются только владелец бизнес-процесса и его участники:
Accountable (сокращение A) – подотчетный, утверждающий. Это видимо владелец процесса, а он должен быть одним (иначе будет по Райкину: "рукава и пуговицы"). Хотя часто в RACI под Accountable понимается что-то иное, судя по указанию нескольких "А" для одного процесса (задачи). Подробнее о Владельцах процессов (process owner) можно почитать тут: Process Roles — Who are the Process Owners? https://www.brcommunity.com/articles.php?id=b668
Responsible (сокращение R) – ответственный непосредственно за выполнение работы, исполнитель бизнес-процесса (executors)
Consulted (C) – консультант и Informed (I) – роль, которой нужно направить уведомляемые о выполнении процесса - обе эти роли не рассматриваем.
Матрица RACI (матрица ответственности ролей в бизнес-процессах) предназначена для четкого распределения обязанностей и зон ответственности среди участников бизнес-процессов.
На всякий случай шаблон RACI в Excel
Странно. Так как ключевая роль у владельца процесса (A), то непонятно почему такую матрицу не назвали ARCI?
Задача
Нарисовать КПВУ и далее автоматически по ней построить матрицу RACI (половинчатую). Иметь возможность для анализа приведенных данных (поиск, фильтры, группировка), т.е. поместить названия процессов и роли (и связи между ними) в аналитическую табличку (Excel, google table и т.п.) или базу данных. Когда в компании полсотни подразделений и сотня верхнеуровневых процессов, то подобный инструмент становится очень актуальным.
Пожелания к инструментам: free & open source и наличие развертывания на корпоративном сервере.
1. Карта процессов верхнего уровня
Можно верхнеуровневые процессы рисовать в Visio и его BPM-развитиях, начиная с Бизнес-студии. Но желателен free & open source. Это позволит создать единый стандарт \ подход к подобным вещам. Связка Visio-Excel-VBA позволяет решить поставленную задачу, включая связку VAD с RACI, но она не перспективна.
Возьмем drawio, он же diagram.net. В примере показан первый уровень верхнеуровневых процессов. В нем, как правило, нет "цепочки добавленного качества (стоимости)", поэтому можно было бы заменить VAD-кораблики на прямоугольники. Посмотреть примеры процессов верхнего уровня можно вбив в поисковик фразу "процессы верхнего уровня", категория "картинки".
Карты верхнеуровневых процессов:
Ссылка на пример Карты верхнеуровневых процессов в drawio
При вводе данных по каждому процессу мы используем заполнители (placeholders), как показано на рисунке:
Формочка для заполнения заполнителей такая:
2. Обработка в Google Sheets
Google Sheets - это не Open Source, но для демонстрации хороший инструмент. Я храню схемы процессов в xml, поэтому и экспортировать ничего не нужно. Если что, в drawio есть кнопка экспорта в xml.
Пара возникших проблем.
Вначале пробовал парсить через функцию IMPORTXML(). Не вышло. Другие файлы парсит, но на этот выдает "Н/Д Не удалось обработать данные в формате XML". Даже для простых XPath-запросов типа "/", "//". Почему? Второй проблемой оказалось получить прямую ссылку с google drive. Для IMPORTXML нужна прямя ссылка, но разные: https://drive.google.com/uc?export=download&confirm=no_antivirus&id=[your_XML_file_id] не помогло. Поэтому использовал DropBox c заменой окончания исходной ссылки "? dl = 0" на "? dl = 1".
В итоге бросил упражнения с IMPORTXML.
Для разбора xml использовал незатейливый скрипт.
В xml данные placeholders хранятся так:
<object label … Process="В2. Клиентский маркетинг. Корпорат" Owner="фронт2" Executors="фронт2, фронт1" …>
Пробегаемся по файлу, находим нужные имена placeholders и выводим их значения в промежуточную табличку (функции slice, indexOf):
Так как используются placeholders, то мы можем использовать в схеме любые графические примитивы: VAD-кораблики, прямоугольники, кружки.
Далее из вспомогательной таблички строим саму матрицу (полу-RACI):
Алгоритм такой: вручную расставляем в первой строке названия подразделений. Иначе ни как, хотя бы потому, что слева обычно указываются все front-подразделения, потом middle, далее back office и все обеспечивающие. Компу сложно рассказать про это.
Далее пробегаемся по вспомогательной табличке и сравниваем поля "Владелец" и "Исполнитель" с шапкой итоговой матрицы RACI (половинчатой). Если имеется равенство по Владельцу, то пишем "А" (Accountable), если по Исполнителю, то "R" (Responsible).
Кроме того, все данные у нас теперь в таблице и по ней можно проводить разнообразную аналитику: Сколько участников в конкретном процессе, иерархию подразделений по числу статусов "Владелец процесса" и "Исполнитель процесса".
Заключение
Показанный пример упрощен для более легкого восприятия, в крупной компании такие карты верхнего уровня - это "пухлые" альбомы схем процессов, поэтому при изменении схем проводится достаточно большая работа по корректировке RACI. Любое изменение орг-штатной структуры компании или перераспределение (добавление, изъятие) функционала требует корректировки, как схем, так и матрицы. Данные подход позволяет строить матрицу автоматически по данным верхнеуровневых схем. Если есть готовые подобные инструменты - просьба сообщить.
Перспектива
Drawio \ diagram.net - достаточно удобная система, кроме того, это free + Open Source + облако + On-Premise, поэтому вследствие прочих равных функциональных характеристик имеет преимущества между схожими системами, включая, LucidChart.
Если с Drawio интегрировать базу данных или хотя бы Excel (наподобие связки с Excel в Visio), то получится уже "половина" ARIS. Интеграция позволит двухстороннюю связь между схемой и объектом в БД. Например, достаточно синхронизировать вышерассмотренные заполнители (placeholders) с одноименными объектами в БД. Есть такие решения?
ARIS-подобное на Open Source - когда то должно же появиться. Пока нет ни одной Open Source \ Free системы класса BPM-BPA. Хочется верить, что светлое (свободное) будущее BPM когда-нибудь, да наступит...