어떤 일을 진행하는데 있어서 한번에 뭔가 진행되는 경우는 거의 없다. 어떤 결과를 얻어내기 위해서는 여러 단계를 거쳐야 한다는 얘기다. 보통 프로세스를 거친다고 하는데(단계나 프로세스나 거의 동일한 의미로 쓰인다) 어떤 일을 하기 위해 준비 과정이 있고 준비 과정에서 만들어진 결과물들을 조합하여, 혹은 이용하여 내가 원하는 결과를 만들어내는 실행 과정이 필요하다. 예를 들어, 우유를 사는 것에 대해서 프로세스화 시켜서 생각해보자. 마트에 들어가서 우유 코너로 이동한다. 그리고 내가 원하는 우유를 선택한 후 계산대로 와서 카드나 현금으로 결제를 한다. 그 후에 우유를 획득할 수 있는 것이다. 이것을 단계별로 표현하면 '마트에 들어감 -> 우유 코너로 이동 -> 우유 선택 -> 계산대로 이동 -> 카드나 현금으로 결제 -> 우유 획득'으로 각 단계를 정의할 수 있다. 준비과정은 마트에 들어감, 우유 코너로 이동이 될 것이며 실행 단계는 우유 선택, 계산대로 이동, 결제가 되고 그 결과가 바로 우유 획득이 되는 것이다. 이런 프로세스는 일반 비즈니스 환경에서도 동일하게 적용된다.



좀 더 전문적으로 들어가보자. 어떤 기업에서든지 자체적으로 솔루션이나 서비스를 개발하던지 구축하던지, 아니면 설계해서 납품하던지 간에 비즈니스 환경에서 어떤 일을 하기 위해서는 여러 단계를 거치면서 작업이 진행되는 것이 일반적이다. 예를 들어, 어떤 서비스든 솔루션이든 개발을 한다고 했을 때에는 해당 서비스나 솔루션의 시장을 먼저 분석해야 하며 분석된 내용을 기반으로 기획을 하고 기획된 내용을 기반으로 기본 설계와 검토, 그리고 실제 개발이나 구축 전에 세부 설계를 진행하게 된다. 세부 설계가 마무리되면 설계된 내용을 바탕으로 실제 개발이나 구축이 진행되며(때에 따라서는 개발과 구축이 동시에 진행되기도 한다) 실제로 서비스나 솔루션이 출시되기 전에 테스트를 진행하게 된다. 테스트 역시 내부 테스트와 외부 테스트를 진행하게 된다. 테스트는 보통 QA를 진행한다고 하며 솔루션의 종류에 따라 틀리기는 하지만 일반적으로는 CBT(클로우즈 베타 테스트), OBT(오픈 베타 테스트) 등의 과정을 거치게 된다. 그 후에 QA가 무사히 진행되면 정식으로 서비스나 솔루션이 출시가 된다. 이런 일련의 프로세스는 기업들마다 약간의 차이점은 있지만 대부분 비슷하게 진행된다는 특징이 있다.


앞서 얘기한 부분은 IT 기업들이 자체 솔루션을 개발하거나 구축할 때 진행되는 프로세스이며 다른 카테고리의 기업들 역시 방식은 다르지만 시장 분석 -> 기획 -> 수행 전 설계 -> 수행 -> 검증의 일련의 프로세스는 비슷할 것이라고 본다. 하지만 실제로 이런 일련의 비즈니스 프로세스는 정형화 되어 있기 때문에 한번 구축이 되게 되면 변화를 주기가 어려운 부분이 있다. 각 프로세스마다 방식들이 거의 고정되어 있으며 나오는 산출물과 각 프로세스에서 사용되는 툴들 역시 한번 고정되면 변경하기가 어려운 것이 사실이다. 그러다보니최근들어 경영환경이 급속도로 바뀌어가고 트랜드 역시 수없이 변화하는 현재의 환경에서 유동적으로 유연하게 비즈니스 프로세스를 변경하고 효율성을 높이는 과정에 많은 어려움을 호소하는 경우가 많은 것이 사실이다.


BPM이란?


