risk

무대리와 함께하는 위험관리

Dr.risk 2010. 5. 30. 20:52

 


무대리: 도대체 프로젝트 하나 진행하는데, 무슨 "관리" 이렇게 많습니까? 참 내... 일은 언제합니까?

구루: 니가 PM이라면 "관리만" 너의 일이고 나머지는 모두 팀원들의 일이란다. 예를들어, 팀원들이 해내지 못하면, 니가 대신해 줄게 아니고, 어떻게 하면 그 팀원이 그 일을 하게 할 것인가를 고민하고 필요한 조치를 취하는 것이 너의 진짜 일인 게지... 그게 관리라는 것이다. 프로젝트가 실패되지 않도록 필요한 모든 조치를 취하는 게 PM인 너의 일이야.


무대리: 거두절미하고, 위험관리가 도대체 뭡니까? 위험관리 방안을 내라고 하는데...

구루: 위험관리라... 말 그대로 위험을 관리하는 것인데... 처음에는 좀 어려워 보일 것이야... 이상한 도표도 많이 나오고, 확률이 어쩌고 저쩌고 어려운 말만 잔뜩 써 있을 테니까... 근데 상식적으로 접근하면 쉬운 일이야. 우리 어머니들은 위험관리의 대가들이지. 어머니들은 항상 머리에 고민을 안고 사시잖아... 자식걱정으로... 예를 들면 이런 것들이지.


    "서울에 보낸 아들놈이 취직을 못하면 어쩌지? 서울 집값이 하늘을 찌른다는데, 전세금 올라서 쫓겨나면 어쩌지? 밥은 제대로 챙겨먹고 사나? 이놈 성깔이 좀 있는데, 사장하고 싸워서 회사에서 쫓겨나지 않을까? 회사가 집에서 멀다는데, 교통사고라도 나지 않을까? 서울에는 여우같은 년들이 많다는데, 여우 잘못 만나서 잘키운 우리 아들 망치지 않을까?"


구루: 이런 식으로 시골 어머니 머릿속에 있는 걱정거리를 다 나열하면 아마 100가지도 더 나올 거야. 어머니가 생각하시는 위험이라는 것들이지.

무대리: 하하... 딱 우리 어머니시네... 시골 집에 내려 갈 때마다 우리 어머니 저런 말씀하시는데... 다 쓸데없는 기우잖아요. 뭔 고민을 그렇게 사서하시는지...

구루: 허허, 이사람. 그럼 어머니께 그중 하나라도 100% 아니라고 확신시킬 수 있어? 말로 말고, 뭔가 확실한 물적 증거로 말이야...

무대리: 그걸 증거를 보여야 하나요? 너무 명백하게 아니잖아요. 예를 들어 전 지하철로 출퇴근 하니까, 교통사고 날 일이 없잖아요.

구루: 그래 그렇다면, 교통사고 날 가능성은 거의 희박하군... 하지만 그래도 절대 없는 것은 아니잖아. 맞아?

무대리: 있기는 있죠. 근데 없는 거나 다름없잖아요?

구루: 그럼 "여우같은 년 만나서 망칠" 가능성은?

무대리: 글쎄요... 아직 여자친구가 없어서...

구루: 그렇다면, "여우같은 년"이라는 위험이 아직 상당히 남아 있는 셈이네?

무대리: 아니라니까요, 제 취향이 그게 아닌데...

구루: 그래도 눈에 콩깍지가 끼면 어쩔 수 없잖아.

무대리: 그럴 수도 있겠지만서도...


구루: 어머님이 그런 걱정을 머리에 이고 살듯이 프로젝트 관리하는 PM도 걱정을 머리에 이고 살아야 하는 거야... 이 과제 실패하면 어떡하지? 이런 식의 걱정을...

무대리: 프로젝트 실패하지 않게 해야지, 왜 실패할 걱정부터 먼저해요? 참...

