대부분의 프로세스 마이닝 연구들은 액티비티 중심으로 프로세스 모델을 어떻게 도출할지 혹은 인사이트를 어떻게 얻을 것인지에 집중한다. 하지만 대부분의 프로세스들이 사람의 행동에 굉장히 밀접하게 관련되어 있기 때문에 액티비티 뿐만 아니라 resource 관점에서의 연구도 필요하다. 이러한 필요성에 의해 대두된 것이 organizational mining이다. Organizational mining은 크게 조직의 구조를 도출하는 organizational model mining, 구성원 간의 관계를 분석하는 social network analysis, 그리고 조직 내 구성 요소 간의 업무 전달 흐름을 분석하는 information flows between organizational enetities로 나눌 수 있다. 이번 포스팅에서는 조직의 구조를 도출하는 organizational model mining에 집중하여 글을 이어 나가겠다.
기본 개념
우선, organizational mining을 위한 기본 개념들부터 알아보겠다.
Organizational entitity
이벤트 로그에는 case id, 액티비티, timestamp 외에도 resource라는 attribute가 존재한다. 이 resource는 작업자, 부서 등 해당 이벤트에 연관된 다양한 성분이 될 수 있는데, 우리는 이 중에서도 작업자(originator)에 집중한다. Organizational entity는 이 originator이 모여 있는 집합으로, A 부서 / B 부서 등 조직이나 개발팀 / 기획팀 등 역할을 의미할 수 있다. 이의 수학적 정의는 다음과 같다. (이해하지 않아도 된다.)
Entity Assignment
Entitiy assignment란, 어떤 일(activity)과 organizational entity를 매칭하는 것을 말한다. 예를 들어, 'Conformance checking 기능 프론트 개발' 이라는 업무를 개발팀이 진행했다면, 이 액티비티를 개발팀에 매칭하는 것이다. 이의 수학적 정의는 다음과 같다.
Organizational mining은 적절한 organizational entity를 도출하고, 이 도출된 entity에 대해 적절한 task들을 assign하는 entitiy assignment를 목적으로 한다.
Organizational model mining
이제 본격적으로 organizational model mining에 대해 알아보겠다. 우리가 이벤트 로그로부터 도출할 수 있는 organizatioanl entity에는 task-based team과 case-based team의 두 가지 종류가 있다. Task-based team이란, 비슷한 업무를 하는 사람들을 하나의 팀(organizational entity)으로 여기는 것을 말한다. 이의 예시로는 기획팀/개발팀/데이터분석팀/연구팀 등의 업무 기준으로 나누어진 팀이 있을 것이다. 이에 반해 case-based team이란, 각 구성원이 다른 업무를 수행하지만 같은 케이스 내에서 일하는 것을 말한다. 이의 예시로는 홈페이지 개선 TF / A 회사 프로젝트 대응 등이 있을 것이다.
Task-based team
Task-based team이란, 위에서도 언급했듯이 비슷한 업무를 하는 사람들을 하나의 팀으로 여기는 것을 말한다. 이러한 task-based team을 도출하는 방법으로는 default mining, metrics based on joint activities, hierarchical organizational mining의 3가지가 있다. 이 방법들에 대해 다음 예시 이벤트 로그와 함께 알아보도록 하겠다.
Default Mining
Default mining은, 간단하게 같은 task(activity)를 수행하는 originator들을 하나의 organizational entity로 취급하는 것을 말한다. 이를 수학적으로 정의하면 다음과 같다.
예시 이벤트 로그를 통해 설명하면, O_A는 A라는 액티비티를 수행하는 originator들이기 때문에 {John}, O_B는 B를 수행하는 originator들이기 때문에 {Robert, Fred, Mike, Pete}가 된다. Default mining은 가장 간단하고 직관적으로 업무와 업무 수행자들의 관계를 나타낼 수 있지만, 하나의 액티비티가 하나의 organizational entity가 되기 때문에 액티비티의 개수가 너무 많을 때는 너무 많은 organizational entitiy를 도출한다는 단점을 가진다.
Metrics based on Joint Activities
Metrics based on joint activities는 비슷한 업무를 수행하는 originator들이 아예 다른 업무를 수행하는 originator들보다 더 밀접하게 연관되어 있어, 이들이 organizational entity를 구성한다고 가정한다. '비슷한 업무를 수행'하는 것의 정의를 위해 우리는 originator by activity matrix를 만든다. 이는 행(row)은 originator이고, 열(column)은 액티비티인 matrix로, 각 성분은 해당 originator가 activity를 수행한 빈도를 표시한다. 우리의 예시 이벤트 로그로 originator by activity matrix를 만들면 다음과 같다.
이렇게 각 originator의 각 activity 행을 만든 것을 우리는 profile이라고 부른다. 각 profile들 간의 distance를 측정하고, 이들 사이의 arc들을 일정 threshold 기준으로 필터링하여 도출된 sub network들을 하나의 organizational entity로 정의한다.
Hierarchical Organizational Mining
Hierarchical organizational mining은 위의 두 방법의 hierarchy를 가진 조직도를 그릴 수 없다는 한계점을 극복하기 위해 만들어진 방법이다. 이를 위해 우리는 계층적 구조를 활용한 클러스터링 방법인 AHC를 활용한다. 이러한 클러스터를 만들 때에 사용하는 distance는 위의 metrics based on joint activities와 같이 profile과 distance를 활용한다. 이를 이용해 도출된 예시 dendogram은 아래와 같다.
이를 통해 우리는 다른 threshold들을 채택함으로써 다양한 organizational entity를 도출할 수 있다. (자세한 것은 위의 AHC 포스팅 링크를 참고한다.) 이를 통해 도출된 organizational model은 다음과 같다.
Case-based team
case-based team이란, 각 구성원이 다른 업무를 수행하지만 같은 케이스 내에서 일하는 것을 말한다. 이는 metrics based on joint cases 방법을 통해 도출된다.
Metrics based on Joint Cases
Metrics based on joint cases는 metrics based on joint activities와 굉장히 비슷한 방법으로, 비슷한 케이스를 수행하는 orginator들이 아예 다른 케이스를 수행하는 orginator들보다 더 밀접하게 연관되어 있어, 이들이 organizational entity를 구성한다고 가정한다. Metrics based on joint activities는 originator by activity matrix를 만들었다면 Metrics based on joint cases는 originator by case matrix를 만든다. (이 matrix에 대한 자세한 사항은 다음 포스팅의 Orignator profile 부분을 참고한다.) 이를 통해 우리는 각 originator가 case를 수행했는지의 여부를 판단하고, 이를 통해 organizational entity를 도출한다.
이를 통해 organizational entity를 도출하는 방법에는 두 가지가 있다. 첫 번째는 threshold 이하의 arc를 모두 제거하여 이로부터 도출된 sub network들을 모두 하나의 organizational entity로 취급하는 방법이다. 하지만 이 방법은 여러 케이스에 걸쳐 있는 orignator(여러 프로젝트를 기획하는 기획자 등)가 있을 경우 정확한 organizational entity를 도출할 수 없다. 두 번째 방법은 이러한 단점을 극복하기 위해, 높은 centrality value를 가지는 node를 기준으로 organizatioanal entity를 나눈다. 즉, 위에서 언급한 여러 프로젝트를 기획하는 기획자 등은 높은 centrality value를 가질 것이기 때문에 이들을 기준으로 organizational entity를 정의하는 것이다. 예를 들어, 아래와 같은 organizational model이 있다고 하자.
이에서 가장 높은 centrality를 가지는 originator는 John이기 때문에, 이를 기준으로 {John}, {Sue, Mike, Pete, Jane}, {Clare, Fred, Robert, Mona}의 세 개의 organizational entity를 도출하는 것이다.
이러한 위의 4가지 방법을 통해 organizational entity를 도출하고 나면, 각 entity에 대해 해당 entity의 orignator가 수행한 activity들을 매칭하고, 이 과정을 우리는 위에서 언급한 entity assignment라고 부른다.
이번 포스팅에서는 organizational mining의 기본적인 개념과 함께 organizational model을 도출하는 방법에 대해 알아보았다. 액티비티 중심의 프로세스 마이닝 뿐만 아니라 이와 같은 resource 관점을 함께 한 분석을 진행한다면 더 좋은 분석을 할 수 있을 것이다.
References
Minseok Song, Wil M.P. van der Aalst, Towards comprehensive support for organizational mining, Decision Support Systems, Volume 46, Issue 1, 2008, Pages 300-317, ISSN 0167-9236.
최근댓글