저자는 이책을 통해서 소프트웨어에 대한 수많은 이야기를 하고 있습니다.
21개의 소주제로 이루어져 있으면 짧은것은 단 몇장으로 오래 시간을 투자하지 않고도 읽을수 있습니다.
내용이 짧기에 가벼운 주제처럼 느껴지지만 실은 우리가 간과하고있지만 중요한 주제들을 많이 다루고 있습니다.
책이 다르고 있는 기술의 확산, 조직화, 소프트웨어 공학의 가치 등의 주제는 책의 발간된 후 지금까지도 변하지 않는 주요 주제이고요.
이러한 주제들은 독자에게 다시금 그 중요성을 깨닫게 하죠.
....
비슷한 류의 책들이 많이 있지만 이책의 저자는 다른 이들보다 좀 더 독특한 위치에 있다고 말하고 싶네요.
비슷한 주제로 많은 책을 출간한 제리 와인버그, 톰디마르코, 프레드 브룩스는 그들의 주제를 깊이 탐닉하였으며
그로 인해 진짜 개발(?)에 대한 주제로 개발자에게 영향을 준 부분이 많지 않습니다.
하지만 이 책의 저자는 "Code complete" 라는 책을 통해 개발자들에게 다른 종류의 배움을 주던 분입니다.
어찌보면 저자의 이런 특성으로 인해 더 많은 독자에게 영향을 미칠수도 있을것으로 생각되네요.
(하지만 저는 다른 저자들을 더 좋아합니다.)
...
PS)
개인적으로는 저자가 "기술의 확산"에 대해서 이야기하는 것은 재미 있는 부분인데요.
저자는 CMM이라는 개발 방법론에 대한 믿음이 있는 것같고 그에 대해서 좀더 보편화 되어야 한다는 생각을 갖고 있습니다.
또한, 그는 공학의 최전선에 있는 실무자들이 기술의 전파에 앞장서야 한다는 믿음도 갖고 있는 듯합니다.
그의 "CMM"의 대한 믿음은 최전선의 실무자들에 의해서 만들어진 애자일 방법론으로 부터 많은 위협을 받고 있는 것이 바로 재미있는 부분이네요.
(그가 CMM의 기술 전파에 앞장서야 한다고 믿었던 실무자들인데 말이죠.)
두가지 방법론이 서로 상충되는 것이 아닌 서로 보완적인 관계로 또한 상황에 따라서 적용되는 것이 달라야 한다는 견해가 최근의 추세이긴 하지만요.
PS2)
지금 읽고 있는 책에서 특히나 공감가는 챕터가 있어서 아래에 옮겨봅니다.
======================
프로그래밍 영웅과 독불장군
출처 : 'Professional 소프트웨어 개발' , 스티브 맥코넬
부족한 기술 인력과, 너무 낙관적으로 일정을 잡는 일반적 성향을 더하면 어떤 일이 일어날 것 같은가?
그렇다. 이제는 일당백의 능력을 가진 프로그래밍 영웅(programming hero)을 말할 차례다.
프로그래밍 영웅은 항상 자기 능력을 시험해 볼만한 일을 선택하고, 어마어마한 코드를 써 나간다.
그런 사람은 대부분 야근을 밥먹듯 하고, 곧 프로젝트에서 절대로 빼놓을 수 없는 사람이 된다.
성공은 그들의 어깨에 달려 있는 것 같이 보인다.
프로젝트 관리자는 이 영웅 프로그래머를 사랑하지만, 두려워하기도 한다. 그들은 똑똑하지만,
성미가 까다롭고 독선적인 성격인 경우가 많다. 그러나 그들이 없는 프로젝트 수행은 상상할 수 없다.
수급 불균형 노동 시장에서 그들을 대체하는 것은 절대로 선택 사항이 아닐 것이다. 그러나 안타깝게도
엄청난 양의 코드를 뽑아내는 능력이 있는 대부분의 프로그래밍 영웅들은 다른 사람들과 같이 일하는
방법을 모른다는 치명적인 요소가 있다.
이런 사람들은 대부분의 설계 정보와 소스코드를 자기만 볼 수 있도록 숨겨놓고, 테크니컬 리뷰
(technical reviews)에 참여하는 것을 거부한다. 또, 팀이 정해 놓은 표준을 따르지도 않는다.
이러한 행동들은 결국 다른 팀원들의 프로젝트에 가치있는 공헌을 할 수 있는 기회를 박탈하게 된다.
많은 프로그래밍 영웅들은 결국 전혀 영웅이 아니다. 그들은 단지 프로그래밍 독불장군일 뿐이다.
개개인의 탁월한 능력이 프로젝트 성공에 큰 영향을 미칠 수도 있지만, 일반적으로는 팀워크가 더
큰 영향을 미친다. IBM의 연구에 의하면 평균적인 프로그래머는 약 30%의 시간만 혼자 일하는
데 보내고,나머지 시간은 팀 동료나 고객 같은 다른 사람들과 같이 일하는데 쓴다.
31건의 소프트웨어 프로젝트들을 조사한 결과, 전체 생산성에 가장 큰 영향을 미치는 요소는
바로 팀의 융합이라는 것을 알 수 있었다. 물론 개개인의 능력도 생산성 증가에 공헌하지만, 팀 융합이
더욱 큰 힘을 발휘한다. 많은 사람들이 자신의 능력을 더 높일 수 있는 도전적인 프로젝트에 참여하고
싶어한다. 그러나 자신의 한계를 테스트하려는 의지가 있고 효과적인 소프트웨어 개발 지침들을따르며
지속적으로 동료와 협업하는 사람만이 진정한 프로그래밍 영웅이고, 프로젝트에 참여할 자격이 있다.
iPhone 에서 작성된 글입니다.
'Books > 2013' 카테고리의 다른 글
프로그래밍 심리학 (0) | 2013.12.11 |
---|---|
대체 뭐가 문제야? (0) | 2013.09.27 |
사용자 경험의 요소 (0) | 2013.09.11 |
팀으로 일하라. (0) | 2013.08.23 |
칸반과 스크럼 (0) | 2013.08.21 |