구루: 만약을 대비하기 위해서지... 자네가 무슨 배짱으로 프로젝트를 100% 성공시킨다고 장담하는 거야?

무대리: 그야... 시작하기 전에 잘 준비 했잖아요. 실패할 프로젝트였으면 아예 시작하지도 않았죠.

구루: 그건 그렇지. 하지만 경영진이 실패할 줄 뻔히 예견했으면서도 자네에게 프로젝트를 맡겼을 것이라고 생각해 본 적은 없어? 자네를 잘 구슬려서 말이야. 자네에게 공개한 정보만 보자면 그렇지만, 경영진이 알고 있는 또다른 정보에 의하면 실패할 게 뻔한 프로젝트일 수도 있잖아...

무대리: 아니, 그게 말이 돼요? 경영진이 나를 속이는 것이잖아요.

구루: 경영진이 자네에게 기회를 주는 것이지. 사실 경영진도 성공하기를 바라지. 다만 성공에 대한 확신이 없을 뿐이지.

무대리: 이 과제 시작할 때, 나한테는 쉽게 성공할 수 있을 것이라고 얘기했는데... 우리 회사에서 제일 개발 잘하는 짱개발이 우리 과제에 있으니까...


구루: 흠... 짱개발 때문에 성공을 확신하는 구만. 그럼... 짱개발이 가장 큰 위험요소로 돌변할 수도 있겠구만. 만약에 짱개발이, 말이야, 교통사고를 당하면 어쩌지? 그래서 3개월 드러누워 있어야 한다면 어떡할거야? 만약에 짱개발이 3개월 후에 퇴직할 생각을 가지고 있는데, 지금 숨기고 있다면 어떡할거야? 만약에 짱개발이 지금은 절대 아니겠지만, 언젠가 스카우트 제의가 자네 몰래 들어왔다면 어떡할거야? 만약에 짱개발이 유학을 준비하고 있다면 어떡할 거야? 만약에 짱개발이 결혼한다고 프로젝트에 소홀해지면 어떡할 거야? 만약에 짱개발이 자네같은 초보 PM하고 일 못하겠다고 사장님께 꼬지르면 어떡할거나구? 짱개발이 만든 코드가 제일 어려운 코드일 텐데, 거기에 버그가 있으면 누가 봐줄 거야? 짱개발, 그놈 좀 과시형이잖아. 그놈아가 새로 고용한 외주인력들 실력타박해서 외주인력들이 일을 망치면 어떡할거야?

무대리: 짱개발이 그럴리 없어요. 진짜 짱이라니까요.

구루: 허허, 이사람, 당신이 위험요소구만. 짱개발이 절대로 그렇지 않다고 확신할 만한 결정적 증거가 있어? 왜 그렇지 않을 것이라고 확신하는 지 얘기해 보게.

무대리: 글쎄요, 그냥 짱개발이 지금까지 잘 해 왔으니까... 여자친구 이제 사귀기 시작했는데, 결혼할 리도 없고...

구루: 그렇지... 그거야. 이 프로젝트 기간 동안에 결혼할 가능성이 매우 낮아 보이긴 하군, 하지만, 확신할 수는 없지.


무대리: 흠, 대강 무슨 말씀하시는 지 알겠습니다. 위험 관리라는게 만약에 어떤 일이 일어나면 어떡할거냐... 하는 식이네요?

구루: 기본은 그렇지. 이건 상상력의 문제야.


