brunch

You can make anything
by writing

C.S.Lewis

by 김병호 May 04. 2023

프로젝트 여유(Buffer)일정의 올바른 사용방법

개인이 관리하는 여유일정은 쉽게 소진됩니다. 

프로젝트 여유(버퍼,buffer)일정은 자동차의 범퍼나 에어백과 같이 원하지 않은 사건이나 상황이 발생했을 때 충격을 완화하는 것이 목적입니다. 그러나 현실에서 프로젝트 관리자가 버퍼를 확보하는 것은 사치인 경우가 많습니다. 프로젝트 차원에서 사용할 버퍼를 팀원이 사용하는 경우가 많기 때문입니다. 일반주행에서 에어백이 터져서는 안 되는 것과 마찬가지로, 일정이 지연되지 않는 상황에서 버퍼를 사용하면 안 됩니다. 프로젝트 관리에서 버퍼는 일정과 예산에 적용할 수 있지만, 이하에서 ‘버퍼’는 ‘여유일정’과 같은 의미로 사용했습니다.

누군가가 당신에게 ‘00업무를 끝내는데 며칠 걸리나요?’라고 물어볼 때의 답은 과소추정, 과다추정, 일반추정으로 구분할 수 있습니다. 뒤에서 자세하게 설명하겠지만 과소추정은 프로젝트를 위험에 빠뜨리고 과다추정은 프로젝트 관리자가 사용할 버퍼를 팀원이 사용합니다. 

 과다추정과 과소추정

과다추정을 하면 추정치에 버퍼를 포함합니다. 위의 그림에서 A가 그 예입니다. 5일에 끝낼 수 있는 업무를 7일로 추정한 것은 2일의 버퍼를 반영한 것입니다. 물론 추정치 7일에 대해 “5일이면 끝낼 수 있는데 혹시 몰라 2일의 여유를 추가했습니다”라고 말하지 않습니다. 실제로 추정하는 사람의 논리도 적정기간과 여유기간으로 구분하지 않고, 무의식 속에서 추정에 대한 개인의 성향이 반영되었을 가능성이 높습니다. 

과다추정의 결과는 A1과 A2로 설명할 수 있습니다. A1은 적정기간 5일 만에 끝나는 경우입니다. 이때 업무를 완료한 5일 차에 보고할 수도 있고, 약속했던 7일 차에 보고할 수도 있습니다. 만일 7일 차에 보고하면 일찍 완료한 효과가 없어집니다. 많은 사람들이 업무가 일찍 끝나도 처음 약속한 일자에 완료한 결과를 공유합니다. 본인이 추정한 일정이 틀리는 것을 부담스러워하기 때문입니다.   


과소추정을 하면 버퍼를 포함하지 않습니다. 위의 그림에서 B가 그 예입니다. 5일 정도에 끝낼 수 있는 업무를 4일 만에 완료할 수 있다고 의욕을 보이는 것입니다. 필자의 경험으로는 과다추정을 하는 사람이 과소추정을 하는 사람보다 많습니다. 과소추정의 결과는 B1과 B2로 설명할 수 있습니다. B1은 약속한 4 일을 지키기 위해 노력하여 4일 만에 끝나는 경우입니다. 잔업을 했을 수도 있고, 근무시간에 더 집중하여 업무를 했을 수도 있습니다. A2와 B1의 사례를 보면 업무를 수행하는 사람의 마음가짐이 추정의 정확성에 영향을 미치는 것을 알 수 있습니다. 그래서 추정을 잘한 것인지 실행을 잘한 것인지 구분이 힘듭니다. B2는 4일 만에 완료한다고 약속했지만 5일 만에 끝나는 경우입니다. 이때는 정상적으로 업무를 했지만 1일 지연되었다고 질책을 받을 수도 있습니다. 과소추정의 부작용입니다.  


