일정과 진척관리 Report / Design Lab

2010.06.17. 18:40

복사 http://blog.naver.com/mpinklion/140108993095

번역하기 전용뷰어 보기

[웹 프로젝트 관리] Chapter2. 일정과 진척관리



지금도 어딘가에서 웹프로젝트 뿐만이 아니라, 마감일과 납기일에 허덕이고 있을 동지(?)들에게 애틋한 메시지를 보내고 싶다. 마감일, 납기일, 오픈일등 D-Day Count만큼 사람을 조이고, 스트레스를 쏟아 부어주는 일은 아마도 어디에도 없을 것이다. 테러 소재의 영화를 보면, 늘 나오는 장면이 있다. 맞다. 시한폭탄 얘기를 하려 한다. 매정하게 시간은 흐르고 일촉즉발의 상황에서 주인공은 몇 초만을 남겨두며 폭탄을 제거한다. 몹쓸 질문 들어가시겠다. 두 가닥 선중에 하나만 자르면 되는데, 왜 꼭 몇 초만 남겨둔 상황에서 자르나요? 라고 말이다. 폭탄이 프로젝트라 하고, 주인공이 PM이라고 비유를 하자. 우습게도 영화와의 전개와 유사해진다. PM은 늘 여유 있게 프로젝트를 하고 싶어, 초반에 스피드를 낸다. 그래도 결국 오픈을 앞두고는 항상 바쁘게 된다. 결국 몇 초 남겨두고 스톱워치를 멈추는 것과 같이, 프로젝트도 결국 마지막은 늘 긴장 속에 끝이 나게 된다. 시간은 사람에게 스트레스를 주지만, 긴장과 함께 카타르시스를 가끔씩 주기도 한다. 그러기에 영화의 소재로 시한폭탄이 애용되고 있는 이유가 아닐까 한다. 여기까지 서두로 해두고, 두 번째 주제로 일정과 진척관리에 대해 이야기를 하려 한다. 다시 말하면, 프로젝트를 시한폭탄으로 만들지 않기 위해 먼저 해야 하는 첫 번째 중요한 프로젝트 관리 요소 중에 하나가 일정 관리이다. 완벽한 스케줄을 만들기 위해 우리들의 PM들은 아직도 고민의 고민을 거듭하고 있다.


>> 일정관리 : Segmentation 


모든 프로젝트는 다양한 Unit Task들의 집합체로서 Task Segmentation이 절대적으로 중요하다. 자사에서 보유하고 있는 방법론에 맞추어 최대한 업무를 최소 단위까지 쪼개내어야 한다. 물론, 초반에는 정량화가 된 것이 없기에 이에 대해서는 참으로 귀찮고 비효율적인 업무라고 생각하기 쉽다. 그러면서 넘어가다 보면, 나중에 예상치 못한 이슈들로 인해 프로젝트를 시한폭탄으로 만들어 버리게 되는 것이다. 그 이유를 상세히 비유하자면, 사과를 프로젝트 덩어리라 생각을 하고, 사과벌레가 이슈들이라고 생각을 해보자. 사과를 먹으려고 하는데, 벌레 구멍을 보았다면, 어떻게 하겠는가. 그냥 입으로 베어먹다가 찾을 것인가? 설마 그렇게 용감하지는 않겠지만 말이다. 대부분이 과도를 사용하여 사과를 조각조각 내어 벌레의 위치를 찾아내고, 벌레의 영향이 없는 부분만을 먹게 되지 않겠는가? 그와 같은 것이다. 프로젝트들은 여러 가지 이슈들을 머금고 있다. 그러한 이슈들은 눈에 띄는 것도 있지만, 내제되어 있는것들이 있다. 전쟁에 비유하자면 눈에 띄는 이슈들은 적군이 던지는 수류탄이라고 한다면, 내제되어 있는 이슈들은 지뢰와 같은것이다. 그러기에 부대 행렬에는 항상 선두에 첨병들이 위험요소를 파악하기 위해 서 있게 되어 있다. Task Segmentation 작업은 벌레먹은 사과를 분해하는것과 같다. 내제되어 있는 이슈들을 화두로 끄집어 내며, 위험요소들을 협의 또는 논의하여 배제시켜 놓고, 안정적으로 진행하기 위함이다. 