구루: 프로젝트가 처참하게 실패할 때를 생각해 봐. 얼마나 비참한지... 프로젝트 마지막에 3주이상 팀 전체가 밤새고 있는데, 거기다 대고 고객이 왜 결과물이 이모양 이꼴이냐고 소리지르고, 그걸 짱개발이 참겠어? 짱개발이 고객하고 대판 싸우고, 사장님 불려오고, 전무님 나타나서 무슨 일인지 취조하고... 선임 개발자 2명나 더 투입했는데, 짱개발이 개발한 코드가 구조적 결함이 있어서 차라리 전체를 새로 개발해야 한다고 결론이 나서, 마감 2주를 남기고 급하게 새로 개발하다가 결국 마감 넘기고, 마감 넘기고서도 2개월 이상이나 끌어서 간신히 끝냈지. 외주 개발자들은 계약기간 끝나자 마자 도망가기 바빴고, 문제는 외부개발자들이 만든 코드 역시 엉망이었던 거야. 고객은 아직 만족 못해서, 자네 팀은 그 후로도 8개월 동안 이거 바꿔달라 저거 바꿔달라 요구가 끊이질 않고, 과제 종료가 이미 8개월 전에 끝나서 더이상 인력을 투입할 수도 없어서 소극적으로 대응해 왔었는데, 결국 8개월 후에 고객은 화가 머리끝까지 치밀어서 또 사장님 불러서 면박주고, 또 급하게 개발자 3명이 전격 투입되어서 최종 마무리를 지었는데, 그러고 나니 결국 1년이 넘었어. 그래서 고객측에서는 이래서는 안되겠다 싶어서 새로 예산 잡아서 전면적으로 시스템을 개편하는 차기년도 과제를 만들었는데, 고객이 니네 회사는 다음년도 과제에 참여 못하도록 금지했어... 근데 알고 보니 다음년도는 예산을 진짜 넉넉하게 잡아 놓은 거야. 고객도 쉬운 일이 아닌 것을 안거야... 근데 알고 보니 회사는 지난 1년동안 이 과제 때문에 계속 인력이 뺏기고 있었고, 자금 사정이 계속 나빠지고 있었던 거야. 새로 과제 하나 잡지 않으면 3개월 이내에 문 닫아야 할 판이야. 다음달 월급 주면 회사 자금이 바닥나고, 그 다음에는 없어. 새로 과제 하나 잡은 게 있는데, 그게 규모가 작아서 회사가 먹고살기에는 턱없이 부족해서 사장님도 지금 속이 타들어가고 있지. 사장님은 이미 더 사정이 어려워 지면 어쩔 수 없이 누군가를 내보내야 한다고 생각하고 있는 중이야. 사장님은 어쩔 수 없이 회사에서 제일 실적이 나쁜 쪽에서 누군가를 내보내야 한다고 생각하고 있지만, 뭔가 과제를 잡으면 그럴 필요 없으니까, 아직 내놓고 얘기는 하지 않은 상태야. 그게 누구겠어? 너 아니겠어?


무대리: 허거...? 저라구요?


구루: 그게 끝이 아니야. 알고 보니 시골에 계신 어머니는 말씀하시지는 않았지만, 지금 난치병에 걸린 상태야. 어머니는 서울 보낸 아들이 걱정할 까봐 벌써 9개월째 숨기고 있었던 것이지. 그런데 병세가 위독해 지시니 다음달 쯤에는 쓰러지고 병원에 드러누워야 하실 판인데, 자네 형은 지금 해외에 이민가 있는 상태잖아... 자네는 지난 달에 전세금 올려달라는 집주인의 얘기로 돈을 마련해야 하는데, 자네 지금까지 저축한 돈은 반도 충당 못하고 해서, 어머님이 혹시 돈좀 가지고 계신가 하고 물어볼 참이었잖아... 아니면 회사에 혹시 전세금 대출 이런거 지원 되는지 알아보려고 하는 참이었잖아.


무대리: 아이참. 지난주에 우리 어머님 만나뵙고 왔어요. 쌩쌩하고 건강하십니다. 전세 재계약도 3개월 전에 이미 했구요. 소설 쓰지 마세요.

구루: 아니... 만약에 그러면 어쩔거냐는 것이지. 세상이 비참해지자면 한없이 비참해 지거든. 더 비참한 경우도 많아.


무대리: 그만 하세요, 제발.


구루: 더 비참한 얘기를 봐야 자네가 정신차릴 것 같아서 한 단계 더 나아가 보자고. 자네 그 과제 시작할 때, 고객측에서 제시한 비밀준수계약서 사인했지? 그게 또 문제를 일으킨 거야. 고객측에서는 차기년도에 예산을 3배로 잡아서 신규 과제를 진행하고 있고, 우리 회사와는 영 별개로 돌아가고 있는데, 갑자기 신문에 "업계 최대 고객정보유출 사건" 신문 기사로 자네 고객사 이름이 나온 거야. 1년 전 일이고, 이제는 인연이 끊어진 회사라서 자네는 무시하고 있었는데, 알고 보니, 그 짱개발이라는 친구가 과제 개발 당시에 고객정보를 자기 HDD에 백업본을 한 놨던 거야. 그 하드를 다시 2차 백업하겠다고 서버에 올려놨는데, 그게 말썽이 되었어. 서버가 해킹당해서 3시간동안 무방비 상태로 있었는데, 그게 공교롭게도 구글 검색엔진에서 크로울링 해가버린 거야. 구글 검색엔진 이놈이 또 무시무시해서 짱개발이 백업한 자료를 그대로 사본을 가지고 있어. 누군가 검색키워드로 우연히 그 자료를 발견하고, 공개 게시판에 올린 것이 화근이 된 거야. 다운로드 수가 1만을 넘어가고, 결국 고객사는 발칵 뒤집어 졌지. 예전에 그 고객은 자네 팀이 서명한 비밀준수계약서를 내용증명으로 자네 회사에 보내와서 손해배상 청구를 하겠다고 하는데, 그게 말도 안되는 터무니 없는 금액이야. 고객사 입장에서야 그게 푼돈이겠지만, 자네 회사 규모에서는 회사 문닫아야 할 정도의 금액이야. 자네 사장님은 이미 뒤집어 지셔서, 자네와 자네 팀을 불러다가 심하게 호통치기도 해 보지만, 그게 소용 없다는 것은 사장님이 더 잘 아셔. 보통은 이런 사건에서 어찌저찌 잘 넘어가는 편인데, 예전의 그 고객이 자네 회사에 억한 감정이 있어서 절대 물러서지 않을 것 같아. 전무님은 차라리 회사 문닫고 잠적하는게 더 낫다고 판단하고 계는 눈치야. 자네 어떡 할거야? 다 자네가 만든 거 아냐? 무대리 니가 과제를 제대로 했으면 이런 일이 없었잖아...


무대리: 소설을 쓰세요, 소설을. 그럴 일 없습니다.

구루: 절대로 없다고 자네가 어떻게 장담해?


무대리: 아니... 그런 얘기 말고, 위험관리 좀 가르쳐 줘요.

구루: 위험관리란, 제일 끔찍한 상상을 하고, 그런 일이 일어나지 않게 예방하려면 어떤 조치를 취할 수 있는가, 그런 일이 실제로 일어나버렸다면 어떻게 해야 할 것인가를 "미리" 생각해 두는 것이라네.


무대리: 알겠습니다.

구루: 그럼 다음 표를 한번 채워 보게...

 


[ 발생가능한 위험상황과 프로젝트 실패 시나리오 |  발생가능성 |  사전예방조치 |  발생후대응방안 ]


무대리: 막상 쓰려니 어려워요. 예로 한 칸만 채워 줘요.

구루: 자네 그정도 실력밖에 안되는 사람이었나? 한번 해 봐. 어려운 말 쓸 필요 없어. 그냥 문장으로 써도 좋고, 메모 하듯이 써도 좋아. 우리가 무슨 보고서 쓰는 게 아니잖아. 프로젝트를 망칠 만한 위험상황은 죄다 나열해 봐.


무대리: 그래도 한가지만 써 줘요.

구루: 좋아... 한가지 예를 들자면, "이사를 하게 되면?"은 어때? 좀 길게 설명을 하면 더 알아보기 쉬울 거야.


발생가능한 위험상황과 프로젝트 실패 시나리오: 이사를 해야 한다. 


프로젝트 도중에 IDC 센터로 장비를 이전해야만 하거나, 사무실을 옮기거나, 본사가 이전되거나 하는 식의 이전이 있다. 결과적으로 장비들의 IP주소가 싸악 바뀌고, 망구조도 바뀌고, Firewall과의 상대적이 위치도 바뀌고, 결정적으로 스토리지/데이타가 있는사무실과 서비스 장비가 있는 위치가 원격지로 떨어지고, 작업자들의 위치는 제3의 위치로 바뀐다.


그래서 자칫 잘못하면, 서버들 사이의 통신이 안되거나, 개발기간이 상당히 길어지거나, 바뀐 위치 때문에 출퇴근이 어려워지고, 외주 용역중에 한명은 그쪽으로 출퇴근한다면, 일을 안하겠다고 한다.


결과적으로 개발한 코드가 정상동작하지 않아서 3주 이상 스케줄이 지연되고, 외주 용역개발자 1명을 잃는다. 새로운 개발자 수소문을 해서 충원하기는 불가능한 일정이고, 결국 납기를 맞추는 것은 불가능한 상황이 발생한다. 더군다나 인접한 서버들로 구성할 경우를 대비해서 만든 코드들은 원격지 호출 때문에, 참을 수 없을 만큼 느려지고, 성능을 어떤 식으로든 개선해야 하는데, 원천적으로 코드가 그렇게 구성되어 있지 않아서 원격지 호출을 허용하는 방식으로 바꾸려면 프로그램을 전면 수정해야 한다.


그럴 경우 프로젝트 실패는 당연한 결과이다. PM으로서 미치고 팔짝 뛰겠다. 하늘이시여 왜 나에게만 이런 시련을 주시나이까?


발생가능성: 상당히 자주 발생한다.


사전예방조치:

  • 이전/이사 관련 이벤트가 프로젝트 기간 내에 발생하는지 파악한다. 
  • 개별 개발자들이 장소이동에 대해서 어떤 생각을 가지는지 파악하고 있는다. 
  • 프로그램 코드들이 망구조가 바뀌었을 때에도 문제가 없도록, 항상 configurable하게 코딩하도록 지시한다. 
  • 원천적으로 장비 이동에 대응가능한 개발환경을 만든다.
  • 개발서버의 위치와 응용 서버의 위치, 스토리지 서버의 위치 등이 바뀔 수 있음을 개발자들에게 주지시킨다. 
  • 고객에게도 그런 일이 발생할 경우, 납기에 대한 조정이 불가피함을 미리 얘기해 둔다.


발생후 대응방안:

  • 작업자들이 느끼는 환경 변화가 최소한이 되도록 한다.  
  • 원격지로 옮겨질 때 가장 크게 영향받는 범위를 신속히 파악하고, 팀원들에게 준비를 시킨다. 
  • 고객에게는 납기에 차질이 생김을 명확히 알린다. 
  • 본사에 연락해서 PC급이라도 좋으니 임시 머신을 지원해 달라고 요청한다.
  • 최악의 경우 그걸 써서라도 개발과 시험을 진행해야 할 생각으로...


무대리: 흠... "이사/이전" 한가지만 가지고도 만리장성같은 얘기들이 줄줄이 엮여나오네요.

구루: 세상일이 다 그렇지 뭐.


무대리: 대강 개념은 알겠습니다. "비참하게 실패하는 시나리오"를 죄다 만들어서, 예방조치나 대응방안을 만들라는 것이구요...

구루: 거기까지가 기본이야.


무대리: 엥? 그럼 뭐 또 더 있어요?


