안유환 핸디소프트 사장 

업무프로세스관리(BPM)는 SOA의 방식을 지원한다. 프로세스를 모델링 한다는 것은 프로세스를 구성하는 요소를 찾는 것과 같다. 사람이 수행하는 업무, 서비스와 이들 간의 관계를 정의하는 것이 BPM이기 때문이다.

BPM 스위트를 통해서 프로세스를 구현하는 것은 이들 구성 요소들을 이용하 구슬을 꿰어내는 과정(Orchestration)이라고 생각할 수 있다. 이는 똑 같은 과정을 단일 어플리케이션으로 개발하는 것과 비교하면 엄청난 유연성 증대 효과가 있음을 알 수 있다. 프로세스를 바꾸어야 하는 경우, 애플리케이션을 수정하고 배포하는 것에 비하면 대단히 쉽고, 이때  기존의 컴포넌트들은 재 활용 할 수 있다. 이로써 민첩하게 대응할 수 있는 능력을 보유하게 된다.

SOA환경에서 BPM은 다양한 측면에서 활용될 수 있다. 첫째  서비스를 이용하여 새로운 서비스를 구축한다. 새로운 서비스를 구현하고, 기존 시스템에 서비스 단계를 추가하며 이들을 엮어 새로운 서비스를 구성하게 되는 것이다. 둘째  BPM을 이용해서 서비스를 꿰어낸다. 즉 복잡한 비즈니스 프로세스를 모델링하며, 서로 다른 비즈니스 프로세스에서 해당 서비스를 재사용할 수 있다. 셋째 시간과 비용을 절감시킬 수 있으며, 마지막으로 검증된 서비스 컴포넌트를 재활용함으로써  위험요인을 최소화할 수 있다.

BPM은 변화 감시 능력을 제공하기 때문에 SOA 환경에 필수적이다. BPM은 지식근로자로 하여금 개인화된 콘텐츠와 지식관리 기능 및 비즈니스 인텔리전스, 협업 도구들을 활용하여 주어진 상황을 잘 감지할 수 있도록 해 준다. 그래야 변화를 빠르게 감지하고 대응이 가능하게 된다. 또한 감지된 요소를 운영하고 있는 프로세스와 프로세스에 속한 IT, 시스템 등에 바로 반영할 수 있어야 기민한 조직이 될 수 있다. BPM이 구축되어 있으면, 프로세스의 변화는 바로 변경할 수 있고, 실행되는 프로세스를 개선할 수 있으며, 예외 처리 과정을 응용할 수 있다. 심지어 BPM으로 구현된 복합 어플리케이션의 경우에도 마찬가지이다.
BPM은 SOA의 문제를 해결하는데 크게 4가지 방향에서 도움이 된다.

1.       어디서부터 시작해야 하는가?
이미 구축된 시스템들로부터 재 사용이 가능한 서비스를 찾아내기 위해서는 리팩터링과 같은 과정을 필요로 하는데, 이때 당면하는 문제가 우선순위의 문제이다. 우선순위는 비즈니스 관점에서 접근해야 하며, 비즈니스 프로세스를 중심으로 우선순위를 정하는 것이 기업 활동을 지원하는 바른 방법이라는 것이다.

2.       서비스 보안 정책은?
누가 이 서비스를 사용할 것이고 어떤 상황에서만 호출을 허용해야 하는가? 불순한 용도의 접근을 막거나 혹은 의도하지 않은 접근을 막기 위해서 어떤 보안 규칙이 필요한가? 이러한 문제에 직면했을 때 역시 이에 대한 의사결정은 비즈니스 담당자의 몫이며, 프로세스를 중심으로 한 보안 정책이 기본이 되어야 한다.

3.       일관된 관리 기법의 필요성
준비된 서비스들을 어떻게 지속적으로 운영해 나갈 것인가? 서비스들을 운영해 나가는 방법이나 관리하는 기반을 어디에서 찾을 수 있는가? BPM은 이러한 질문에 대한 가장 올바른 답이 될 수 있다.

4.       서비스 성능 및 성과를 측정하고 필요한 수준을 준수
사용하고 있는 서비스들이 일정한 수준의 품질을 요구하면서 일관되게 제공되고 있는지를 모니터링하는 방법은? 타 부서나 타 업체의 서비스를 받는 경우, 필요한 수준의 서비스를 유지할 수 있는 방법은? BPM이 제공하는 모니터링, 분석 기능은 비즈니스 관점의 KPI를 기준으로 해서 판단하고 평가할 수 있는 길을 제공해 주며 지속적으로 모니터링하고 심지어는 분석 기능을 통해 문제 가능성을 예측할 수 있는 장점까지 누릴 수 도 있을 것이다.

BPM의 정의

서비스를 조합해서 구성할 수 있는 성질을 갖는 복합 애플리케이션의 경우에는 제공된 서비스드를 전통적인 개발도구를 통해서 개발을 하는 것보다는 BPM을 통해서 구현할 때  민첩성을 유지할 수 있는 장점을 갖고 있다.

이 점에서 SOA 환경 구축을 위해서는 BPM의 중요성이 커진다.  BPM의 역할이 커지는 만큼 그 부분에 대한 정의가 뚜렷해야 한다.

가트너그룹의 정의에 따르면 BPM은 민첩성과 운용효율을 증대하기 위해, 비즈니스 프로세스 환경을 통제하는 일상적인 경영활동이다. 즉 BPM은 방법론, 정책, 측정지표, 일상적인 경영활동과 소프트웨어도구를 활용해 조직의 업무와 프로세스를 끊임없이 최적화하는 구조적인 접근방법이다.

기업의 업무활동은 프로세스를 통해서 이루어진다. 그것이 최적화되어 있고 업무에 임하는 사람들에게 잘 훈련되어 있던 그렇지 않고 임의로 업무를 진행하던 프로세스는 존재한다. 프로세스를 운영하는 조직은 인사, 구매, 제조, 마케팅, 재무, 정보 등 기업 업무 전반에 걸쳐 업무 목적을 달성하기 위한 프로세스를 가지고 있다.

또한 기업의 업무 프로세스는 단위 조직 내부의 프로세스만이 아니라, 기능조직을 걸쳐 수행이 되는 경우를 포함한다. 특히 기업의 핵심 프로세스일수록 특정 단위 부서의 프로세스가 아닌 기능 조직을 가로지르는 프로세스(Cross Functional Process)일 가능성이 매우 높다.

오늘날 어떠한 영리 조직이 빠르게 변화하는 시장 환경, 경영 환경에 대처하고 계속 유지되기 위해서는 아주 높은 효율과 민첩성이 반드시 요구된다. 특히 기업의 생명을 유지하도록 하는 핏줄과 같은 핵심 프로세스들은 매우 효율적으로 실행되어야 한다. 이를 수행하기 위해서 필요한 자원들, 그 중에서도 인적 자원의 효율적 운영은 조직이 얼마나 건강한지를 결정짓는 매우 중요한 요소이다.

조직이 민첩하기 위해서는 조직에 영향을 주는 내부와 외부에서 벌어지는 상황의 변화를 감지할 수 있는 능력을 갖추어야 한다. 그리고, 감지한 변화에 대해서 최대한 신속하게 프로세스와 IT가 대응할 수 있어야 한다. 이러한 효율성과 민첩성을 획득할 수 있는 방법으로 가장 광범위하게 받아들여지고 있는 것이 바로 BPM이며, BPM은 조직에 생명을 연장하고 또한 건강하게 만들 수 있는 관리 기법이다.

BPM은 대표적으로 인간중심의 BPM(Human Centric BPM)과 통합중심의 BPM(Integration Centric BPM)으로 양분된다.

특히 SOA에서 BPM의 중요성을 언급할 때 BPM이 두 가지 종류가 있다는 것을 이해하는 것은 매우 중요하다. SOA의 목표 달성을 위해서 BPM이 매우 중요한 역할을 하는데, 이때 BPM이 커버해야 할 범위를 이해해야 정확한 목표의 달성을 이룰 수 있기 때문이다.

인간 중심의 프로세스(Human Centric Process)는 사람의 판단을 필요로 하는 경우에 적용이 된다. 또한 해당 업무를 수행하는 사람은 업무 수행을 위한 어플리케이션 소프트웨어, 관련 데이터베이스, 다른 사람과의 업무 지원, 관련된 문서 및 지식들을 활용하여 의사결정을 하고 업무를 완료하게 된다. 또한 사람은 모든 프로세스 수행의 중심에 있다. 즉, 최종적인 일은 사람에 의해서 이루어지고, 그 사람의 경험, 지식과 규칙, 필요한 정보의 적절한 확보여부, 그리고 얼마나 효율적으로 수행하는가에 따라서 관련된 프로세스들의 결과가 결정이 된다. 이를 지원하는 인간중심의 BPM(Human Centric BPM)은 기업의 경쟁력을 확보하는데 있어서 매우 중요하다.

통합중심BPM(Integration Centric BPM)은 애플리케이션과 애플리케이션 사이의 가교 역할을 수행하는데 중점을 둔다. 이러한 경우는 과거 전통적인 EAI에서 진화해 왔는데, 전통적인 기업애플리케이션통합(EAI)는 허브 앤 드 스포크(Hub-and-Spoke) 구조를 가지고 있었다. 또한 EAI는 데이터 변환 기능을 수행한다. 파일에 쓰여진 데이터를 읽어서 XML로 다시 데이터베이스로 이동하거나 반대로 변환해주는 기능을 잘 수행한다. ETL과 같은 데이터 매핑 기능을 제공하기도 한다. 트랜잰셕  관리 또한 EAI가 제공하는 핵심 기능이다. 이러한 EAI가 이제는 프로세스를 기반으로 진화하기 시작했다. 애플리케이션간의 연결, 데이터 변환 및 매핑, 트랜잭션 등의 수행을 프로세스 기반으로 활용할 수 있으며, 이를 프로세스로 표현하고 관리할 수 있도록 성장하였다.

BPM의 기능

BPM은 참여하는 사람들에 대해서 조직도 및 접근 권한, 수행 능력, 기술 능력 등에 대한 관리를 포함한다. 또한 사람들에 대한 작업 분배를 수행하는데, 개인에게 작업을 할당하기도 하고 업무 부하에 따른 분배를 수행하기도 하며, 필요한 규칙에 따라 할당이 이뤄진다. 사람의 업무를 지원하기 위해서 BPM은 투두 목록(To-Do List)을 제공한다. 해당 업무 수행을 위한 양식 기반의 사용자 인터페이스를 지원하며, 업무를 수행하는 사람들간의 협업 지원을 위해, 의견을 교환하거나 문서를 첨부할 수 있는 기능을 제공한다. 또한 관련된 정보의 참조를 위한 검색이나 관련 정보들과 연결할 수 있는 기능들을 제공해야 한다. 또한 주어진 업무에 대한 위임이나 예정된 업무나 지연된 업무에 대한 경보, 사람의 부재에 따른 자동 위임등과 같은 관리가 이루어져야 한다. 또한 진행되는 프로세스에 대한 통합 모니터링이나 예외 사항에 대한 대응 등이 제공이 된다.

또한 프로세스의 진행 중에 사람이 하는 일만 지원하는 것이 아니라, 특정 애플리케이션이 자동으로 수행되거나, 시스템에 제공해야 하는 이벤트가 이루어지기도 하며, 또 다른 프로세스를 시작시키기도 한다.

프로세스는 단위 업무, 단위 업무 수행을 위한 조건, 데이터의 흐름, 처리자의 할당 규칙, 경보 정의 들로 구성이 되며, 이러한 구성 내용을 다이어그램의 형태로 표현하여 쉽게 파악할 수 있도록 지원하는 기능을 포함한다.

BPM과 BPMS (Business Process Management Suite)

BPM은 명확히 말하면 시스템이 아니다. 이는 방법론이며, 지속적으로 개선하기 위한 행동 양식이다. 그리고, 이를 지원하기 위해서 필요한 것이 BPM 스위트다. BPM 스위트는 기업 프로세스 관리의 전체 생명 주기(Full Life Cycle)을 지원해야 하며, 프로세스에 대한 자산화, 자동화, 비즈니스액티브모니터링(BAM, 통합과 같은 컴포넌트들로 구성이 된다.

BPM 스위트는 크게 세가지 영역의 기능을 제공한다. 첫째는 프로세스 관리영역으로 비즈니스 프로세스를 모델링 및 설계하고 빠르게 실행하며 유연하게 하는 기능이다. 둘째는 지식기반의 제공이다. 프로세스를 자산화하고 표준화하며 프로세스를 중심으로 한 사내 각종 유형 무형의 자산들과의 연결점을 제공한다. 또한 BPM 스위트가 제공하는 협업 환경은 핵심 사안에 대한 빠른 의사결정을 지원한다.

셋째는 분석기능이다. BPM 스위트가 제공하는 분석 기능은 조직 운영의 약점 및 병목 지점을 찾고 이를 경로를 바꾸어 실시간으로 대처할 수 있도록 지원한다. 업무 성과를 모니터링하며 지속적인 개선 활동을 지원하는 것이 분석 영역의 핵심이다. 위와 같은 기능들을 통하여 BPM 스위트는 민첩한 기업(Agile Enterprise)을 효과적으로 지원하는 검증된 솔루션이다.

저작권자 © 디지털투데이 (DigitalToday) 무단전재 및 재배포 금지