본문 바로가기

Work Log/As Software Engineer

EPF를 사용한 사례(Eclipse Process Framework Composer:Use Case) - Consulting Service Framework의 제작

저는 조직을 시스템화하는 것에 관심이 많습니다. 전에 있던 소프트웨어 개발 벤더의 경우도 아무런 체계 없던 조직을 글로벌 벤더 수준으로 변화 시켰던 경험이 있습니다.


지금 조직은 기존에 있던 조직과는 또 다른 형태입니다. 컨설팅 조직이기 때문에 프로젝트 단위로 움직이고, 한 곳에 모여서 일을 하지 않기 때문에 일하는 체계가 개인의 역량에 높은 수준으로 의존하고 있는 문제가 있습니다. 측정해야 개선할 수 있다는 말이 있는데, 측정할 대상이 비지니스와 관련된 활동(재무관점 등)에만 있어 컨설팅 서비스의 품질이 지속적으로 개선되어나가기에 쉽지 않은 체계를 가지고 있습니다. 간헐적으로 개선활동이 이루어지고 있었습니다만, 비즈니스 특성 상 지속되지 못하고, 잠시 그 시기가 지나면 당사자만 기억하여 점점 잊혀지는 문제도 있었습니다.


그래서 아이디어를 낸 것이 EPF를 사용하여 프레임워크를 제작하고, 공유하는 것이었습니다. 지속적으로 개선해야 할 눈에 보이는 대상을 만드는 것이지요.


아래에서 이야기하는 사례는 실제로 EPF를 사용하여 컨설팅 업무를 돕기 위한 프레임워크를 제작 한 것에 대한 것입니다.


많은 프로젝트 단위로 운영이 되는 조직에서는 프로젝트가 완료되고 나서 수집되는 OPA의 경우 그룹화 되지 않은 상태로 관리가 되기 쉽고, 템플릿 등 개별적으로 관리가 되어 효용성이 떨어질 수 있는 문제가 있습니다. 조직의 OPA(Organizational Process Asset)을 체계화하여 지속적으로 개선할 수 있는 Tangible한 자산을 작성하기 위하여 EPF를 사용 할 수가 있습니다.



전체적인 구조 


업무를 체계화시킨 방법론은 일반적으로 Phase-Activity-Task와 각 Task의 수행 Step, 그리고 Task의 Input/T&T(Tool and Technique)/Output로 구분할 수 있습니다.

이를 실제 Delivery하는 서비스를 기준으로 재사용성을 고려하면 아래와 같은 3단계의 프레임워크 계층으로 생각해볼 수 있겠습니다.


Delivery Service - Activities - Guidance


* Delivery Service는 실제 고객에게 제공하는 서비스 단위이고, 재사용 가능한 Activity들의 집합으로 볼 수 있습니다.

* Activity는 마찬가지로 재사용 가능한 Task의 집합이고,

* Guidance는 Input, T&T, Output을 위한 예제, 체크리스트, 가이드라인, 템플릿 및 기타 재사용 가능한 조직의 자산입니다.



EPF에서의 구현


이를 EPF에서의 체계로 구체화하기 위해서는 아래와 같은 구성이 지금까지 해본 결과 최적의 구성입니다.

예를 들고 있는 프레임워크 이름을 NEXSECU라고 하면 아래와 같은 순서로 그 결과를 볼 수가 있습니다.


Step 1. 'NEXSECU' 이름의 Method Libraries 생성


Step 2. 'NEXSECU' 이름의 Method Plug-In 생성


Step 3. 'Processes > Delivery Processes'에 Delivery Service 수준의 객체들을 생성

- 처음에는 내용 없이 이름만 작성을 해도 된다.

- Name은 유일해야 하기 때문에 Delivery Process의 앞자를 따서 'DP_'를 Prefix로 하면 좋다. Ex_ DP_AAA컨설팅

- Presentation name은 Prefix를 제외한 나머지 이름으로 하는 것이 결과물을 보기에 좋다


Step 4. 'Processes > Capability Patterns'에 Activity 수준을 작성한다.

- 위의 Delivery Processes에서처럼 Name의 Prefix는 'CP_'를 사용한다.

- Work Breakdown Structure Tab은 나중에 Task를 가져다가 Extend 할 것이기 때문에 지금 단계에서는 비워둔다


Step 5. 'Method Content > Content Packages'에 Content Package를 생성한다.

- 많이 나눌 필요는 없어보인다. 지금 예제의 목적의 경우 '컨설팅', '프로젝트관리' 2개의 Content Package를 생성한다.


Step 6. 'Method Content > Content Packages > 컨설팅 등 Content Package'에서 Guidance를 생성한다.

- 특별한 경우가 아니라면 Reusable Asset 형태로 생성하면, 첨부도 되고, 다른 객체에서 참조도 되어 관리가 편하다. 단, 체크리스트 등 각 항목에 맞는 Description 항목을 제공하고 있기 때문에 살펴보고 적절한 항목을 선택해야 할 경우도 생긴다.

- 첨부는 여러개가 가능하다.

- Prefix를 분류 명 등으로 적절하게 부여하면 이후에 카테고리에 Assign할 때 등에 검색할 수 있어 편리하다


Step 7. 'Method Content > Content Packages > 컨설팅 등 Content Package'에서 Work Products를 생성한다.

- Work Product는 산출물이기 때문에 Task에서 Input, Output으로 사용된다.

- 이름에 'WP_' 등으로 Prefix를 넣는다.


Step 8. 'Method Content > Content Packages > 컨설팅 등 Content Package'에 Role을 생성한다.


Step 9. 'Method Content > Content Packages > 컨설팅 등 Content Package'에 Task를 생성한다.

- Description을 작성하고, Steps를 작성한다.

- Roles 탭에서는 위의 단계에서 생성한 Role을 Add한다.

- Work Products 탭에서 Input 산출물과 Output 산출물을 Add한다.

- Guidance에서는 참고할 수 있는 산출물 작성예제 등의 Guidance를 Add한다.


Step 10. 'Processes > Capability Patterns'의 WBS를 작성한다.

- WBS 탭에서 기존에 작성한 Task를 Drag & Drop 하여 기존에 작성한 Task를 재사용한다.


Step 11. 'Processes > Delivery Processes'의 WBS를 작성한다.

- WBS 탭에서 Context 메뉴의 'New Child > Phase'를 선택하여 Phase 수준을 생성한다.

- 생성한 Phase에서 마우스를 우클릭하여 Context 메뉴에서 'Apply Pattern > Extend...'을 선택하여 기존에 작성한 Pattern을 선택한다.


Step 12. 'Method Content > Custom Categories'에서 메뉴 트리를 구성한다.

- 'New > Custom Category'를 선택하여 '1. Guidance', '2. Consulting Activities', '3. Delivery Services'로 3개의 Category를 생성한다.

- 생성한 Category 아래로 Sub 개념의 Category를 추가로 생성할 수도 있다.

- 생성한 말단의 Category에서 'Assign'탭으로 가 해당 Category에 포함 할 컨텐츠를 Assign 한다.

- Assign 시 앞서 작성한 Prefix를 사용하여 패턴 매칭을 하면 보다 쉽게 추가할 수가 있다.


Step 13. Configuration을 생성한다.

- 'NEXSECU Configuration' 등으로 이름을 넣어 Configuration을 생성한다. 여기에서는 Publish 할 컨텐츠를 지정하면 된다.

- 'Content:'로 된 곳에 생성한 'NEXSECU' Plug-In을 체크하면 된다.

- 추가나 빼고싶은 Category가 있으면 'Add these Categories:'나 'Subtract these Categories:'에서 지정하면 된다.


Step 14. Configuration 에서 View를 설정한다.

'NEXSECU Configuration'의 View 탭에서 'Add View...' 버튼을 선택하여 'Method Content > Custom Categories'에서 생성한 Category를 View로 설정하면 된다.

- 각 View 중 가장 먼저 보일 항목을 선택하고 'Make Default'를 선택하면 된다.

- 순서를 변경하고자 할 경우에는 'Order'버튼을 눌러 순서를 정하면 된다.


Step 15. Publish

-  상단 메뉴의 'Configuration > Publish'를 눌러 앞서 생성한 Method Configuration(NEXSECU Configuration)을 선택하여 'Next'버튼을 누르다보면 결과물을 볼 수가 있다.