Sunday, October 30, 2005

프로세스 디자인 패턴

프로세스 디자인 아무나 하나?

현장의 프로젝트에서 워크플로우를 적용하기 위해서는 단순히 개념만 아는 것으로는 부족하다. 표준화가 대세인 만큼 워크플로우의 기본 표기법에 대해서 알아보았다. 가장 널리 사용되고 통용되는 BPMN을 주로 다루었다. 이는 제 1편의 BPM에 대한 설명 중 3가지 표준 즉, XPDL, BPML, BPEL과는 별도의 추상적인 기호로 어디에든 적용이 될 수 있다는 범용성이 있다. 이 책의 나머지 부분에서 이 표기법을 주로 이용할 것이다.

그러나 역시 하나의 표준만을 설명하는 것은 약간 아쉬운 면이 있다. 실제로 사용되는 도구들은 BPMN이 아닐 경우도 있기 때문이다. 학계에서 가장 범용적으로 사용되는 도구는 Petri Net이라고 하는 모델링 도구이다. 그리고 이와 흡사하게 업계에서 BPR도구로 많이 사용되는 것 중에 하나가 activity diagram이다. 각각에 관해서 각각의 사용법 및 업무 모델링에 어떻게 적용될 수 있는지를 보았다.
이 장에서는 본격적으로 워크플로우에 대해서 설명을 시작하려 한다. 업무를 파악하여 자동화를 하는 것은 말만큼 그리 간단하지 않다. 인간의 업무가 하나의 로직으로 표현되기에는 너무나 복잡하고 예외 상황이 많기 때문이다.

복잡하고 예외적인 사항들을 모두 그때의 상황에 맞게 처음부터 디자인하는 것이 가장 이상적일 수는 있지만 너무나 많은 노력이 들고 그 결과물 또한 검증이 필요하기 때문에 번거로울 수 있다. 물론 많은 상용 도구들이 많은 자동 검증의 방법을 제공하지만, 워크플로우가 과연 효율적으로 디자인이 되었나 하는 것은 다른 차원의 검증법을 필요로 한다.

결국 반복된 사용으로 이미 그 효율성이나 안정성이 검증이 된 어떤 단위 요소들의 재사용을 검토하지 않을 수 없는데, 이때의 재사용 가능한 단위 요소를 프로세스 라이브러리 자원(process library asset)이라고 한다. 이 라이브러리는 일반적으로 특정한 업무 중심으로 개발이 되어 업무 중심적 경우가 많다. 금융권의 리스크 관리 라이브러리, Bazel II 혹은 SOX를 구현한 규제 라이브러리, 제조업의 제조공정 라이브러리, 그리고 품질 보증 라이브러리 등이 그러한 것들이다.

상용 소프트웨어에는 이러한 라이브러리들이 패키지 형태로 들어가 있는 경우가 많다. 그래서 어떤 업무가 주어지면 그 업무에 맞는 라이브러리를 전개한 이를 바탕으로 업무를 수행할 사람을 할당한다거나 데이터를 재구성하는 소위 적용과정(tailoring)과정을 거친다.

재사용 가능한 단위 요소로 이런 업무중심의 라이브러리보다 더 작고 세밀한 단위로도 생각해 볼 수 있다. 워크플로우를 구축한다는 의미는 라이브러리 자원을 사용하여 적용한다는 것보다, 매우 작은 기능 단위를 이용하여 라이브러리 수준의 업무 흐름을 정의하는 것을 뜻한다. 일반 업무를 정의할 때는 라이브러리 수준보다 더 작은 단위 요소가 많이 사용될 것이다. 그래서 이 책은 워크플로우의 기본을 다루는 것이 목적이므로 라이브러리 수준의 단위 요소를 설명하는 것보다 더 작고 세밀한 단위 요소, 즉 패턴을 설명함으로써 앞장의 정의에 이어 실제 구현은 어떻게 이루어지는가에 대한 설명을 이어가려 한다.


프로세스 패턴.pdf
request for password

No comments: