[TMMM] #14. 재앙의 알을 품다.

문연수·2022년 11월 20일
0

TMMM

목록 보기
14/17
post-thumbnail

 매일매일 조금씩 일어나는 지연은 더 알아차리기 어렵고, 예방하기도 어려우며, 만회하기도 더 힘들다. 하나하나의 지연만 보면 예정된 일은 반나절이나 하루 정도 늦출 뿐이다.

그리고 일정한 한 번에 하루씩, 지연되어 간다.

1. 마일스톤인가, 맷돌인가? (Milestones or Millstones?)

 일정의 이벤트 목록에 기재된 각 항목은 마일스톤 (Milestones) 이라 부르며, 목표 날짜가 부여된다.

 마일스톤의 선택에는 오직 하나의 규칙만이 의미를 가진다. 마일스톤은 구체적이고 명확하고, 측정 가능한 이벤트여야 하며, 날이 선 듯이 분명하게 정의되어야 한다.

 대규모 개발 프로젝트에서 정부 계약업체들의 추정 행태를 조사한 두 건의 흥미로운 연구는 다음과 같은 결과를 보여준다:

  1. 어떤 활동의 소요 시간은 활동 개시 전에 추정되어 2주마다 신중하게 변경되었다. 추정치는 시작 시기가 다가와도 크게 바뀌지 않았는데, 이런 양상은 추정의 정확도와 무관 했다.
  2. 과대평가된 추정치는 활동이 진행됨에 따라 도중에 그 값이 꾸준히 떨어졌다.
  3. 과소평가된 추정치는 활동 도중에 애초 예정된 종료 시점 3주 전까지 큰 변동이 없었다.

 불분명한 마일스톤은 일을 진행할 때 더 힘겨운 짐이 된다. 그것은 잃어버린 시간을 더 어떻게 할 수 없는 지경이 될 때까지 사람을 속이므로, 사실상 의욕을 가아 으깨는 맷돌 (Millstone) 과도 같다. 그리고 만성적인 일정 지연은 사기를 꺾는 주범 이다.

2. "어차피 다른 쪽도 늦었는걸"

허슬 (Hustle)은 팀이 완충을 위한 예비 역량을 갖추게 해서, 일상적인 불상사에 대처하고 덜 심각한 재난을 내다보며 대비하도록 해준다. 앞서 보았듯이 우리는 일정이 하루 지연되었다 해도 흥분해야만 한다. 그런 것들은 재앙을 이루는 요소 이기 때문이다.

 계획적인 반응과 계산적인 일 처리는 허슬에 찬물을 끼얹지만, 허슬이 다소 꺾이는 것을 감수하더라도 어느 정도 계산된 반응 은 필요하다. 하루 지연된 것이 모두 똑같은 정도로 심각하진 않으나, 심각한 경우는 구분할 수 있어야 한다. 여기에는 PERT (Program Evaluation and Review Technique) 차트임계 경로 계획법 (Critical path model) 을 대신할 만한 것이 없다.

PERT 는 엄밀히 말하자면 모든 이벤트에 대해 추정 일정을 맞출 확률을 세 가지로 두어 소요 시간을 산출해 내는 복잡한 임계 경로 계획 기법이다. PERT 차트의 준비 과정은 그 쓰임새 중에서 가장 가치 있는 부분이다. 네트워크를 배치하고, 종속 관계를 식별하고, 소요 시간을 추정하는 행위들, 이 모두가 프로젝트의 아주 이른 시점에 대단히 구체적인 계획이 이루어지도록 만든다.

 프로젝트가 진행되어 가면서 PERT 차트는 "어짜피 다른 쪽도 늦었다." 라는, 사기를 저하시키는 구실에 대해 답을 제시한다. 이 차트는 자기가 맡은 부문이 임계 경로로 빠지지 않기 위해서 얼마나 허슬이 필요한지 보여주며, 다른 부분에서 손실된 시간을 어떻게 만회할지 알려준다.


참고: https://ko.wikipedia.org/wiki/퍼트
참고: https://ko.wikipedia.org/wiki/크리티컬_패스_분석법

3. 덮어 둔 것들

보스들은 프로젝트 관리를 위해 두 종류의 정보가 필요하다:

  1. 하나는 계획에 차질을 가져와서 조치가 필요한 문제들
  2. 그리고 상황 파악을 위한 프로젝트의 전체 모습이 그것이다.

 그러나 일선 관리자(First-Line Manager) 들은 자신이 문제를 보고 했을 때 상사가 거기에 대해 조치를 취하는 것을 두려워하기에 일정 지연을 알게 되었을 때, 자신이 혼자서 그 문제를 해결할 수 있다고 생각하는 한, 관리자는 상사에게 그 일을 알리지 않게 된다.

 이런 경우 보스에게는 양탄자 밑으로 쓸어 넣고 덮어둔 문제를 들출 방법이 두 가지 있으며 둘 다 사용해야 한다:

  1. 하나는 역할 갈등을 줄이고 상황 공유를 장려하는 것이고
  2. 다른 하나는 양탄자를 다시 홱 젖히는 것이다.

- 역할 갈등 줄이기

 보스는 우선 행동이 필요한 정보상황 파악을 위한 정보 를 구별해야 한다. 그는 부하 관리자들이 해결할 수 있는 문제에는 나서지 않도록, 그리고 명시적으로 상황 검토를 하는 자리라면 절대로 행동을 취하지 않도록 스스로를 자제해야 한다.

 보스가 당황하거나 역할을 가로채는 일 없이 상황 보고를 받아들일 것이라는 점을 알고 있다면, 일선 관리자는 솔직한 평가를 올리게 된다.

 보스가 각종 회의와 회고를 상황 점검문제 해결 로 나누고 거기에 맞춰 스스로를 통제한다면 이 모든 과정에 도움이 된다. 물론 문제가 감당할 수 없는 수준이라고 판단되면 상황 점검에 이어서 문제 해결을 위한 회의를 소집할 수 있을 것이다.

하지만 적어도 현재 상황이 어떤지는 모두 알고 있으므로, 보스는 행동에 나서기 전에 한 번 더 생각하게 된다.

- 양탄자 젖히기

 그럼에도 불구하고, 그 과정이 협조적이든 아니든 간에, 실제 상황을 있는 대로 알기 위한 점검 기법을 동원하는 일 역시 필요하다.

 벨 전화 연구소의 비소츠키(V. Vyssotsky) 는 다음과 같은 의견을 덧붙이고 있다:

나는 마일스톤 보고서에 예정된 날짜추정된 날짜 둘 다 적는 것이 유용하다는 것을 알게 되었습니다.

예정된 날짜들은 프로젝트 관리자에게 속한 것으로, 프로젝트 전체에 대한 일관성 있는 작업 계획을 나타내며 이 계획은 선험적으로 타당합니다.

추정된 날짜들은 당해 작업을 맡고 있는 최일선 관리자들의 몫으로, 그에게 가용한 자원과 선행 입력을 수령한(또는 그렇게 약속받은) 시점을 근거로 해서 그 일이 실제로 언제 일어날지 판단하는 최선치가 반영되어 있습니다.

 프로젝트 관리자는 추정된 날짜에는 손을 대지 말고, 최일선 관리자들이 구미에 맞는 낙권적 수치나 방어를 위한 보수적 수치가 아닌 정확하고 치우침 없는 추정치를 얻도록 강조해야 합니다.

 PERT 차트를 준비하는 것은 보스 및 그에게 보고하는 관리자들의 업무다. 그 차트의 갱신, 개정, 보고는 보스의 수족 격인 소규모 스태프 그룹이 담당할 필요가 있다. 이런 계획 및 통제 팀은 대형 프로젝트에서 대단히 유용하다.

 이 팀에 주어진 것은 일선 관리자들에게 마일스톤이 언제 설정될지 또는 변경될지, 그리고 마일스톤이 충족되었는지 물어볼 권한 뿐이다. 모든 서류 작업을 계획 및 통제 팀이 담당하므로, 일선 관리자 들의 책무는 필수적인 것, 즉 결정을 내리는 것 만으로 경감된다.

 숙련된 인원들을 계획 및 통제 에 약간 명 배치하는 것은 상당한 보상을 가져다준다. 이것은 그 인원들이 프로그램 작성에 직접 투입될 때보다도 프로젝트 성과 면에서 더 큰 차이를 만들어낸다.

계획 및 통제 그룹은 경미한 지연을 드러내고 결정적인 요소를 강조하는 감시인 이기 때문이다. 이 그룹은 한 번에 하루씩 1년의 시간을 잃지 않게 해주는 조기 경보 체계다.


 필자는 지금껏 경험많은 시니어 개발자가 소프트웨어 개발 프로젝트의 관리자가 될 수 있으며, 또 그렇게 하는 것이 타당하고 생각하였으나 이는 아주 어리석은 생각임을 깨닫게 되었다.

 소프트웨어 프로젝트 개발 방법론은 그것 자체가 하나의 전문 분야이며, 프로젝트 관리만을 전문적으로 공부한 전문가만이 옳게 주도 가능한 아주 복잡하면서도 흥미로운 분야임을 알게 되었다.

 과거 필자의 친구가 애자일이라는 소프트웨어 개발 프로세서 관련 서적을 읽고, 이를 추천해주었던 기억이 떠오른다. 당시 필자는 그것을 별 대수롭지 않게 치부하고 넘겼다.

그러나 그는 누구보다 먼저 소프트웨어 개발 프로세스의 중요성을 인지하고 한 발 앞서 나갔다. 그의 뛰어난 통찰력에 박수를 쳐 주고 싶다.

출처

[책] 맨먼스 미신: 소프트웨어 공학에 관한 에세이 (프레더릭 브룩스 지음, 강중빈 옮김)
[사이트] https://ko.wikipedia.org/wiki/퍼트
[사이트] https://ko.wikipedia.org/wiki/크리티컬_패스_분석법
[사이트] https://blog.naver.com/bnulinxinyou/220191455595
[사이트] https://ko.dict.naver.com/#/entry/koko/d9a3220e1d414b46a7f0d8f5a7a19790
[사이트] https://ko.dict.naver.com/#/entry/koko/e887338cc5f64bfa84e80232725a152b
[사이트] https://kin.naver.com/qna/detail.naver?d1id=11&dirId=110408&docId=431243488

profile
2000.11.30

0개의 댓글