작년말 발행된 Automotive SPICE® (이하 ASPICE라 함) V4.0에서 프로젝트 관리 프로세스의 변화가 있었습니다. 특징적인 내용은 프로젝트의 범위 관리에서 통상적으로 사용되는 기법인 작업분해구조(Work Breakdown Structure, WBS)가 더 이상 직접적으로 언급되지 않는다는 것입니다. 더불어, 활동(activity) 대신 작업꾸러미(work package)를 기본실무(Base Practice)와 출력작업산출물(Output Work Product) 수준에서 다루고 있습니다. 이번 기사에서는 WBS 및 일정(Schedule)과 관련된 내용을 중심으로 기존의 프로젝트 관리 표준 등과 ASPICE에서의 차이점을 알아보고자 합니다.
1. 프로젝트에서 범위(scope)와 일정(schedule) 관리
프로젝트 관리에서 범위와 일정 관리는 매우 중요합니다. 범위는 수행해야 할 일의 양(크기)이나 종류와 관련이 있고 일정은 납기를 맞추기 위한 것입니다.
일반적으로 프로젝트에서 범위 관리를 위한 주요 수단으로 사용해 온 것이 작업분해구조(Work Breakdown Structure, WBS) 입니다. 이것은 프로젝트라는 커다란 작업(일)을 계층적으로 나눈 것인데 그것의 최하위 구성요소들을 작업꾸러미(work package)라고 합니다. 작업꾸러미는 다시 여러가지 정보를 담고 있는데 그 대표적인 내용에는 그 작업꾸러미를 완료하기 위해 필요한 활동(activity)들과 이것들을 수행할 책임주체, 공수, 비용 등이 포함됩니다.
그림1-1 작업분해구조(Work Breakdown Structure) 및 작업꾸러미(work packages)
한편, 작업꾸러미에 포함된 활동들은 시간관리를 위해 그 의존성을 식별하고 관리할 필요가 있습니다. 예를 들어 활동 간의 순서는 시간 관리를 위해 중요하다. 어떤 활동이 끝나야만 다른 활동들을 할 수 있거나(선후행 관계), 활동들이 동시에 시작되거나 끝나야 하는 등 수행 순서는 제한된 납기를 맞추기 위해 관리해야 할 필수 사항 입니다. 그러한 의존성은 해당 작업꾸러미 내에서 뿐만 아니라 전체 프로젝트 수준에서도 식별되어야 한다.
그림 1-2 활동 간의 의존성
대개, 프로젝트 관리에서는 범위를 정의하고 활동들과 활동 간의 의존성을 식별한 후 활동 네트워크가 구성될 수 되며 여기에 이용가능한 자원들을 할당함으로써 일정을 수립하게 됩니다.
그림 1-3 활동 네트워크 다이어그램의 예
2. Automotive SPICE®에서의 프로젝트 범위 및 일정 관리
프로젝트에서 일(작업)에 대한 범위 정의와 관리 그리고 활동들 및 그들의 의존성 식별등을 이용한 일정 관리 등의 실무는 ASPICE V3.1에서 MAN.3.BP1의 범위 정의, BP4에서 활동들과 의존성 식별, BP8에서 일정 수립과 관리로 나타나 있습니다. ASPICE V3.1에서는 MAN.3 프로젝트 관리 프로세스의 출력작업산출물(Output Work Product) 중의 하나로 WBS가 기술되어 있습니다. 그런데, WBS의 정의를 보면 WBS라기 보다는 작업꾸러미(work package)의 정의에 더 가깝게 설명되어 있습니다. 즉, WBS란 수행되는 과업(task)들과 그 책임주체(ownership)들을 정의한 것이고 입/출력물과 과업(task)간의 의존성 등을 포함한다고 부록 Work Product Characteristics(14-09)에 정의가 되어 있는 것입니다.
사실 V3.1에 불일치가 다소 있습니다. 전통적으로는 WBS가 범위를 정의하고 관리하는 수단인데, BP1(범위 정의)가 아닌 BP3(타당성 평가), BP4(활동 정의), BP5(공수 및 자원 산정)과 WBS가 Mapping 되어 있습니다. WBS에서는 과업(task)을 정의하라고 되어 있는데 BP4에서 과업(task)는 온데간데없고 대신 활동(activity)을 언급하고 있습니다.
전통적으로는 과업(task)을 활동(activity)의 하위 요소로 구분하고 있습니다. 대체로, 과업(task)는 특정 부서나 인원에게 할당하고 관리할 수 있을 정도로 작은 활동을 말하며 일단 시작하면 중단없이 끝낼 수 있는 하위 수준의 활동이라는 성격을 갖습니다. 그러므로 시간 관리를 위해 수립되고 사용되는 일정표에서 찾아 볼 수 있는 활동은 대체로 과업(task) 수준으로 볼 수 있습니다.
V4.0에서는 이를 바로 잡게 되는데 부록 작업산출물 특성(Work Product Characteristics)에서 기존 WBS 특성 정의를 작업꾸러미(work package)로 변경하였고 대신에 출력작업산출물(output work product)에서 WBS를 제거하였습니다. 그러면서 V3.1의 정의 중에 있던 과업(task)이라는 용어를 활동(activity)로 바꾼 점도 주목하기 바랍니다. 아래 그림 참조
그림 2-1 작업꾸러미 출력작업산출물 특성 비교
즉, V4.0에서는 범위 관리와 관련하여 WBS를 더 이상 기본실무(Base Practice)나 출력 작업산출물(Output Work Product) 수준에서 다루고 있지 않고, 노트 등의 설명에서 언급을 하고 있습니다. 모델에서 중요한 것은 작업꾸러미라고 보고 있는 것입니다. 더 나아가 작업꾸러미들을 활동(activity)처럼 간주하고 있습니다. V3.1의 BP4(활동 정의)에서 활동(activity)을 작업꾸러미로 대체하게 됩니다. 그러다 보니 작업꾸러미 간의 의존성을 식별하는 것도 포함됩니다. 아래 그림 참조
그림 2-2 프로젝트 관리 프로세스 기본실무 4의 비교
이것은 본 기사 앞절에서 이야기한 기존 프로젝트 관리 방법과는 다소 상이한 해석을 하고 있는 것입니다. 결국은 V4.0에서 활동(activity)과 과업(task)에 대한 자체 용어 정의도 하게 되는데 아래와 같습니다.
그림 2-3 ASPICE V4.0에서 활동(activity)과 과업(task)의 정의
과업(task)과 활동(activity)을 같은 수준으로 정의하고 다만, 활동은 이해당사자나 관계된 대상자에 의한 과업의 실행으로 보았습니다. ISO/IEC/IEEE 12207과 같은 생명주기 프로세스에서의 정의와는 다릅니다. 한편, 작업꾸러미가 정의된 활동들을 포함하고 있으므로 BP8(일정 관리)에서는 모호하게 표현합니다. 자원을 작업꾸러미에 할당하고 각 활동에 일정을 수립하라고 합니다. 아래 그림 참조. 실제로 활동들을 고려한 일정을 수립하려면 작업꾸러미가 아닌 활동 수준에서 자원을 할당해야 합니다.
그림 2-4 ASPICE V4.0에서 프로젝트 관리 프로세스 기본실무 8
기존의 프로젝트 범위 관리에서는 범위 정의의 결과로서 작업꾸러미가 있고 작업꾸러미가 갖는 활동들이 일정 관리의 대상이 되는데 V4.0에서는 작업꾸러미부터 일정 관리의 대상인 활동의 성격을 갖는 것으로 보입니다.
3. 결론
정리하자면 V4.0에서는,
프로젝트에서 작업(일)의 범위를 정의하는데 WBS라는 기법을 간접적으로 언급하고 있습니다. (모델은 What에 대한 것이므로 구체적인 How를 언급하지 않는다는 점에서는 적절한 변경인 것 같습니다.)
결과적으로는 관리의 대상이 되는 작업꾸러미(work package)를 중요하게 다룬다는 것입니다.
작업꾸러미 수준부터는 그들 간의 중요 의존성을 관리하는 것이 필요합니다.
작업꾸러미에 포함된 활동들의 의존성을 식별하고 가용 자원을 고려하여 일정을 수립합니다.
앞으로는 작업꾸러미에 대한 상세한 정보를 명세한 WBS dictionary를 작성할 필요도 있어 보입니다.
활동(activity)과 과업(task)에 대해서는 생명주기 프로세스 등에서 통상적으로 사용해온 개념과는 다른 자체 정의를 하고 있어서 혼란을 줄 수 있는 점은 아쉽습니다.
모델은 절대적이고 변하지 않는 경전이 아닙니다. 지속적으로 업계의 모범 실무에 따라 변경되고 개선될 수 있습니다. 유연하게 해석하고 프로세스 적용을 통한 실질적인 이익을 추구하는 것이 더 중요합니다.
참고 자료
- Automotive SPICE® Process Reference Model and Process Assessment Model V3.1
- Automotive SPICE® Process Reference Model and Process Assessment Model V4.0
- ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary
- ISO/IEC/IEEE 12207:2008 Systems and software engineering — Software life cycle processes
- PMBOK Guide 6th edition
- Practice Standard for Work Breakdown Structure Third Edition