프로젝트 관리에서 버퍼는 다루기 어렵고 민감한 주제입니다. 버퍼를 별도로 관리하지 않고 정상일정이나 정상예산에 포함하면 프로젝트 차원에서는 큰 도움이 되지 않습니다. 고객이나 경영층은 프로젝트 팀의 계획에 숨겨진 버퍼가 있을 것이라 의심하고, 프로젝트 팀은 버퍼 없이 최선을 다한 추정치라고 항변할 것입니다. 그러나 일단 프로젝트를 시작하면 실제로 버퍼가 있었는지 없었는지를 알기는 어렵습니다. 실행을 잘못하여 확보한 버퍼를 의미 없이 소진하기도 하고, 프로젝트 팀이 헌신하여 버퍼 없이 프로젝트 기간을 당길 수 있기 때문입니다. 프로젝트 팀의 헌신으로 달성한 기간단축을 처음부터 버퍼가 있었다고 누군가 이야기한다면 프로젝트 팀원은 기가 막힐 것입니다. 같은 논리로 프로젝트 일정이 지연되어도 과소추정이라고 주장하기 힘듭니다. 프로젝트 수행을 잘못할 수도 있기 때문입니다. 


버퍼를 잘 관리하면 프로젝트 팀에 도움이 되지만 잘못 관리하면 버퍼는 의미 없이 사라집니다. 버퍼를 의미 있게 활용하기 위해서는 다음의 네 가지를 정확하게 이해해야 합니다. 

버퍼를 확보하는 이유

개인이 확보한 버퍼를 의미 없이 소진하는 이유 

프로젝트 차원에서 버퍼를 확보하는 방법 

버퍼를 활용한 일정관리 방안 

 

1. 버퍼를 확보하는 이유 

버퍼를 확보하는 이유는 개인이나 프로젝트 팀을 보호하는 것이 주요 목적이지만 좀 더 상세하게 네 가지의 유형으로 구분할 수 있습니다. 


(1) 약속을 지키지 못할 경우 피해가 크기 때문입니다. 

프로젝트 일정이 지연될 때 프로젝트 관리자나 프로젝트 팀원들이 큰 피해를 본다면 약속을 지키지 못할 가능성을 줄이고자 할 것입니다. 예를 들어 임원 승격을 앞둔 프로젝트 관리자가 새로운 프로젝트를 맡았다면 보다 많은 버퍼를 확보하기 위해 노력할 것입니다.  

  

(2) 고객이나 경영층이 도전적인 목표를 요청할 것을 알기 때문입니다.

고객이나 경영층이 프로젝트팀의 추정치를 신뢰하지 않고 여유를 포함하고 있다고 생각하면 프로젝트 팀의 추정치에서 일정비율(예:10%, 20%)의 삭감을 요청할 것입니다. 예를 들어 프로젝트 팀이 10개월이 걸린다고 하면 2개월 단축해서 8개월 내에 끝내라고 압박하는 것입니다. 물론 이때 대부분 왜 2개월을 줄여야 하는지 논리적으로 설명하지 않는 경우가 대부분입니다. 조직의 상황이 좋지 않으니 도전적인 목표를 수립하자는 식입니다. 


이런 문화에 익숙한 프로젝트 관리자는 경영층의 일정 삭감요청을 감안하여 추정합니다. 마치 시장에서 물건 값 흥정하듯이 프로젝트 일정을 확정하는 것이죠. 이런 상황에서는 경영층이 단축한 기간 내에 프로젝트를 완료한다면 경영층은 자기의 판단이 옳았다고 생각하고 프로젝트 팀을 더욱 불신합니다. 그래서 다음에는 좀 더 도전적인 목표를 요청하겠다고 다짐할지도 모릅니다.  


(3) 불확실한 상황에서 일정과 예산을 약속해야 하기 때문입니다. 

프로젝트에 대한 정보가 부족하거나 추정을 위한 시간이 충분하지 않은 상태에서 프로젝트 일정을 약속해야 한다면, 일단은 구간으로 일정을 추정한 뒤 보다 많은 정보를 분석하여 확보하여 하나의 값으로 약속하는 것이 논리적입니다. 예를 들어 지금 주어진 정보로는 프로젝트 일정은 10개월에서 14개월이 걸릴 것 같다고 말하는 것입니다. 그러나 대부분의 사람들은 불확실한 것을 싫어합니다. 특히 경영층은 프로젝트 관리자가 프로젝트 목표에 대해 불확실한 태도를 보이면 자신감과 의욕이 없다고 판단합니다. 구간으로 추정치를 이야기할 때는 경영층이 최소값으로 목표를 강압적으로 정할 수 있다는 것에 유의해야 합니다.    


프로젝트 관리자는 팀원들이 동의하지 않는 목표를 수용해서는 안됩니다. 프로젝트 관리자가 어떤 숫자를 이야기하는 순간 본인의 의도와 상관없이 숫자 스스로 생명을 가지고 여러 사람들에게 확산될 수 있기 때문입니다. 특히 프로젝트 관리자가 숫자를 이야기할 때의 맥락과 가정은 잊히고 숫자만 여러 문서와 여러 사람들의 입에서 돌아다닙니다. 상황이 급하면 단 하루라도 팀원들과 함께 추가적인 정보를 확보하고 분석한 결과를 바탕으로 추정치를 보고해야 합니다. 정보가 불확실한 상황에서는 프로젝트 팀에서 여러 가지 가정에 근거한 추정을 할 수 있습니다. 그러한 상황에서는 프로젝트팀의 가정을 명확하게 설명하고 그 내용을 문서화하는 것이 바람직합니다. 왜냐하면 프로젝트 팀에서 정의한 가정이 변경될 경우 일정을 수정할 수 있기 때문입니다. 

추정에 근거하여 약속하고 약속을 이행하기 위한 계획을 수립하는 것이 이상적입니다. 추정은 불확실성을 감안해야 하기 때문에 구간으로 분석하고 약속은 그것을 검토하여 하나의 목표값을 정합니다. 프로젝트 관리자는 ‘추정’과 ‘약속’을 명확하게 구분해야 합니다. 추정은 엔지니어링 영역에 가깝고 팀원의 의지를 반영하지 않지만 약속은 팀원의 의지를 반영합니다. 고객과 경영층을 대상으로 추정의 과정과 약속의 과정을 구분하여 이해시키는 것을 포기해서는 안됩니다.   

추정, 약속, 계획의 차이


(4) 여유가 없으면 불안해지는 개인의 성향 때문입니다. 

마지막 이유는 개인적인 성향 때문에 버퍼를 잡는 것입니다. 업무에 대해 보수적인 사람은 아무래도 버퍼를 많이 확보하고자 할 것입니다. 특히 프로젝트 관리자나 업무리더가 이런 성향이 있으면 프로젝트 전체에 버퍼를 반영하고자 할 것입니다. 만일 고객이나 경영층을 잘 설득하여 버퍼를 포함한 계획을 승인받으면 다행입니다. 그러나 이런 성향의 사람들은 주변의 사람들이 쉽게 파악합니다. 그래서 본인이 원하는 만큼의 버퍼를 확보하기 힘든 경우가 많습니다. 뿐만 아니라 그런 일이 지속되면 본인의 평판이 나빠질 수도 있습니다. 

 

2. 개인이 확보한 버퍼를 의미 없이 소진하는 이유(파킨슨의 법칙) 


개인이 액티비티에 숨겨둔 버퍼는 ‘모든 작업은 주어진 시간을 최대한 채운다’는 파킨슨의 법칙에 따라 의미 없이 사라지기 쉽습니다. 파킨슨의 법칙은 주어진 부피에 맞게 기체가 팽창하는 것에 비유할 수 있습니다. 부피가 커지면 기체는 커진 부피에 맞게 팽창합니다. 기체의 밀도만 낮아질 뿐입니다. 


주어진 작업시간을 채우는 유형은 세 가지가 있습니다. 첫째는 아래그림의 A와 같이 늦게 시작하는 것입니다. 이런 현상은 학생들이 시험에 임박하여 집중적으로 공부하는 것에 비교하여 ‘학생 증후군’이라고 합니다. 

둘째는 아래그림의 B와 같이 주어진 기간 동안 여유 있게 작업을 수행하는 것입니다. 만일 해당기간 동안 개인이 1개의 작업만 하고 해당 업무의 시간이 여유 있다면 하루 중 업무에 집중하는 시간이 줄어들 것입니다. 

셋째는 아래그림의 C와 같이 중요하지 않은 작업을 하느라 기간을 채우는 것입니다. 보고서 작업이 대표적입니다. 보고서 작성기간이 충분하면 보고서의 기본적인 내용을 거의 완성된 상태에서 문구를 다듬고, 발표에 사용되지 않을 별첨을 만들고, 디자인을 예쁘게 하느라 시간을 채우는 경우가 많습니다. 보고서 작성기간 2주가 주어졌고 1주 동안 스토리를 거의 완성했으면 그 상태에서 중간보고를 하여 피드백을 받는 것이 훨씬 좋습니다. 외부 프레젠테이션이 아니라 내부 보고라면 디자인이 예쁘지 않고, 표현이 약간 거칠어도 큰 문제가 되지 않습니다. 


많은 사람들이 높은 사람들에게 보고 할수록 보고서의 완성도를 최대한 높인 뒤에 보고해야 한다고 생각합니다. 그러나 대부분의 경영층이 원하는 것은 보고서의 내용이지 디자인이 아닙니다(물론 내용과 디자인 모두가 좋은 것이 좋습니다). 엉뚱한 내용을 예쁘게 만드느라 직원들이 고생하길 원하는 경영층은 없습니다. 보고서의 내용이 지시한 사람의 의도와 맞는지 확인하는 방법은 직접 보고하고 피드백을 받는 것입니다.  만일 보고서 작성을 ‘보고서 초안 검토’와 ‘보고서 완성’과 같이 2개의 작업으로 구분하여 각 1주씩 배정했다면 훨씬 효율적일 것입니다.  

 주어진 작업시간을 채우는 파킨슨의 법칙

 

3. 프로젝트 차원에서 버퍼를 확보하는 방법 

앞서 설명한 파킨슨의 법칙 때문에 버퍼를 제대로 활용하려면 개별 액티비티의 버퍼를 모아서 프로젝트 버퍼로 활용해야 합니다. 액티비티에 숨겨진 버퍼를 모아서 일정이 지연되는 액티비티를 위해 사용한다면 프로젝트 지연을 예방할 수 있다는 취지입니다. 여러 사람들의 보험금을 모아 불행이 닥친 개인에게 지급하는 것과 같은 논리입니다.  


 프로젝트 버퍼의 개념을 그림으로 설명하면 아래와 같습니다. 개별 액티비티에 숨겨둔 버퍼를 모아 일정 비율을 줄인 뒤 프로젝트 버퍼로 사용한다면 프로젝트 팀에도 조직에게도 모두 윈/윈(win/win)이 된다는 이야기입니다. 

프로젝트 버퍼를 도출하는 개념

문제는 개별 액티비티의 버퍼를 어떻게 계산할 것인가입니다. <불확실성과 화해하는 프로젝트 추정과 계획,마이크 콘>에 의하면 개별 액티비티의 ‘일정준수 가능성 50% 추정치’와 ‘90% 추정치’를 계산하여 그 차이를 제곱하여 값을 더한 뒤 제곱근을 계산하면 버퍼가 됩니다. 예를 들어 아래표에서 5개 액티비티의 90% 추정치와 50% 추정치의 차이를 제곱한 합은 63이고 그때 제곱근은 8이 프로젝트 버퍼가 됩니다. 프로젝트 기간은  50% 추정치에 버퍼를 감안한 25일(50% 추정치 17일 + 버퍼 8일)이 됩니다. 이는 모든 액티비티를 90% 달성가능성으로 추정한 비관적 추정치의 합인 34일보다는 짧습니다.          


프로젝트 버퍼 도출 예

문제는 개인들이 50% 추정치와 90% 추정치를 계산하기 힘들다는 것입니다. 위의 계산방법은 달성해야 하는 일정이 주어지지 않은 상태에서 적정 버퍼를 감안한 일정을 수립할 때 적용 가능합니다. 그러나 현실은 대부분 달성해야 하는 일정이 주어집니다. 이때 버퍼를 계산하는 다른 방법은 각 액티비티의 기간을 50% 확률로 추정하여 도출된 일정과 달성해야 하는 일정과의 차이를 구하는 것입니다. 50%의 확률로 계산하는 일정은 쉽게 말하면 최선을 다했을 때의 일정계획을 수립하는 것으로 팀원수가 많지 않고 서로를 신뢰할수록 성공의 가능성이 높아집니다. 


이러한 방식은 이론적으로는 설득력이 있지만 현실에 적용하기는 어렵습니다. 팀원 중 누구라도 버퍼를 숨긴다는 생각이 들면 ‘공정’이라는 게임의 룰이 깨지기 때문입니다. 그 결과는 팀원 간의 불신과 갈등으로 이어질 수도 있습니다. 


프로젝트 버퍼를 도출하는 간단한 방법은 프로젝트 완료일에서 일정기간을 당겨 버퍼를 확보하고 버퍼를 제외한 프로젝트 일정계획을 수립하는 것입니다. 예를 들어 12개월 프로젝트를 10개월 프로젝트로 일정을 당긴 뒤 10개월의 계획을 수립하는 것입니다. 이런 방식은 일정의 여유가 있다고 판단할 때 적용 가능합니다. 물론 확보한 프로젝트 버퍼를 어떤 식으로 활용할 것인가에 대해 프로젝트 팀원들의 공감대를 얻어야 합니다. 

 

4. 버퍼의 활용한 일정관리 방안 

확보한 프로젝트 버퍼는 프로젝트의 납기지연을 막는 완충 수단으로 활용해야 합니다. 버퍼가 없는 프로젝트의 진척은 일정준수율 또는 지연일정으로 관리하지만, 버퍼가 있다면 버퍼소진률을 활용하여 프로젝트 일정지연 위험을 모니터링할 수 있습니다. 예를 들어 프로젝트가 75퍼센트 진행된 상태에서 프로젝트 버퍼가 50퍼센트 쓰였다면, 프로젝트 일정은 좋은 상태입니다. 반대로 프로젝트가 25퍼센트 진행된 상태에서 버퍼가 50퍼센트 쓰였다면 그 프로젝트의 일정지연의 위험은 높습니다. 프로젝트 버퍼는 아래 그림처럼 안전(녹색), 주의(노랑), 위험(빨강)으로 나누어 관리할 수 있습니다. 예를 들어 일정이 지연되어 버퍼를 사용하면서 안전영역에서 주의영역으로 바뀌면 일정지연의 위험을 분석하여 필요한 조치를 취할 수 있습니다. 


버퍼 소진률을 활용한 일정관리

프로젝트 버퍼관리는 사람의 심리와 관련되어 있기 때문에 공학적으로 접근하면 실패하기 쉽습니다. 복잡한 프로세스를 통해 버퍼를 관리하기보다 버퍼관리의 순기능을 팀원에게 잘 설명하고 단순하게 버퍼를 확보하는 것이 효과적일 수 있습니다. 어차피 모두가 수행하는 일은 다르고, 50% 추정치의 정확한 값은 아무도 모르기 때문입니다. 그러나 자기의 일은 다른 사람의 일보다 많아 보이고  어려워 보입니다. 그게 보통 사람의 마음입니다. 


버퍼를 활용하기 위해 가장 어려운 것은 개인의 버퍼를 모으는 것입니다. 그것은 어쩌면 꿈속에서나 가능할지 모릅니다. 그러나 모두가 버퍼를 숨기지 않고, 버퍼를 제대로 사용한다는 ‘믿음’이 있다면 해볼 만합니다.  다른 팀원들도 나처럼 업무에 집중한다는 믿음, 프로젝트 차원에서 버퍼를 사용하지 않을 경우 그 혜택이 나에게 돌아온다는 믿음이 그것입니다. 따라서 버퍼소진률이 여유 있다면 프로젝트 관리자는 팀원들이 정시에 퇴근할 수 있도록 배려해야 합니다. 그래야 개인들이 버퍼를 공개하는 의미가 있습니다.    


지금까지 설명드린 내용을 요약하면 다음과 같습니다.  


 - 
프로젝트 팀원들은 스스로를 보호하기 위해 버퍼를 확보합니다. 

팀원들이 확보한 버퍼는 파킨슨의 법칙에 따라 대부분 의미 없이 사용됩니다. 

버퍼를 제대로 활용하기 위해서는 개별 액티비티의 버퍼를 모아서 프로젝트 차원의 버퍼를 확보해야 합니다. (이것이 가장 어렵습니다) 

프로젝트 버퍼의 소진률은 프로젝트 위험관리 지표로 활용할 수 있습니다. 

프로젝트 버퍼를 효과적으로 사용하고 있고, 그 혜택이 팀원에게 돌아간다는 믿음을 팀원들에게 제공해야 합니다.  


https://brunch.co.kr/@kbhpmp/160


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari