Peopleware: Productive Projects and Teams

Peopleware : Productive Projects and Teams, 2nd Edition by Tom Demarco, Timothy Lister

소프트웨어 개발 프로젝트는 수많은 요소들이 복잡하게 상호작용하는 시스템이다. 그렇다면 가장 중요한 요소는 무엇일까? 어떤 사람들은 프로세스와 문서라고 얘기하고, 어떤 사람들은 소프트웨어 개발자의 장인정신(craftmanship)에 있다고 생각하고, 또 다른 사람들은 조직이라고 얘기한다. Peopleware에서 얘기하는 것은 바로 사람이다.

Peopleware의 핵심은 소프트웨어 개발 프로젝트에서 개발자들을 행복하게 만들어주어야 한다는 것이다. 기업가나 관리자의 도덕성의 차원에서 이를 주장하는 것이 아니다. 개발자들을 행복하게 해주는 것이, 소프트웨어 개발 프로젝트의 생산성과 품질을 개선하기 위한 가장 중요한 요인 중의 하나라고 주장하고 있다.

이에 대한 중요한 근거 중의 하나는 소프트웨어 개발은, 기존의 제품을 생산하는 일(예를 들어, 치즈 버거 가게)과 완전히 다른 종류의 일이라는 것이다. 소프트웨어 개발은 기본적으로 사람들 사이의 커뮤니케이션이라는 점을 강조한다. 따라서, 치즈 버거 아르바이트생처럼 마음에 안들면 바로 자르고, 다른 사람을 고용할 수 있는 것이 아니고, high turnover – 높은 인력교체율을 경계해야한다고 주장한다.

초과근무(overtime)나 일중독(workholic)에 대해서도 마찬가지다. 개발자 자신이 원하든 원하지 않았든, 초과근무는 대체로 개발자의 삶을 행복하지 못하게 만들고, 따라서, 높은 인력교체율의 원인이 된다는 것이다. 그리고, 장기적으로 높은 인력교체율는 소프트웨어 개발 프로젝트 또는 기업의 비용을 증가시킨다는 것이다.

품질(quality)에 대해서는 매우 재미있는 생각을 보여주고 있다. 현실적으로 품질은 다른 중요한 비즈니스 요소(예를 들어, time-to-market)에 의해 희생될 수 있는 요소임을 인정하지만, 품질이 개발자를 행복하게 만들어줄 수 있다는 면에서 불필요한 품질을 적절하게 추구해야할 필요성이 있다고 얘기한다.

파킨슨의 법칙(Parkinson’s Law) – 어떤 일이든 그 일에 대해 할당된 기간을 채운다, 즉, 기간을 촉박하게 잡을 수록 생산성이 높아진다는 생각은 회사를 다닐 때에도 관리자나 같은 개발자들을 통해 자주 접할 수 있었던 생각이었다. DeMarco는 이번에는 실험 데이터를 통해서 이를 정면으로 반박한다. Parkinson 은 과학자가 아니었고, 그의 법칙도 어떤 근거가 있는 것이 아니라는 것이다. time-to-market이 중요한 요소일 경우에 어느 정도의 필요성은 인정하지만, 항상 적용하는 것은 어딘가에 문제가 있는 것이라고 지적한다.

여기까지가 Part 1의 중요한 내용들이다. Part 2에서는 지난 번에 부분적으로 언급했던 사무실(office) 환경과 개발자의 생산성과의 관계를 얘기하고 있고, 그 이후로는 주로 팀 빌딩(team building) – 어떻게 좋은 팀을 만들 수 있는가를 얘기하고 있다. 이 내용들 또한 실제로 내가 회사를 다닐 때 체감했던 내용들이고 또, 중요한 내용들이라고 생각한다. 기회가 된다면, 이 내용들에 대해서도 차후에 따로 다루어보겠다.

흥미로운 것은 많은 1987년에 처음 쓰여진 이 책이 최근에 유행하던 XP와 같은 방법론의 생각도 어느 정도 담고 있다는 것이다. (예를 들어, 40-hour week practice) 즉, XP는 어느날 갑자기 누군가의 머리로부터 튀어나온 것은 아닌 것이다. DeMarco와 Lister는 그들의 컨설팅 경험을 이 책에 집약해놓았고, 내 경험에 비추어보더라도, 현업의 개발자들이 항상 체감하고 있으면서도, 자신의 환경을 바꾸려고 시도해보지는 않은 그런 내용들을 담고 있는 것 같다. 모든 관리자들이 이 책을 읽고 개발자들에게 기업과 개발자가 모두 행복해질 수 있는 바람직한 환경을 제공해주면 더할나위 없이 좋을 것이다. 하지만, 모든 개발자들이 이 책을 읽고 관리자에게 자신이 필요한 것을 요구하는 것이 그러한 날을 더 앞당길 수 있는 방법이 되지 않을까.

 

“Peopleware: Productive Projects and Teams”의 1개의 댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.