BPM이라고 들어봤는가? Business Process Management의 약자로 비즈니스 프로세스 관리를 의미한다. 생소할 수 있는 단어일 수도 있는데 앞서 설명한 일련의 개발, 구축 프로세스나 수행 프로세스를 체계적으로 관리하는 것을 의미한다. 보통 이런 일련의 프로세스 관리를 체계적으로 하기 위해서 다양한 툴들을 도입해서 사용하곤 하는데 산출물 관리 시스템이라고 불리는 시스템을 도입하는 경우가 대부분이다. 산출물 관리 시스템이라고 해서 특별한 것은 없다. 앞서 설명한 각 프로세스들마다 나오는 다양한 문서들을 체계적으로 한 곳에 모아서 관리하고 각 문서들의 변경 이력 등을 관리하는 것을 의미하는데 이것을 문서관리 시스템을 이용해서 하는 경우도 있고 아니면 개발이나 구축의 경우 SVN, CVS와 같은 소스 관리 시스템에 함께 묶어서 관리하는 경우도 있다. 어찌되었던 잘 알려지지 않지만 도입해서 쓰고 있다고 하더라도 프로세스의 일부만을 관리하는데 한정되어 있는 것이 사실이다. 하지만 이런 관리 시스템도 앞서 얘기했던 것처럼 프로세스 자체를 변화시키거나 순서를 바꾸거나, 혹은 사용하는 툴을 바꾸거나 하는 경우에는 제대로 대응하기가 어려운 것이 사실이다. 이런 것들을 손쉽게 해결하기 위해 BPM이라는 것이 필요한 것도 사실이기도 하고 말이다(앞서 얘기한 것도 BPM의 한 종류라고 할 수 있지만 범위가 제한되어 있고 여기서 얘기하는 BPM은 일련의 모든 프로세스와 산출물, 사용하는 툴까지도 유연하게 관리할 수 있는 관리 시스템을 의미한다).


즉, BPM은 프로세스를 중심으로 일어나는 사람과 사람, 사람과 시스템, 시스템과 시스템의 상호작용과 명시적인 프로세스 관리(즉, 프로세스의 정의, 실행, 모니터링, 분석 등)를 지원하는 도구와 서비스라고 할 수 있다.


BPM의 구성 요소


BPM은 프로세스 모델링 도구와 프로세스 엔진, 프로세스 모니터링 도구, 프로세스 분석 도구, 그리고 관리자 도구 등으로 구성되며 각 구성요소에 대한 설명은 아래와 같다.


프로세스 모델링 도구는 비즈니스 분석가가 프로세스 흐름을 도출하여 모델링하고 프로세스에 대한 분석을 수행할 수 있도록 지원해주는 그래픽 도구를 제공한다.


프로세스 엔진은 사전에 정의된 프로세스 흐름을 실행 시점에 단계별로 규칙에 따라 수행할 수 있도록 제어해주고, 프로세스를 실행하는 모든 단계에서 업무수행을 필요로 하는 어플리케이션들(예를 들어 레거시 어플리케이션, 패키지 어플리케이션, KMS, 오피스 도구, EDMS, 웹 서비스 등을 포함한 모든 어플리케이션)을 호출해 사람이 단계별로 업무를 처리할 수 있는 통합적인 업무환경을 제공해준다.


프로세스 모니터는 프로세스 엔진이 제어하는 정보를 활용해 진행중인 각각의 프로세스들에 대해 진행 단계와 상태, 업무 담당자, 업무 수행 시간 등의 정보를 실시간으로 모니터링 할 수 있게 해준다.


프로세스 분석 도구는 프로세스에 대한 처리 이력을 추적할 수 있으며, 처리 이력을 중심으로 프로세스에 대한 다양한 방식의 분석을 수행할 수 있도록 분석기능을 포함하고 있다.


관리자 도구는 관리자가 프로세스 흐름의 상태를 모니터링하고, 문제가 발생하는 경우의 업무 복구와 강제 종료, 재시작 등의 비상 조치를 수행할 수 있다.


BPM이 필요한 이유

이런 BPM이 필요한 이유를 간단히 설명하면 첫째로 보이지 않는 프로세스를 보이기 한다는 것이다. 앞서 BPM의 정의에서 얘기했듯 각 기업과 기업, 혹은 개인과 개인의 업무 프로세스 진행에는 서로간의 유기적인 관계에 따라서 다양한 프로세스들이 진행되는 것이 사실이다. 그런데 이런 프로세스들은 한눈에 파악하기가 어려운 것이 사실이다. BPM은 이런 한 눈에 보이지 않는 프로세스들을 가시화함으로 프로세스 효율성 개선 등에 획기적으로 도움을 줄 수 있다.


둘째로는 최대한 자동화 할 수 있는 프로세스들을 자동화 시킬 수 있다는 것이다. 앞서 가시화된 프로세스를 분석하여 자동화된 툴을 이용하거나 혹은 자동화 툴을 만들어서 도입하는 등의 작업을 BPM을 통해서 가능하게 한다는 것이다.


