BPMN을 활용한 프로세스 분석
황승호 | 12월 31일, 2019 | 5분 읽기
안녕하세요. ProDiscovery 개발팀 황승호 연구원입니다. 오늘은 프로세스 모델을 표기하는 방법 중 하나인 BPMN(Business Process Model and Notation)을 알아보고, 그 활용방안에 대해 얘기해보겠습니다.
BPMN 이란
Business Process Model and Notation (BPMN) is a standard for business process modeling that provides a graphical notation for specifying business processes in a Business Process Diagram (BPD), based on a flowcharting technique very similar to activity diagrams from Unified Modeling Language (UML). (위키피디아 참고)
BPMN(Business Process Model and Notation)은 비즈니스 프로세스(업무 프로세스)를 시각적으로 모델링 하기 위한 표준 표기법이라 설명할 수 있습니다. 또한, 비즈니스 프로세스에 특화된 UML 표기법이라고도 얘기할 수 있습니다.
프로세스 마이닝에서 필요한 최소한의 BPMN 요소들
- Event
StartEvent : 프로세스의 시작을 나타내는 요소입니다.
EndEvent : 프로세스의 종료를 나타내는 요소입니다.
2. Activity
Task : Task는, 일반적으로 발생하는 작업을 지칭합니다. 이 용어는 업무 프로세스 중 다양하게 발생하는 Activity에 대한 개별 지칭입니다.
Loop-Task : 하단에 Loop 아이콘이 포함된 Task는 반복적으로 작업이 진행될 수 있다는 의미를 포함하고 있습니다.
3. Connections
Sequence Flow : Element와 Element를 연결시키는 요소입니다. 또한, 업무가 수행되는 순서를 보여줍니다.
4. Gateway
Split한 관계와 Join 관계를 표현하기 위한 요소입니다.
하나의 Split이 발생하면, 하나의 Join이 존재함을 가정합니다.
AND-split gateway : split 시점에서 다음(next) 이어질 2개 이상의 업무가 모두 발생한다는 의미입니다.
AND-join gateway : join 시점에서 이전(prev)의 2개 이상의 업무가 모두 발생했다는 의미입니다.
XOR-split gateway : split 시점에서 다음(next) 이어질 2개 이상의 업무 중 하나의 업무로 연결이 이어짐을 뜻합니다.
XOR-join gateway : join 시점에서 이전(prev)의 2개 이상의 업무 중 하나의 업무로부터 이어짐을 뜻합니다.
BPMN 예제(OOO 씨의 하루 일과)
위에서 설명한 BPMN 요소를 활용해서 OOO 씨의 하루 일과를 표현해봤습니다.
표현된 프로세스를 해석해보면, OOO 씨는 회사를 출근(StartEvent) 해서 오전 회의(Task)에 참석했습니다.
그 후 점심시간이 되어 한식과 중식을 결정해야 하는 큰 결정 시점(XOR-split)에 도달했고, 중식을 선택한 OOO 씨는 짜장면과 짬뽕을 두 개 다 먹기로 결정(AND-split) 했습니다.
점심을 맛있게 먹은(AND-join, XOR-join) OOO 씨는 오후 회의(Task)에 참석하고 오후 일과를 보냅니다.
퇴근 시간이 된 OOO 씨는 야근을 할지, 정시 퇴근 후 약속을 잡을지의 고민에 빠지게 되고(XOR-split), 칼퇴 후 약속을 간 OOO 씨는 약속을 마치고(XOR-join) 집으로(Task) 간 다음 하루 일과를 마칩니다.(EndEvent)
이렇듯, BPMN은 프로세스의 다양한 상황을 시각적 표현할 수 있게 도와줍니다.
※ 참고 : 프로세스를 정의할 때, 하나의 시작에서 출발하고 하나의 종료에서 끝남을 가정하는 것은 좋은 프로세스 모델을 정의하기 위한 방법 중 하나입니다.
BPMN을 활용한 프로세스 분석
프로세스 맵을 만드는 방법은 다양합니다.
그리기 툴을 이용해서 작성자의 가치(value)가 들어간 표준 프로세스를 직접 그릴 수도 있지만, 실제 쌓여 있는 Log로부터 프로세스 맵이 도출될 수 있습니다.
여기, 공정 프로세스의 Log 데이터가 존재한다고 가정하겠습니다.
분석가는 수행 시간이 작게 걸리는 프로세스와 길게 걸리는 프로세스가 어떻게 차이 나는지 확인하고 싶습니다.
어떻게 하면 두 프로세스의 차이를 확인할 수 있을까요?
저는 그 방법으로 ProDiscovery의 프로세스의 비교(Compare Process) 기능을 설명하고 싶습니다.
ProDiscovery는 업로드된 Log 데이터를 사용자의 목적에 맞게 필터링(FIltering) 할 수 있는 기능을 제공합니다.
또한, 업데이트된(build 2.0.15 기준) ProDiscovery에서는 BPMN을 활용한 프로세스 관리, 비교 기능이 추가되었습니다.
이 기능을 통해서 사용자는,
1. Log 데이터로부터 수행 시간이 상위 20%인 BPMN 모델을 도출하고,
2. 수행 시간이 하위 20%인 BPMN 모델을 도출합니다.
3. 도출된 1, 2번의 BPMN 모델을, 프로세스 비교(Compare Process) 기능을 통해서 비교합니다.
위와 같이 비교된 프로세스에서는 두 프로세스가 어떤 부분에서 차이 나는지 시각적으로 제공하며, 작업(Node)과 플로우(Edge)들이 얼마나 일치하는지에 대한 수치를 제공합니다.
분석가는 시각적인 차이와 수치를 확인하여, 두 프로세스에 대한 비교를 확인해볼 수 있습니다.
마치며..
BPMN 모델은 비즈니스 프로세스를 표현하기 위한 좋은 방법입니다.
특히, BPMN과 프로세스 마이닝이 결합된다면 엄청 큰 시너지 효과가 발생할 수 있다고 생각합니다.
현재 개발 중인 Conformance Checking 기능에서도, 이렇게 자산화된 BPMN 모델과의 정합성을 체크하고 수치를 제공하여, 사용자분들에게 유의미한 인사이트를 제공하고자 노력하고 있습니다.
[참조]
https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation