본문 바로가기

Book Review/IT

드리밍 인 코드 - Dreaming in code - 스콧 로젠버그


드리밍 인 코드
국내도서>컴퓨터/인터넷
저자 : 스콧 로젠버그 / 황대산역
출판 : 에이콘출판사 2009.01.02
상세보기


   일반적인 소프트웨어 프로젝트 실패의 이유  
 

  보통, 소프트웨어 프로젝트가 어려움에 빠지는 것은 개발자들이 충분한 개발시간을 확보하지 못하는데 있다. 이런 사태는 일반적으로 개발에 대하여 가장 모르는 사람 - 사장님, 영업 책임자, 마켓팅 담당자 등 - 이 프로젝트의 일정을 좌지우지 하기 때문이다. 프로젝트와 기술에 대하여 가장 많은 정보를 가지고 있는 사람은 말단 개발자인데, 이 프로젝트 완료까지 얼마나 걸릴지는 가장 적은 정보를 가진 사람들이 결정을 하는 것이 일반적인 문화이다. 이로 인하여 프로젝트는 별 성과를 내지 못하거나, 엉망진창으로 흐르거나, 하청업체와 개발자들을 착취하는 방향으로 흘러가게 된다. 근로기준법 같은 것은 염두에 두지 않는다. 각자 자기 입장에 맞춰 꿈속에서 본 날짜를 데드라인 (Dead line) 이라고 적어내면 그건 정말로 개발자를 죽이는 날짜가 된다. 그래서 이 땅에는 제대로된 개발자일수록 일찍 일을 접는다. 진짜 똑똑한 사람은 기술고시나 의학대학원으로 가버리고 별로 똑똑하지 못해서 다른데 갈 수가 없는 사람들만 남는, 약자생존(弱者生存)의 생태계가 만들어진다. 


   여기, 또 하나의 끔찍한 실패담이 있다   

  그런데, 이 책에서 예로 든 "챈들러" 프로젝트는 정반대의 경우이다. 충분히 경험많고 실력인 개발자들이 있어고, 그들을 전폭적으로 지지해주는 CEO가 충분한 자본과 시간을 투자했다. 개발자간에는 소통이 너무 많아서 문제가 되었고, 일정이 쫒기기 보다는 일정을 다그치는 사람이 없어서 프로젝트가 지지부진했다. 우리가 늘 꿈꿔오던 개발환경이 갖춰진 셈인데, 이것이 독이되어 프로젝트는 처참한 실패의 결과로 남게 되었다. 

  가장 큰 문제는 기획의 부재였다. 무엇이든 다 되는 PIM (Personal Information Management system) 을 기획했지만, 실제로는 무엇을 하고 싶은지 명확히 알지 못했다. 창업자의 머릿속에만 있는 신기루 프로그램 (Vapor-ware)를 만들다가 시간도, 비용도, 인재도, 모멘텀도 모두 잃어버리고 말았다. 

   그럼 우리가 옳은건가?   
 

  확실히, 책으로 묶어 낼 만큼 신기한 실패사례이기는 하다. 우리가 상상해오던, 그런 재미있는 개발자의 놀이터 같은 회사였는데, 개발자들이 도전해볼만한 과제였고, 모든 의사결정과정이 개발자들간의 민주적인 토론에 의해서 진행되었는데, 프로젝트는 처참하게 실패했다. 그렇다고 우리가 옳은 것은 분명 아닐텐데 말이다. 소프트웨어는 어렵다 - Software is hard - 는 명언이 새삼 확인되는 순간이다. 이순간에도 죽을만큼 힘들게 일하고 있는 개발자들에게, 꿈속도 결코 꿈같이 행복하지는 않다고 말하고 싶었던 것일까.