셋째는 업무를 중심으로 통합된 시스템 환경을 제공한다. BPM의 구성 요소 중에서 프로세스 엔진에 해당하는 얘기로 각 프로세스마다의 규칙을 제시하고 각 단계에서 필요로 하는 어플리케이션을 호출하도록 해 사람이 단계별로 업무를 처리할 수 있는 통합적인 업무환경을 제공하는 것이 BPM의 특징이다.


넷째는 프로세스 처리 이력을 통한 측정을 지원한다. BPM은 비즈니스 목표에 따라 측정을 위한 지표를 설계하고 프로세스 처리 이력을 토대로 설계된 지표값을 측정함으로써 개선방안을 도출하도록 지원한다.


다섯째는 변화된 프로세스를 쉽게 적용할 수 있도록 지원한다. 앞서 통합환경을 제공해주기 때문에 통합환경에 변화를 줘 일괄적으로 모든 사용자가 별도의 작업 없이 변화된 프로세스를 사용할 수 있도록 해줌으로 각 사용자마다 변화된 환경 설정을 하나씩 해 줄 필요가 없어서 시간적으로 적용 시간을 단축시킬 수 있다.


여섯째는 경영환경의 변화에 따라 수반되는 업무처리 방식과 규칙의 변화에 적은 비용으로 유연하게 적응할 수 있도록 해준다.


위의 이유들을 종합하면 이렇다. BPM은 프로세스들을 가시화하고 표준화하여 효율적으로 목표하는 결과에 제대로 도달할 수 있게 만들어주는 시스템이라는 얘기다.


적은 투자로 효과적인 관리를 가능하게 하는 클라우드 환경에서의 BPM


앞서 얘기한 이런 BPM 시스템의 구축이 최근에는 많이 진행되고 있는 것이 사실이다. 그런데 많은 경우에 이런 BPM 시스템을 기업 내부에 구축하는 경우가 많다. 보안 때문에 기업 내부에 구축하는 경우가 많은데 각 시스템을 개별적으로 개발, 혹은 구축해야 하며 만약 서로 다른 시스템을 연계해서 사용하는 경우에는 관리 포인트가 많아져서 관리 비용이 증가하고 또한 외부에서의 접속이나 사용 등에 제한이 걸리게 된다. 즉, 시스템의 지속적인 업그레이드가 필요한 것이 사실인데 매번 체크해야 하고 수동으로 소프트웨어와 하드웨어에 대해서 업그레이드 작업을 해야 한다.


그런데 이것을 클라우드 환경에서 작업을 하게 되면 다음과 같은 이점이 있다. 일단 즉시 사용이 가능하다는 점이다. 이미 클라우드 시스템에 구축되어 있는 서비스를 바로 이용할 수 있기 때문이다. 또한 최소한의 자본 투자로 사용할 수 있으며 필요에 따라 확장이 용이하다. 또한 관리하는 서비스가 따로 존재하기 때문에 사용자는 관리 등의 업무를 최소화하여 실제 필요한 업무에만 집중할 수 있다는 장점이 있다. 그리고 마지막으로 항상 최신의 시스템을 유지할 수 있다는 점이다. 그리고 최근 클라우드 시스템의 장점은 기업 안에 구축한 것과 같은 보안성을 함께 제공해주고 있다는 점이다. VPN 방식을 이용하든 암호화된 통신 방식을 이용하든 다양한 보안 방법을 통해 마치 기업 안에서 내부 시스템에서만 쓸 수 있게 하는 방식처럼 클라우드 시스템에 연결해서 사용할 수 있는 방법을 제시하고 있다.


IBM BPM on Cloud



앞서 설명한 클라우드 시스템 위에 BPM을 제공하고 있는 솔루션이 IBM의 BPMoC(BPM on Cloud) 서비스로 IBM이 제공하고 있는 클라우드 서비스인 소프트레이어(SoftLayer)를 기반으로 BPM 시스템을 제공하고 있으며 앞서 소개한 클라우드 시스템에서 제공하는 BPM의 장점을 모두 제공하고 있는 것이 특징이다. 


IBM의 BPMoC에 대해서 더 자세히 알고 싶다면 아래의 URL로 들어가서 알아보는 것도 좋을 것이다.

URL : http://ibm.co/1TeJtR4


"이 포스팅은 한국 IBM 소프트웨어의 의뢰로 원고료를 받고 작성되었습니다."

저작자 표시 비영리 변경 금지
신고
블로그 이미지

학주니

학주니의 시선으로 본 IT 이슈와 사회 전반적인 이슈에 대한 블로그

댓글을 달아 주세요