최대한 업무를 쪼개고 쪼개서 Unit Task들의 정의 단계로 진행할 수 있게 된다. 


>> 일정관리 : Task 정의


세분화 시켰던 일정에 대해서는 Unit Task별 정의단계가 기다리고 있다. Task 전문성과 난이도, 협업유무 및 Cross Inspection에 대한 Task Character를 수립해야 한다. 이는 업무의 성향 및 위험요소를 체크하고 안정적인 수행을 위한 기초 데이터로 사용하기 위함이다. 

Task 
전문성


단위 업무가 가지고 있는 수준을 가늠하는 것으로 예를 들어 디자인의 경우, 서브인덱스화면과 서브화면에 대해서 투입인력의 전문 수준에 따라 업무 분장을 위한 부분으로 활용하기 위함이다. 즉, 이 단계에는 각 파트별 리더들과의 면밀한 협의를 통해 예측을 할 수 있다.

난이도 
파악


내재되어 있는 Task가 협의과정이 복잡한 부분인지, 개발진행을 할 때 외적인 요인에 의해 향후 변경의 소지가 있는 부분인지 등의 위험요소들을 파악해야 한다. 위험수위가 높은 것들은 미리 파악하여 여러 대안들에 대해 대비를 해두어야 하는 단계이다. 

협업


Task Segmentation을 하다 보면, Task-Task별 연계성에 대해서 고민을 하게 된다. 전문적인 Task나 위험요소가 내제된 Task들에 대해서는 협업 시스템을 가동하여, 프로젝트 진행의 강약 조절을 하기 위한 코디네이션(Coordination) 작업이라 할 수 있다. PM은 늘 선택과 집중이라는 부분을 명심해야 한다. 선택과 집중에 대한 여러 해석중에서 강약의 조절 기능도 마찬가지이다. 난이도가 낮고 쉬운 Task들의 경우와 반대로 어려운 Task들에 대해서는 준비하는 자세도, 정신도 틀려야 한다는 것이다. 

Inspection (내부 검수)


상호 검수를 수행해야 하는 부분은 바로 난제가 되는 부분에 대해 TFT들이 공동의 이슈로 충분한 논의를 거쳐야 하는 Task들을 분리해 내는 작업이다. 
위의 작업들을 차례대로 수행하게 되면, 아! 하고 깨닫게 되는 것이 있을 것이다. 바로, 1번에서 4번까지 단계별로 Task들을 정의 및 선별을 하는 동안에 점차 이슈들이 걸러진다는 걸 알게 될 것이다. 프로젝트 초기에는 이러한 단계를 거쳐 이슈들에 대한 분석 및 위험요소들을 제거 또는 대비를 할 수 있게 된다. 2002년 월드컵의 4강 신화의 뒤에는 누구나 다 아는 얘기이겠지만, 고트비라는 비디오 분석관의 다양하고 방대한 전력 분석 영상데이터들을 들 수 있다. 이러한 데이터들을 통해 히딩크는 전략을 수립하게 되었다. 최근 케이블의 스포츠채널을 돌리다 보면, 6년이 지난 지금도 그때의 경기들을 송출해주고 있는 애국적 컨텐츠로 만들어 놓았다. 



 
>> 일정관리 : WBS (Work Breakdown Structure), Gantt Chart


PM업무의 꽃이라고 본인은 평하고 싶을 만큼, 전문적인 지식과 함께 경험적 데이터들이 발휘하게 되는 단계가 바로 WBS수립이다. 이를 Gantt Charting 수행을 하게 되면, 프로젝트 관리업무의 능력이 최대  발휘되는 순간이라 할 수 있다. 그만큼, 어렵고 난해하며 시행착오가 절대적으로 필요한 작업이다. 

WBS (Work Breakdown Structure)란, Task들에 대한 상하위 관계성을 맺어주는 그룹핑 작업이라고 할 수 있다. 이러한 Task들은 진척 단계별로 그룹핑이 되는데 일반적으로 [ 착수 – 분석 – 설계 – 구축 – 시험 – 전개 – 완료 ]로 7단계로 전개되는데, 이는 줄여서 다시 [ 분석 - 설계 – 구축 – 시험 - 전개 ]의 5단계로 진행되기도 한다. 이렇게 대분류에 따라, 중분류, 소분류등으로 나누어 Task들의 그룹핑을 수행한다. 예를 들어, 구축단계에 대해서는 구축하고자 하는 사이트 분류와 하위에 사이트 메뉴별 분류, 그리고, 업무의 성격에 따른, 디자인, 코딩, 개발, 단위테스트등의 분류를 나누게 된다. 이렇게 나누어진 분류표에 따라, 상세한 Task들을 나열하면 된다. 즉, 분류들은 직접적인 진척관계를 체크하는 부분은 아니라, 프로젝트의 관계성을 통해 전반적인 분석을 도와주는 기능을 한다. 


Task들을 나열하게 된 WBS를 기준으로 각 Task별 자원(인원)배정, 소요기간책정, 선행작업 관계수립, 예상 시작일자 및 완료일 수립을 하여 Chart화 시킨 것이 바로 Gantt 차트이다. 

WBS는 어떻게 보면, Gantt를 통해 수립된 개념이라고 생각해도 과언이 아니라 할 수 있다. Gantt Chart는 계획수립과 진척관리에 절대적으로 필요한 방법이라 할 수 있다. 복잡하고 Task별 다양한 관계성을 가지고 있는 웹프로젝트에서는 오랜 경험을 통해 이보다 더 좋은 방법을 찾을 수 없었다. 얼마전 열풍 속에 끝난, 사극들을 보게 되면, 전쟁에서 반드시 등장하는 것이 작전지도이다. 이를 통해 현황을 파악하고 전략을 도출하고 있다. Gantt Chart는 이러한 기능을 하고 있는 것이다. Gantt Chart Tool로 본인은 M사의 Project를 S/W를 사용하고 있다. 좌측의 Text형태의 WBS를 관리하고 우측에는 Chart의 선형구조로 한눈에 보기 쉽게 구조화 되어 있기에 그렇다. 혹, 자사의 PMS(Project Management System)을 구매 또는 구축을 하였다면, 대부분이 이러한 Gantt Chart를 기준으로 활용하고 있을 것이다. 어떠한 Tool을 사용하더라도 개념만 맞다면, 상관은 없을 것이다. 

WBS-Gantt 업무를 처음 하게 되면, 솔직히 망막하다. 나도 그랬고, 직장 동료들도 마찬가지로 겪고 있는 것이기에 당황하지 않기를 바라며, 본인이 수행하는 단계로 작성해 보면, 훨씬 수월하리라 생각한다.

먼저, 위에서 언급한 프로젝트의 5단계(분석-설계-구축-시험-전개)에 대해 정의를 하자. 

 분석 
단계


사업 추진 전에 분석한 Data와 모호한 부분에 대한 정형화 업무를 수행한다. 정형화 업무에 대해서는 고객 및 현업 담당자들과의 인터뷰 일정을 통해, 모든 업무에 대한 파악 및 방향성에 대한 데이터들의 수집 단계이다. 

설계 단계


분석 데이터를 기준으로 다양한 설계를 진행한다. 디자인, 컨텐츠, 서비스, 개발방향, Database관련 기준, 인터페이스(연동)기준들을 차근 차근 풀어나가는 과정이다.

구축
단계


설계를 토대로 구성된 작업내역들의 분류를 하여 디자인, 코딩, 개발, 자료관리등의 Task들을 나열한다. 이때는 각 Task별 선행작업 관계도를 고려하면 된다.

 시험 
