BPMN을 활용한 프로세스 분석


안녕하세요. 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 요소들

1. 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)들이 얼마나 일치하는지에 대한 수치를 제공합니다.

분석가는 시각적인 차이와 수치를 확인하여, 두 프로세스에 대한 비교를 확인해볼 수 있습니다.

그림 1 ProDiscovery의 프로세스 비교 화면
그림 2 ProDiscovery의 프로세스 관리 화면

마치며..

BPMN 모델은 비즈니스 프로세스를 표현하기 위한 좋은 방법입니다.

특히, BPMN과 프로세스 마이닝이 결합된다면 엄청 큰 시너지 효과가 발생할 수 있다고 생각합니다.

현재 개발 중인 Conformance Checking 기능에서도, 이렇게 자산화된 BPMN 모델과의 정합성을 체크하고 수치를 제공하여, 사용자분들에게 유의미한 인사이트를 제공하고자 노력하고 있습니다.

[참조]

https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation