Archive for March, 2010


SW프로젝트 성공하고 싶다면, 간트차트를 버려라!

Wednesday, March 31st, 2010

간트 차트의 문제 - 정확하지 않지만 정밀하다

SW프로젝트나 일반 프로젝트를 해 본 분들이라면, 누구나 간트 차트를 들어 보셨거나 만들어 보셨을 겁니다. SW프로젝트를 시작할 때, 프로젝트에서 할 일을 잘게 쪼갠 WBS를 작성하고, WBS에 있는 일들의 인과관계를 고려해서 대개 MS 프로젝트를 사용해서, 예쁜 멋진 간트 차트를 작성하죠. 이렇게 간트 차트를 작성하면 놀랍게도 프로젝트가 몇 월, 몇 일, 몇 시에 끝날지 알려 줍니다.

간트 차트가 몇 월, 몇 일, 몇 시에 끝날지 알려줄 있는 이유는, 핵심 경로(Critical Path)를 계산해 주기 때문이죠. 그런데 간트차트의 비극은 바로 이 핵심 경로에서 시작하죠. 사실, 간트 차트가 알려주는 완료일은, 현실 세계에서 수많은 완료일 가운데 하나일 뿐입니다. 대개 프로젝트와 멀리 떨어진 경영층이나 관리자들은 간트차트가 알려주는 완료일을 진짜 완료일이라고 생각하는 경향이 있습니다. 일정이 간트 차트를 따라서 진행되지 않으면, 관리자들은 프로젝트에 무슨 문제가 있다고 확신하고 PM에게 압박을 가하죠.

일정에 쪼들리지 않을려고, PM이나 팀원들은 일마다 버퍼를 두게 되고, 이 때문에 핵심 경로는 늘어나고 결국 프로젝트 전체 일정은 늘어나게 되죠.* 뭐 이렇게 일정이 늘어난다고 해서 경영층이 그것을 묵과하지 않습니다. 엄청난 노력을 들여서 99%의 정확성이 있는 일정을 작성해도(가능한 일인지 모르지만요), “일정 좀 줄여 봐!”라고 경영층 한 마디면 프로젝트는 침몰하게 되는 마당에, 버퍼가 잔뜩 들어 있는 일정을 경영층이 쉽게 봐주지도 않습니다. 뭐 이런 저런 이유로, 간트 차트를 두고 일정을 늘릴려는 팀원과 일정을 줄여 보려는 경영층 간의 힘겨루기가 일어납니다.

간트 차트를 사용할 때 마인드 - 모든 것을 예측하려고 한다

사람은 예측을 잘 하지 못합니다. 마트에 가서 1주일 먹을 것을 잔뜩 사오거나, 도서관에서 오늘 공부할 교재를 가방 가득히 넣어 가거나, 회사에서 오늘 할일 목록을 LCD 모니터만큼 채우는 것을 보면, 우리는 정말로 낙관적이거나 예측을 잘 하지 못하는 생명체라는 생각이 듭니다. 그런데 길게는 12개월 후나 짧게 6개월 후의 프로젝트 일정을 TV편성표처럼 작성한다는 게 정말로 올바른 일이거나 가능한 일일까요? 12개월 후에 테스트라는 업무를 할 것을 예측할 수 있지만, 하루 단위로 어떤 기능을 테스트한다는 계획을 세운다는 건, 신이 아닌 이상 불가능합니다. 그런데, 우리는 간트 차트를 사용하면, 전지전능한 신이 된 듯이 예측을 합니다.

간트 차트는 누구의 것?

프로젝트 계획을 세울 때, 일반적으로 팀원들은 프로젝트 계획을 프로젝트 관리자가 알아서 할 것이라고 생각합니다. 관리자들도 프로젝트 계획을 세우는 일은 자시만이 할 일이라고 생각하죠. 그리고 프로젝트 관리자는 이런 인식을 토대로 프로젝트 계획을 마이크로소프트의 프로젝트를 활용해서 멋진 간트 차트로 만들어 팀원들을 모아놓고 일정을 설명합니다.

스크린에는 관리자가 심혈을 기울려 만든 3레벨짜리 WBS가 흘러갑니다. 팀원들은 팔짱을 끼고 의자에 기대어 관리자가 만든 프로젝트 계획을 묵묵히 바라봅니다. 팀원들은 왠지 저대로 하면 프로젝트가 성공할 것 같다는 생각도 들고, 한편으로 참으로 빡빡하게 일정을 짜놓은 팀장의 세심함에 가슴이 답답해집니다. 그리고 원인 모를 좌절감 내지 죄책감을 느낍니다. 계획 과정에서 적어도 뭔가를 했어야 하지 않았을까 하는, 그런 느낌 말이죠.

From 겸손한 개발자가 만든 거만한 소프트웨어

간트 차트의 다른 문제점으로, 프로젝트 일정을 팀원들이 자신이 것이 아닌 PM의 것으로 생각하게 합니다. 회의실에 팀원들을 모아놓고 MS 프로젝트를 사용해서 일정을 작성하는 걸 생각해 보죠. 프로젝터에는 PM의 노트북 화면에 있는 PM 프로젝트가 보일 겁니다. 팀원들은 회의 탁자에 둘러 앉아서 팔짱을 끼거나, 업무 수첩에 낙서를 하거나, 동료와 잡담을 하면서, PM이 MS 프로젝트에 입력하는 걸 ‘구경’할 가능성이 높습니다.

PM은 팀원들의 이야기를 들어가면서 WBS를 만들고 작업 사이를 연결하는 걸 자신의 역할이라고 생각하겠죠. 그리고 팀원들도 프로젝트와 관련된 중요한 작업을 하는 것 같은데, 당장 자신이 타이핑을 하지 않기 때문에, 자신의 역할이 아니라고 생각합니다. 즉 회의실에 모여 앉아서, PM이 MS 프로젝트를 사용해서 일정을 작성할 때, 그 일정은 팀원의 것이 아닌 PM의 것이라는 인상을 심어줄 수 있습니다.

그래서? 어떻게 하라고?

전 앞에서 설명 드린 이유로, SW개발 프로젝트를 할 때, 특히 명확하지 않은 것을 개발할 때 간트차트를 활용하는 걸 좋아하지 않습니다. 하지만 할 일이 명확하고 몇 번 경험이 있는 프로젝트는 어느 시점에 어떤 인력이 무슨 일을 할지 예측할 수 있기 때문에, 간트 차트가 도움이 될 수 있습니다. 즉 처음부터 어떤 일을 할지 거의 대부분 알 때에만, 간트 차트를 활용합니다.

이런 경우를 제외한다면, 프로젝트에는 불확실하게 지나치게 많기 때문에, 불확실성과 변화를 포용하려고 연동 계획하기(Rolling wave planning)과 포스트잇을 활용한 일정잡기를 사용하죠. 이 두 가지 방법은, 매니지 잇에서 자세하게 설명되어 있습니다. 상세한 내용을 원하시는 분들은 책을 참조하세요.

연동 계획하기는 앞으로 4주간의 상세한 일정만을 작성하는 계획하기입니다. 4주 이상 넘어가는 일정은 불확실한 게 많기 때문에 정확도가 떨어집니다. 따라서 일단 4주간의 일정 계획을 세운 다음, 1주일이나 2주가 지난 뒤, 프로젝트가 진행되고 나서 경험이 쌓였을 때, 다시 4주간의 일정을 세우는 방법입니다. 이런 계획을 세울 때, PM 혼자서 타이핑을 하는 MS 프로젝트를 이용해서 일정을 수립하지 않고, 모든 팀원이 참여해서 계획을 세울 수 있는 포스트잇 일정잡기를 이용하죠.

연동 계획하기를 할 때, 팀원들을 모두 모이게 한 다음, 손바닥만한 포스트잇을 나눠 줍니다. 벽 한면에 A1 종이를 붙이거나 화이트보드를 계속 사용할 수 있다면 화이트 보드에, 중요한 마일스톤을 표시하죠. 그러고 나서, 팀원들에게 포스트잇 한장에 필요한 업무를 적어서 종이나 화이트보드에 붙이라고 부탁합니다. 그러고 나면 정말로 멋진 일이 일어나죠. 팀원들이 처음엔 어색해 하다가, 포스트잇에 일정을 써서 붙이면서 서로 작업 사이에 연관 관계는 어떤지, 어떤 위험이 있는지, 목표는 명확한지 토론을 합니다. 이렇게 일정을 세우면, 팀원들이 직접 참여했기 때문에 MS 프로젝트 간트 차트보다, 프로젝트를 자신의 일로서 여기게 됩니다.

짧은 글에서 제가 생각하는 간트 차트의 문제점과 대안을 이야기했는데, 제가 인지하지 못한 간트 차트의 장점이 있을 수도, 제가 말씀 드린 방법의 문제점이 있을 수도 있습니다. 다만, 우리가 더 나은 것을 꿈꾼다면, 지금의 사용하는 방법은 교리가 아닌 여러 갈랫길 중 하나일 뿐이라는 걸, 더 나은 길이 있을 수 있다는 걸 말씀 드리고 싶었습니다. :)

* 이것을 해결하는 방법으로 TOC도 있습니다. 상세한 내용은 골(The Goal)을 읽어보세요.

자율성, 돌부처도 움직이게 한다.

Saturday, March 20th, 2010

예외 관리(Management by Exception)라는 게 있습니다. 실무자가 하는 일에 관리자가 일일이 개입하는 게 아니라, 계획에서 벗어나는 것만 관리자가 관리하는 겁니다. 잘만 활용한다면 실무자에게 자율성을 부여하는 괜찮은 방법입니다.

프로젝트 관리자나, 중간 관리자 입장에서 실무자들이 열정을 가지고 관리자가 원하는 일을 해주길 바라죠. 하지만 열정을 불어 넣는 방법은, 모든 기업의 당면 지상 과제이듯, 참 쉽지 않은 일입니다. 열정을 붙어 넣는 방법은 백인백색이지만, 개인적으로 자율성을 부여하는 게 좋은 방법이라고 생각합니다.

‘같은 일’이라도 ‘누가 시켜서 하느냐’와 ‘내가 원해서 하느냐’에 따라 결과가 달라집니다. 그런 의미에서 보자면 예외 관리라는 것도 관리자가 원하는 계획 안에서 실무자가 자율성을 발휘할 수 있기 때문에 효과적일 듯합니다.

이런 자율성을 부여하는 방법 가운데 이런 것도 있습니다. 고객에게서 돈을 받아 SI 프로젝트를 할 때, 프로젝트 팀은 회사에서 프로젝트 예산을 받습니다. 맨먼스(Man month) 단가는 높아지지 않고 회사에서는 고정비용을 높여서 계산하기에, 매년 프로젝트 예산이 줄어드는 게 현실입니다. 따라서 프로젝트 예산을 아끼는 게, PM입장에서 중요합니다.

하지만 입장에 따라서 사람 마음이 달라지죠. PM과 달리 관리와 한 발자국 떨어져 있는 팀원들은 예산을 아껴 쓰겠다는 마음이 조금 덜 할 수 있습니다. 예를 들어, 예산이 줄어서 점심단가가 5,000원에서 4,500원이 됐다고 해보죠.*

이런 상황에서 팀원들에게 예산이 줄었으니까 앞으로 4,500원짜리 점심만 먹으라고 말하면, 팀원들은 줄어든 예산 때문에 PM이 그런 이야기를 한다는 걸 알지만, 심리적인 반발이 생기는 것까지 어쩔 수 없습니다. 물론 조삼모사처럼 들릴 수 있지만, 예산이 줄어든 상황에서 단순하게 ‘500원 줄여서 4,500원짜리 점심을 사먹으라고 말하기’보다 ‘20일 즉 1달 기준으로 9만원 안에서 점심을 사먹으라고 이야기’하는 편이 더 낫습니다.**

즉 ‘한끼 식사로 비용을 제한하는 것’보다 ‘한달 식사 분량으로 비용을 제한하는 것’이 팀원들에게 더 많은 선택권을 주기 때문이죠. 즉 오늘 4,500원이 넘는 걸 사먹었다면 낼은 조금 싼 점심을 사먹는 자율성을 팀원들이 발휘할 수 있기 때문입니다.

* 밥 먹는 것 가지고 이야기하면 조금 치시하지만, 가장 가슴에 와닿는 예제라고 생각합니다.

** ‘사장의 노트’에서 인용했습니다.

[서평] Rework

Wednesday, March 17th, 2010

37Signals를 처음 알게 된 건 레일즈를 번역할 때였습니다. 그때는 web2.0 바람이 거세게 불었죠. 레일즈를 만든 데이비드 하이네마이어 한스(David Heinemeier Hansson)씨가 이 회사의 프로그래머이고, 37Signals의 서비스를 레일즈를 사용해서 만든 탓에, 이 회사는 유명세를 탔죠. 저도 이 회사에서 만든 서비스를 이용해 봤는데, 그 느낌이 참 간결하고 필요한 것만 있는 게, 딱 제 스타일이었습니다.

