What is "Project VISION"
이번에 새로운 프로젝트를 하면서 프로젝트의 범위를 정하기도 힘들고 해서 기존에 만들어 두었던 Project Template를 꺼내 들었습니다. Contrux사의 CxOne을 기본으로 만든 것입니다. Contrux사의 핵심인이 바로 Steve McConnel이고 Rapid Development나 Code Complete의 저자기도 하죠. 더불어 조엘이 너무 정형화 되어 문제의 소지가 있다라고 지적된 것이기도 합니다. 저로서는 프로젝트가 너무 막연한 상태에서 범위 설정도 어려운 상황이라 Project Charter를 사용하기로 하였습니다.

개발지원사이트에 wiki(공동으로 편집 가능한 웹페이지라 보시면 되겠습니다.)가 깔려 있어 Project Charter의 Template를 wiki로 작성하고 몇가지를 채워 넣었습니다. 이런 Template을 사용하는 방법의 장점입니다. 혼동스러울때 항목들을 채워 나감으로써 충분한 고려와 더불어 정리가 된다는 점이죠.

Project Charter라는 것은 사실 프로젝트를 시작하기 전에 시작하는 문서입니다. 그래서 마지막 부분에는 "승인"여부를 적습니다. 문서의 Draft 상태에서 위쪽(혹은 돈줄)의 승인을 받게 되면서 Version 1이 탄생될 것입니다. 이런 성질의 문서이다 보니 내용도 어떤 희생(Cost)을 통해 어떤 이익(Benefit)을 얻을 수 있는 가에 관한 것입니다. 관계인/기관(타부서, 고객, 사장등)과의 영향도 서술하고 Risk나 Asset도 정의합니다.

이 문서의 가장 처음에 나오는 것은 "Vision"입니다. 1.Introduction의 1.1에 바로 Vision이 나옵니다. 그리고 CxOne의 가이드 라인에 따르면 이 Vision은 한문장 내지 길어야 두문장으로 적으라고 합니다. 사실 이 글을 적게 된 동기가... "사장님"께서 "1.1 Vision"을 "Vision Statement"라고 바꾸시더니 보고서 몇페이지를 넣어버리셨습니다. 당연히 "빠꾸"가 되겠습니다. :)

Vision이란 프로젝트의 모든 것을 한마디로 압축 하는 것입니다. 군더더기 없이 한마디로 요약한다는 것이 그리 쉬운 것은 아니지만 반대로 이것이 정의가 되어야만 중요한것과 덜중요한것 그리고 불필요한 것들을 구분해 낼 수 있고 핵심적인 것이 무엇인가를 항상 놓치지 않을 수 있습니다.

"한마디"의 중요성/어려움
자신을 설명하는 '글'을 쓴다고 생각해 봅시다. 개인에 따라서는 책을 한권 써내려 갈 수도 있습니다. 저도 잠시 써볼까요? 아주 간략히만 써 봅니다.
키는 175에 몸무게는 60kg입니다. 대학에선 전산전공을 하였고 C/C++ 프로그래밍을 주로 하면서 더불어 Team Project에 다수 참여 경험과 Project Leading 경험도 있습니다. 독수공방 20여년, 서울에 혼자살고 차량과 퀸사이즈 침대가 완비되어 있습니다.

저의 전부가 아닌 이력서 용도라 하더라도 상당히 길게 쓸 수 있습니다. 이제는 "한마디"로 적어보려 합니다. 위에서는 3개 문장으로 이루어진 글이군요. "손실압축"을 하려면 결국 필요없는 정보는 제거해야 합니다. 어느 부분이 불필요한가를 결정하려면 결국 문장의 "목적"이 필요하죠. 그리고 그 목적에 맞는 것만 골라내야 합니다.

제가 자주 사용하는 "채팅방 제목" 케이스를 써 볼까 합니다. "One-Night Stand"(비슷한 용어로 "번개")를 위한 채팅방이며 제목에서는 자기 자신을 극단적으로 드러내야 합니다. 대충 이성에 어필할만한 부분들을 추려볼까요?
건장한 몸매. 차량과 퀸사이즈 침대 완비.

"독수공방 20년" 같은 부분은 전혀 도움이 되지 않기 때문에 같이 제거되었습니다. 저의 몸매가 그리 권장하지는 않습니다만 그렇다고 우기고는 단어 선택을 변경하였습니다. 자 이것으로 채팅방을 만들면 될가요? 가끔씩 찾아오는 스패머들만 있을 것입니다. "블루오션"을 읽어 보셨다면 대충 감이 잡히실 겁니다. 실제로 이성이 들락날락거리는 방의 제목으론 다음 예제가 있습니다.
BMW

한마디란 이런 것입니다. 이쁜얼굴(요즘 트랜드라죠;;), 몸짱, 재력 등등 모든 조건이 좋은 남자라 하더라도 방제목에 이런거 적어봐야 도움이 안됩니다. 정확히 하나를 집어 내어야 하는 것입니다.
20가지 그래프를 지원한다, 36가지 포맷의 보고서 자동생성 기능이 있다. 70가지 수학함수를 지원한다. 천개의 파일을 동시에 열어서 편집할수 있다. 매우 쉽게 사용자가 이용할 수 있다. 이런 스프레드쉬트(Excel같은) 프로그램을 만들겠다.

많은 프로그램 프로젝트가 위와 비슷하게 적습니다. 생각이 복잡해 지고 이런것도 좋아지고 저런것도 사용자에게 어필될거 같아서 마구마구 적어보지만... 채팅방 열어놓고는 결국 다운받은 영화나 보게되는 거죠. 반대로 "한마디"라는 것은 결국 핵심 포인트를 집어 내는 것입니다.
얼마나 어렵냐구요? Steve McConnel의 <소프트웨어 프로젝트 생존전략>에도 인용되었습니다만 MS-WORD 1.0의 경우에도 1년을 계획했던 프로젝트가 만신창이가 된 후에서야 5년만에 출시되었습니다. Vision이 "세계 최고의 워드프로세서를 만들자"였거든요.

"한마디로 정리하자면"
Project Charter에서 Vision의 중요성, 그리고 그것이 왜 한마디여야 하는지에 대해서 경험이 쌓이면 쌓일수록 더욱 강하게 느끼게 되는 것 같습니다. 한마디로 정리할 수 없다면 아직 머리속에 생각이 정리되지 못한것입니다. 정리된 아이디어라면 문서의 처음에 Vision 한마디만 적어두어도 주위 사람들이 자신과 거의 비슷한 범위로 생각을 전개해 나갈 수 있을테니까요.

이런 특성은 비단 프로그래밍 프로젝트에만 해당되지는 않을 것 같습니다. ^^

What's your Vision? by just one statement.
PS. 위의 채팅방 예제는 한 4년전에는 먹혔습니다만 제가 그분야에서 손땐지가 좀 되는고로 요즘은 잘 모릅니다. 최근에 채팅방을 어쩌다 들어가 보니 전멸 분위기긴 하던데;;; 그리고 제가 BMW를 가지고 있다는 소리도 아닙니다;;;;