구루: 있다마다... 세상에 지금 이순간에 진행되고 있는 프로젝트가 몇개나 될 거 같아? 전세계의 모든 인류, 모든 분야를 따지면, 한 백만개쯤 되지 않을까?

무대리: 그렇게 많아요?


구루: 생각해봐? 십만개는 훨씬 넘을껄?

무대리: 어마어마 하네요. 그게 위험관리랑 무슨 상관이 있나요?


구루: 있다마다... 그 많은 프로젝트들이 매순간 일어나는데, "위험관리"라는 개념이 얼마나 많이 연구되었을 거 같아... 진짜진짜 세밀하게 연구되어서 더이상 연구할 꺼리도 없을 만큼 완전한 연구결과가 있을 거라고 생각되지 않아?

무대리: 그럴수도 있겠네요.


구루: 요지는... 지금 자네만 위험관리하는 게 아니고, 지구상에 존재하는 10만 아니 100만명의 PM들이 위험관리를 하고 있고, 그중 1% 미만의 진짜 똑똑한 PM들은 자기의 경험을 정리해서 인터넷에 공개하고 있을 것이라는 것이지.

무대리: 그러겠네요.


구루: 공부좀 하라는 거야. 프로젝트 종류별로 "전형적으로 발생가능한 위험"이라는 게 있을 수 있지. 그런 위험들은 니가 지금 고민하지 않아도, 이미 다른 사람들이 고민해서, 예방방법이나 대응 시나리오를 이미 잘 만들어 놨으니, 그거 빨리 찾아서 공부좀 해 둘 필요가 있어.

무대리: 그러겠네요. 그거만 찾으면 제가 하는 "위험관리"는 끝나겠네요? 쉬운 방법이 있었네...


구루: 남이 만들어 놓은 것은 "참고자료"일 뿐이지. 결국 고민하고, 경험하고, 적용해 보지 않으면 잘 모르는 게 또 그거야. 아무리 수학을 배워도 실생활에 전혀 써 먹지 못하는 것과 비슷한 이치라고 할까...

무대리: 그럼 어케해요?


구루: 남들이 연구한 것은 공부는 하되, 거기에 의존하지는 않고, 내가 직접 해 보는 것이지. 내가 직접 시나리오를 만들고, 절대로 내 프로젝트를 망치지 않겠다는 각오로 고민하게 되면 결국 알게 될 것이야. 연구결과도 결국 그런 경험의 산물이니까...

무대리: 알겠습니다. 몸으로 부딛혀보란 말씀이시군요.


구루: 그렇다고 공부를 하지 말라는 뜻이 아니야. 과제 규모가 매우 커져서 회사의 사운이 달렸거나, 국가의 미래가 달렸거나 하는 경우도 있잖아. 수백억이 아니라 수천억원 내지 수조원 수준의 초대형 프로젝트이면, 그냥 체험으로 되는 게 아니고, 전문 연구결과를 적극적으로 활용하지 않으면 안되는 수준이지.

무대리: 하하... 저는 당분간 그럴 일 없겠네요. 제가 무슨 수백억원 짜리 프로젝트를 맡는다고 참...


구루: 허허, 이사람. 꿈이 있어야지. 자네라고 수백억/수천억원짜리 과제 맡지 말란 법이 어디 있겠는가? 자네처럼 성실하게 하면, 조만간 수조원은 아니라도 수백억원 수준의 과제는 맡을 날이 올 걸세.

무대리: 말만 들어도 감사합니다. 하하.


구루: 그러자면, 일단 지금 이 과제부터 성공시켜야 하겠지?

무대리: 옙!


'risk' 카테고리의 다른 글

위험관리 ①인적 위험  (0) 2010.06.05
위험관리 ④ 위험관리과정  (0) 2010.06.05
NFPA code 용어의 정의(교과부 고시)  (0) 2010.05.29
국내 최고 호텔은 화재안전시스템도 다르다!  (0) 2010.05.27
위험관리  (0) 2010.05.01