그리고 몇 년이 흘렀습니다. RSS 리더기에 37Signals 블로그를 등록해 두고 글을 읽었는데, 최근에 블로그를 통해서, 37Singals에서 Rework라는 책을 발간했다는 걸 알게 됐죠. 몇 년 전에도 Getting real(한국어 번역본)이라는 책을 이 회사에서 냈습니다. 상당히 간결한 책이지만, 이 회사의 철학을 잘 말해주는 듯했고, 참 재미있게 읽었습니다. 그때의 경험 탓인지 이번엔 어떤 이야기가 있는지 궁금해서, 아이폰 킨들로 접속해서 바로 구매해서 읽었습니다.

Rework

짧은 분량이기도 하지만, 내용이 재미있어서 금방 읽었네요. 에릭 싱크의 소프트웨어 비즈니스(Eric Sink on the Business of Software)라는 책이 있죠. 인터넷에 무료로 공개되어 있고, 국내에도 번역된 책입니다. 소프트웨어 비즈니스는 독립 소프트웨어 벤더(ISV, Independent Software Vendor)라는 1인 소프트웨어 기업을 창업하고 성공적으로 운영하는 방법을 소개한 책입니다.

소프트웨어 비즈니스도 재미있게 읽었는데, 한가지 아쉬움 점은 돈을 버는 방법이 다소 국내 실정과 맞지 않단 점이었습니다. 이 책에서 말하는 방법으로 사업을 운영하려면 국내에서 불가능하기 때문입니다. 당시만 해도 국내에서 소프트웨어를 돈을 주고 산다는 개념은 희박하기 때문이죠(물론 이 점은 이 책의 한계라기보다, 국내 환경 때문입니다).

앱 시장이 열려기 때문에 지금은 많이 달라졌습니다. 그렇다고 모든 개발자가 대박이 날 수 없지만, 그래도 앱 시장이 열리기 전보다 비약적으로 좋아졌습니다. 에릭 싱크의 소프트웨어 비즈니스는 내용이 방대해서 ISV의 A부터 Z까지 알려주는 반면, Rework는 소프트웨어 비즈니스만큼 상세함이 없지만 혼자서 뭔가를 시작해 보고 싶지만 용기가 부족하거나, 사업은 뭔가 거대하고 대단한 것으로 생각하시는 분들에게 비즈니스란 그렇게 심각하지 않아도 된다는 점을 알려줍니다. 그리고 이 책에서 말하는 건 꼭 소프트웨어 분야에만 적용되지 않습니다. 사업이라면 모두 해당되는 이야기죠.

이 책에 대한 번역을 제가 맡고 싶어서 국내 출판사에 판권을 알아 봤는데, 이미 다른 출판사에 팔렸다고 합니다. 아쉽지만 실력있는 분이 좋은 번역서로 만들어 주시길 바라면서, 이 책을 읽고 난 제 마음을 잘 표현한 사진 한장으로 서평을 마칩니다.

thumbs up

Innovator or Fast Follower

Tuesday, March 16th, 2010

경제의 역사는 사치품이 일용품으로 편입된 역사다.

알프레드 노스 화이트헤드

영화 ‘악마는 프라다를 입는다’ 중에서, 가장 재미있게 본 장면이 있는데요. 그 장면에서 주인공 안드리아와 악마(?) 편집장 미란다가 이런 대화를 나눕니다.

조연: 그 생각도 했지만. 적당한 악세사리를 갖춘다면 그렇지 않을 겁니다.

미란다: 이 드레스에 맞출 벨트는 어딨는 거야? 왜 아무도 준비가 안 되어 있는 거지?

조연: 여기요. 토프 콜 제품이에요. 아주 색달라요.

(안드리아가 웃는다)

미란다: 뭐가 우습니?

안드리아: 아뇨. 아니에요. 저 버클들은 저에겐 모두 같게 보여서요. 전 아직 이런 ‘물건’들을 잘 몰라서요.

미란다: 이런… ‘물건’? 넌 이게 너랑 아무 상관 없는거라 생각하는구나. 넌 네 옷장으로 가서 그 울퉁불퉁한 블루 스웨터를 골랐나 보네. 왜냐하면 세상에다, 넌 네 가방속에 든 것에만 관심있다는 걸 말해주려고. 하지만 넌 그 스웨터는 단순한 ‘블루’가 아니란 건 모르나보구나. 그건’터쿼즈’색이 아니라 정확히는 ‘셀룰리언’색이란 거야. 2002년에 오스카 드 렌타가 셀룰리언색 가운을 발표했었지. 그 후에, 입셍 로랑이, 그 사람 맞지? 군용 셀룰리안색 자켓을 선보였었고.

조연: 여기 자켓이 필요하겠는데요?

미란다: 그 후 8명의 다른 다자이너들의 발표회에서 셀룰리언 색은 속속 등장하게 되었지. 그런 후엔 백화점으로 내려갔고 끔찍한 캐쥬얼 코너로 넘어간 거지. 그렇지만 그 블루는 수많은 재화와 일자릴 창출했어. 좀 웃기지 않니? 패션계와는 상관없다는 네가 사실은 패션계 사람들이 고른 색깔의 스웨터를 입고 있다는게? 그것도 이런 ‘물건’들사이에서 고른!

악마는 프라다를 입는다

‘악마는 프라다를 입는다’ 중에서

작년 겨울에 거리를 다니다 보면, 여성분들이 멘 가방 중에서 눈에 잘 띄는 디자인이 있었습니다. 남자들이 군대에서 입는 방한복 내피, 흔히들 ‘깔깔이’라고 말하죠. 이 ‘깔깔이’의 누빔 모양이 들어간 가방이 많이 보이더군요. 이런 누빔이 들어간 백을 퀼팅백이라고 부릅니다.

대한민국에서 군대를 다녀오신 분들 눈에는 깔깔이처럼 보이지만, 여심을 사로잡는 퀼팅백의 원조는 누구일까요? 대표적인 명품 브랜드인 샤넬에서 나온 ‘2.55′입니다. 핸드백 이름이 재미있죠. 핸드백 이름으로 2.55가 붙은 이유는 1955년 2월에 나왔기 때문이랍니다. 2.55가 세상에 나오고 나서, ‘악마는 프라다를 입는다’에서 말하는 현상이 똑같이 일어났습니다. 즉 탑 클래스의 디자이너들이 2.55를 그들만의 것으로 해석해서 다른 양식의 퀼팅백을 만들었고, 다양한 로컬 마켓의 디자이너들이 탑 클래스 디자이너의 작품을 재해석하거나 모방해서 또 다른 2.55를 만들어냈습니다.

그리고 지금도 다양한 퀼팅백이, 샤넬이 50년 전에 제안한 2.55에서 재해석되어 만들어지고, 팔리고, 거리를 누비고 있습니다. 물론 개인적으로 원조만큼 눈을 끌어당기는 디자인은 없다고 생각하지만요.

2.55

샤넬 2.55

Innovator 전략과 Fast Follower 전략이 있습니다. Innovator는 기존에 하지 않은 방식으로 혹은 새로운 형태의 제품을 만들어 내기 때문에, 혁신적인 제품을 만들어낼 때 시행착오를 많이 겪죠. 그래서 시장을 잘못 읽는 경우, 회사가 바로 어려워질 수 있습니다. Fast Follower는 Innovator가 성공한 것을 잘 모방해서 적당한 가격에, 적당한 품질로 이윤을 추구하는 전략입니다. Fast Follower가 뒤에서 추격해 오는 Fast Follower의 경쟁을 따돌리지 못한다면, 심한 경쟁에서 추락할 수 있는 위험이 있죠.

Innovator나 Fast Follower나 ‘화이트헤드’의 격언을 생각해 본다면, 저마다 제역할이 있다고 생각합니다. 그래서 가끔 Innovator와 Fast Follower 가운데 어떤 게 더 가치있는지 토론을 벌이는 게 ‘닭이 먼저냐 달걀이 먼저냐’ 식의 논쟁처럼 번지다고 느껴질 때가 있습니다. 물론 Innovator가 무모하거나 엉뚱해 보일 때도 있고, Fast Follower가 얍삽해 느껴질 때도 있지만요.

모든 사람이 샤넬 2.55를 살 수 없는 것처럼, 모든 사람이 인터넷 쇼핑몰 퀼팅백을 멜 필요가 없다고 생각합니다. 자신의 형편과 자신의 스타일에 맞춰서, Innovator가 만든 철학과 주제 속에서 Fast Follower가 만든 저렴하고 적당한 품질의 2.55를 메는 것도 의미가 있기 때문이죠.