강력 추천함.

원제는 UML For Java Programmer 지만, c++ 로 프로그램을 만드는 사람도 보는데 하등의 지장이 없음.

정말 이 책을 보고 싶은 사람은 UML 에 대해서 들어보긴 했지만 UML 을 실제는 전혀 쓰지 않는 (나같은) 사람임. 이 책은 UML 에 대한 책이지만, UML 을 쓰지 말라고 가르치고 있음. 웬 뚱딴지 같은 소리인지는 책 내용을 들여다보기 바람.

출판사 : 인사이트
원저자 : Robert C. Martin
역자 : 이용원, 정지호
번역의 품질 : 3.5/5 (average 와 good 의 중간정도.. 책의 내용이 무엇인지는 큰 어려움 없이 이해 가능한 정도)

덧붙여서, 현재 스티브 맥코널의 프로페셔널 소프트웨어 개발과 소프트웨어 프로젝트 서바이벌가이드를 함께 보고 있는데, 두 거장의 소프트웨어 개발에 대한 견해의 차이와 공통점을 느낄 수 있는 점에서 매우 재미있다.

스티브 맥코널의 방식을 요약한다면 철저한 준비만이 프로젝트의 성공을 요약한다는 점이다. 그의 입장에서는 코딩과 테스트는 프로젝트 개발을 위해 매우 작은 일부분일 뿐이다. 일단 만들고 안되면 고치는 방식은 매우 무책임하고 비효율적인 것으로 본다.

로버트 마틴(그리고 그를 비롯한 XPer들)의 방식은 철저한 준비에 촛점을 두지 않고 있다. 단위별로 개발 계획을 세우고 최대한 그 단위의 스케쥴을 짧게 진행한다. 그 단위를 진행하는데 필요한 요구사항은 그때마다 정하지만, 코딩과 테스트를 항상 동시에 진행하여 철저한 준비 대신 '철저한 대응'을 중요한 가치로 삼는다.

두 사람의 글을 읽으면서 느낀 점이라면, 해답은 둘중 하나 (다른 한쪽을 배제한)에 있는 것이 아니라 둘 다에 있다는 느낌이 든다. 양쪽의 주장을 둘 다 하기에는 모순된 부분도 느껴지지만, 그것은 각 상황에 따라 어디에 중점을 두었는가에 달려있는 것이 아닐까?

imcgames 의 김학규입니다