-
-
조엘 온 소프트웨어 - 유쾌한 오프라인 블로그
조엘 스폴스키 지음, 박재호.이해영 옮김 / 에이콘출판 / 2005년 4월
평점 :
리뷰를 다는 내가 소프트웨어 업계의 종사자라면 반드시 읽어봐야할 필독서라고 이야기했을때, 이 책을 읽을 경영자, 소프트웨어 개발자, 소프트웨어업계의 영업/마케팅 종사자들은 어쩌면 처음 책장을 넘기면서는 저자가 가볍게 에세이식으로 쓴 책에 무슨 그런 필독서라는 호칭을 부칠 수 있냐며, 나의 평가에 대해서 인플레가 있다고 생각할 수도 있다. 하지만, 책을 끝가지 읽었다면, 저자의 소프트웨어 개발에 대한 심오한 통찰력, 특히 마이크로소프트와 관련된 저자의 전략적인 통찰력, 소프트웨어 개발업의 경영에 대한 생각, 개발자를 어떻게 관리해야할 것인가라는 엄청나게 어려운 주제에 대한 저자의 깊은 생각을 통해 배우고, 나의 평가에 동의하게 될 것이라고 생각한다. 단지, 저자는 블로그로 자신의 생각을 유모감각을 섞어서 가볍게 이해하기 쉽게 전달하려고 노력했을 뿐이지만, 저자의 메세지는 반드시 배울 가치가 있는 핵심적인 아이디어들을 제시하고 있다. 스티브 맥코넬의 소프트웨어 서바이벌 가이드를 처음읽었을때 느꼈던 전율이 이 책 조엘 온 소프트웨어를 읽으면서 다시 살아난다.
너무 좋은 내용들이 많아서 어떻게 리뷰를 해야할지 모르겠지만, 생각 나는 것부터 간략하게 정리해보면, 다국어지원에 관련된 유니코드에 대한 저자의 전문적인 지식을 전달해준다.
그리고, 좋은 소프트웨어 개발에 있어서 가장 중요한 출발점으로 이야기하고 있는 소프트웨어 명세를 어떻게 작성할 것인가에 대해서 자세하게 설명하고 있다. 단지 문서를 만들기 위한 명세서가 아니라, 살아 숨쉬는 명서세를 어떻게 작성할 것인가? 개발자는 왜 명세서 작성을 싫어하고, 그들이 느끼는 구체적인 명세서에 대한 감정은 무엇이고, 어떻게 하면 명세서를 개발자가 잘 작성할 수 있도록 할것인가에 대한 구체적인 지침와 예시를 들어준다.
화성인 아키텍트에 관한 이야기도 흥미로운데, 개발에 있어서 추상화에 문제에 너무 집중해서 구체적으로 문제를 해결하고, 소프트웨어를 개발하지 않고, 아키텍춰만 논의하는 것이 왜 문제가 되는지에 대해서 이야기하고 있다. 아마 이 이야기는 개발자라면 공감할 수 있는 이야기라고 생각된다.
저자의 테스터의 필요성과 버그에 대한 생각, 소프트웨어 종류에 따라서 어떻게 다른 개발전략과 제품의 완성도에 대한 저자의 생각들은 아주 명쾌하다.
또한, 소프트웨어 개발에 있어서 유능한 개발자는 무엇보다도 중요하며, 어떻게 유능한 개발자를 채용할 것인가에 대한 구체적인 면접방법, 무엇이 중요하고 ,무엇이 중요하지 않은지에 대해서 이야기를 해주고 있다.
개발자 관리부분에서 허술한 충상화의 법칙 부분도 아주 재밌는 부분인데, 대부분 소프트웨어의 추상화전략을 너무 순진하게 믿기 때문에 많은 문제에 봉착한다며, 구체적인 사례를 들어서 부족한 추상화의 문제를 어떻게 접근해서 해결하는지에 대해 설명하고 있다. 이 부분을 읽어보면 왜 소프트웨어 개발업이 힘들고, 간단해 보이는 코드 작성도 왜 어려워지는지를 어느 정도 이해할 수 있다라고 생각된다.
또한, 소프트웨어 개발 일정관리, 추정에 대해서는 그간 접했던 많은 소프트웨어 개발 프로세스에 관한 책중에서는 가장 현실적이고, 유용한 접근을 제시해준다.
뒷부분에는 마이크로소프트에 관련된 여러 전략적인 결정들과 그 함의에 대해서 다루고 있는데, 이부분을 읽으면서 조엘이 뛰한 개발자, 개발관리자 수준을 넘어서 소프트웨어 경영에 관련된 전략적인 혜안을 가지고 있음을 알게 해준다. 리눅스를 포함한 다양한 오픈 소스 업체들을 이해할 수 있도록 보완자를 범용상품화함으로서 이득을 보려는 전략으로 설명하는 부분은 아주 훌륭하게 느껴지며, 많은 경영전략서에서 이야기하고 있는 본질을 조엘이 이해하고 있음을 알게된다.
또한, 마이크로소프트가 하위버전 상호호환성을 유지하는 전략을 통해서 얼마나 강력한 경쟁자를 쓰러트려왔는지를 설명하면서 교훈을 제시해주고 있다. 최근의 마이크로소프트의 하위호환성 포기전략은 마이크로소프트에게 부담으로 작용할 것이라는 것을 암시적으로 제시하고 있다. 또한, 강력한 윈도우 API를 기반으로한 리치 클라이언트가 마이크로소프트에게 있어서 강력한 경쟁우위였던 과거와는 달리, 웹기술이 발달함으로서 다소 고객입장에서는 밸류가 떨어지더라도, 개발자들이 웹개발 위주로 몰리고, HTML 관련기술이 발전함에 따라 다양한 소프트웨어 개발이 웹개발로 몰리면서 마이크로소프트사가 자신에게 종속적이지 않은 웹기발 기술에 의해 위험에 봉착해 있음을 이야기하고 있다. 이런 부분은 크리스텐슨의 <미래기업의 조건>의 와해성 혁신 아이디어와 결합시켜 생각해보면 향후 소프트웨어 업이 어떻게 변화의 양상을 겪을 것인지 추측해 볼 수 있으리라 생각된다. 윈도우 기반의 리치클라이언트는 존속성 기술이며, 닷넷이니, 롱혼이니, 아발론이니 하는 것들은 이런 리치클라이언트에 기반을 두는 존속성 혁신에 가까우며, HTML 기반의 기술들은 와해성 혁신에 가깝다고 보여진다. 윈도우즈 고객들은 과거만큼 빠른 속도로 제품업그레이드를 하지 않고, 시장은 초과만족되는 경향을 보이고 있다. 조엘 조차도 웹에서 사용하는 오피스의 가능성에 가능성이 희박하다고 이야기하고 있지만, 한국의 씽크프리는 MS의 전략을 그대로 모방하여, MS의 오피스 파일 호환을 바탕으로 저가의 웹기반 오피스를 선보여서, 중국을 중심으로 전세계에 사업을 전개하고 있다.
이 책은 우리회사의 필독서로 삼아서 전직원이 읽게끔 해야겠다는 좋은 아이디어로 가득차있다는 생각이 들었다.