단계


보통 테스트는 단위-통합-승인 테스트의 3단계로 진행을 하게 되는데, 그에 따른 계획 및 시나리오, 테스트 방법들에 대한 부분이다.

 전개 
단계

시스템을 런칭하기 위해 준비 작업들에 대한 업무 순서를 정하는 부분이다.

 



이러한, 대분류에 따른 상세 Task들을 나열한다. 그리고, 각 Task별 작업 기간을 설정을 하게 된다. 이때는 각 파트별 리더들과 같이 협의를 통해 예상되는 작업 기간을 선정을 하면 된다. 이후에는 Task 선행작업을 등록한다. 예를 들어 간단한 게시판을 구현할 때, 반드시 화면설계가 나온 이후 디자이너가 Prototype을 만들고, Coder를 거쳐 지정된 개발언어에 맞춰 개발자가 작업을 한다. Coding 공정은 반드시 Prototype이 선행작업이 되는 것이다. 마찬가지로 Prototype공정은 화면설계가 선행작업이 되는 것으로 이러한 Relation 요소들을 등록하게 되면, 전체 프로젝트의 단계가 하나의 유기체와 같이 구조화 된다. 이때가 대략적인 오픈일정이 나오는 시기이다. 


그런 다음에는 인원배정을 하게 된다. 각 Task별 지정되어 있는 TFT인력들을 배치하게 되고, 배치가 끝이 나게 되면, 중복 업무가 없는지, 특정 인원에 업무의 쏠림 현상이 있는지를 검토하여, 다시 분산 및 재조정등을 통해 완성된 Gantt Chart를 마무리 하게 된다.

 


이는 일반적인 프로세스이기에 이 또한 지속적인 연구 및 버전업과정을 거쳐 수립된 기업들의 자체적인 프로세스를 도입하기도 한다. 하지만, 그 맥락은 크게 벗어나지 않는다. Gantt Chart는 지난 달에 언급했었던, 일정, 자원에 대한 관리를 할 수 있는 절대적인(?) 관리 툴이라 생각한다.

>> 진척 관리 

진척관리에서 중요한건 절대로 WBS상의 대,중,소분류를 가지고 진척율을 판단하면 안된다. 진척 수집은 세부적으로 나눈 Task별로 Real Data 수집을 기준으로 해야 한다. 그러한 Task들이 그룹핑되어진 상위 분류에 대한 총괄 진척율로 상황 파악을 해야 한다. 

프로젝트를 진행하다 보면, 어디 초반에 수립한 일정표대로 진행이 되는 경우는 거의 없다. 진행 중간에 나오는 문제들에 대해서 일정이 더 늘어나기도 하고, 줄어들기도 하는데, 거의 줄어드는 경우는 없다. 그러기에 Buffer의 확보는 반드시 필요하다. Buffer는 이러한 프로젝트가 막다른 길에 도달했을 때 급하게 대비하기 위해 일정 및 자원 편성 시에 남겨두는 여분의 요소들이다. 이렇게 일정 Buffer와 자원 Buffer는 마지막 총알과도 같은 것이다. 민감한 사안이긴 하지만, 국회 통과를 대비하고 있는 한미FTA 협상의 예를 들어보자, 협상 당시 분야별 협상에 임하는 각국의 대표들은 여러 단계의 협상카드들을 준비하고 간다. 자국의 유리한 협상을 하기 위해 한 단계씩 협상카드들을 내놓게 된다. 물론, 준비해간 협상카드를 사용하지 않고 유리한 조건으로 마무리되면 얼마나 좋은가. 하지만, 그렇지 않은 경우들이 많기 때문에 필수 준비물이라고 할 수 있다. 이렇듯, 프로젝트도 마찬가지로 최악의 상황을 예측을 하고 그러한 대비를 할 수 있는 Buffer 인력 및 일정에 대해 가능한 선으로 산정을 해 놓아야 한다. 


