저는 조직을 시스템화하는 것에 관심이 많습니다. 전에 있던 소프트웨어 개발 벤더의 경우도 아무런 체계 없던 조직을 글로벌 벤더 수준으로 변화 시켰던 경험이 있습니다.
지금 조직은 기존에 있던 조직과는 또 다른 형태입니다. 컨설팅 조직이기 때문에 프로젝트 단위로 움직이고, 한 곳에 모여서 일을 하지 않기 때문에 일하는 체계가 개인의 역량에 높은 수준으로 의존하고 있는 문제가 있습니다. 측정해야 개선할 수 있다는 말이 있는데, 측정할 대상이 비지니스와 관련된 활동(재무관점 등)에만 있어 컨설팅 서비스의 품질이 지속적으로 개선되어나가기에 쉽지 않은 체계를 가지고 있습니다. 간헐적으로 개선활동이 이루어지고 있었습니다만, 비즈니스 특성 상 지속되지 못하고, 잠시 그 시기가 지나면 당사자만 기억하여 점점 잊혀지는 문제도 있었습니다.
그래서 아이디어를 낸 것이 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'버튼을 누르다보면 결과물을 볼 수가 있다.
'Work Log > As Software Engineer' 카테고리의 다른 글
EPF (Eclipse Process Framework Composer)를 사용하여 프로세스를 체계적으로 관리 해보자! (0) | 2013.10.11 |
---|---|
웹 프레임워크 벤치마킹 (0) | 2013.06.04 |
프로젝트 관리 관련 표준 참고 (0) | 2011.02.01 |
[슬라이드] 관리자와 리더의 차이 (0) | 2011.01.10 |
[슬라이드] 소프트웨어 기업을 위한 제안서 작성 프로세스 (제안업무가이드) (0) | 2010.12.30 |