보통 전체 규모에 평균적으로 10%정도의 Buffer를 준비하는 것이 좋다. 이 부분은 향후에 이슈 및 리스크관리에서 자세히 다룰 얘기 이지만, PM의 마지막 무기와 같은 것이다. 최대한 Buffer 자원은 아끼고 아껴서 프로젝트 마지막까지 사용해야 하는 것이기 때문이다. 이러한 Buffer 없이 수행할 경우 문제 발생시 해결하기 위해 가용인력들을 다독이며, 조금만 더 힘내고, 파이팅 해서 완료하자는 건, PM의 책임과 직결되는 것이다. TF인원들은 산출되는 퀄리티에 대해 책임을 가지고 있는 것이 중요하기에 많은 부담을 주게 되면, 경험상 효율은 절대 좋아지지 않는다.

>>진척관리 : Gantt Chart를 통한 진척관리

Gantt Chart를 통한 진척관리 방법은 여러 가지 툴이 있겠지만, 앞서 얘기했듯이 본인은 MS Project를 주로 사용한다. 진척율은 예상 진척율과 실제 진척율이 있다. 초기에 수립했던 일정이 바로 예상 진척율이 되고, 진척관리를 통한 Real Data들에 의한 것이 실제 진척율이다. Daily별로 보고를 하는 경우도 있지만, 주간보고 시에 이러한 진척율을 같이 공유하게 되는 경우가 많은데, 예상과 실제 진척율이 언제나 들어맞는 경우는 없다. 웹프로젝트도 사람이 하는 일이고 퍼포먼스가 잘 나오기도 하고 안 나오기도 하기 마련이다. 그러한 특성을 감안하여 오차범위 3%정도는 충분히 크게 신경을 쓰지 않아도 되지만, 반드시 원인은 분석해야 한다. 향후에 문제화가 될 수 있는지를 가늠해야 하기 때문이다. 하지만, 3%의 오차범위를 간과할 수 없는 시기가 있다. 프로젝트 초반이라고 할 수 있는 분석, 설계단계에서 3%의 오차범위는 매우 크다. 고속도로에서 브레이크를 밟으면 그 영향이 뒤차에도 전달되어 몇km후방까지 영향을 주게 되어 결국, 이유 없는 정체가 일어난다는 충격파 효과(Shock-Wave Effect)와도 같은 맥락이다. 프로젝트도 일정한 속도를 유지할 수 있게 진척 리듬 관리도 중요하다는 것이다. 

그럼 진척율 계산은 어떻게 할까? 매우 복잡하다. 소요자원, 자원의 등급, 예상작업일과 실제작업일, 난이도 및 보정계수를 통해 산출되지만, 본인은 MS Project를 통해 쉽게 책정한다. 

각 Task들에 대한 완료율에 대한 진척상황을 입력하게 되면 상단에 쉽게 진척율을 나타내주고 있다.

 


일정계획은 솔직한 얘기로 본인도 아직은 어려운 부분 중에 하나이다. 초밥 하나에 밥알이 몇 개를 들어갔는지 세어보지 않고는 모르듯이, 대략적인 부분을 정형화 시키는 작업이 바로 일정관리이다. 

일정은 프로젝트에서의 존재감이란 것은 두말이 필요 없이 최선, 최상의 관리 조건 중에 하나다. 그러한 작업을 도와주기 위해 WBS방식과 Gantt Chart를 통한 일정 및 진척관리 방안을 소개했다. PM이 프로페셔널 한 단계로 가기 위해서는 꼭 필요한 부분이라 생각한다. 간혹, 내부 문서라고, 관리용 문서라고 소홀히 하는 경우가 없길 바란다. 
글/ 디지털웍스 조규성 차장. (본 아티클은 월간 웹 'Lecture'부분 기고 글입니다)

[출처] 일정과 진척관리|작성자 레드준

 

'스크랩 > PM&웹기획[일반]' 카테고리의 다른 글

PM의과제  (0) 2016.05.10

+ Recent posts