일의 효율을 위해서라면 PM과 PL을 구분지을 필요가 있다. (...라고는 하지만 PM과 PL이 교과서에 딱 정의되어 있는 말도 아니고... 어디에서는 프로듀서와 디렉터라고 부르기도 하고...)
PM - Project Manager
프로젝트의 모든 책임을 지는 사람. 만약 프로젝트가 실패한다면 모든 1차 책임은 PM이 져야 한다. 가끔보면 PM을 '그 팀중 가장 고참'이 맡는 경향이 있는데, 대체로 그런 게 통하기도 하겠지만, 그보다는 해당 프로젝트에 가장 목매는 사람... 이 하는 게 맞을 듯. 프로젝트의 성공을 위한 모든 것의 얼굴마담.
PM이 해야할 일은 조직의 외부와 조직을 매개해주는 역할로써, 외적으로는 클라이언트나 보스에게 조직을 대표하여 협상이나 회의를 하고, 내적으로는 스케쥴과 리소스조달, 품질에 대한 지휘를 한다.
따라서 PM은 세부적인 기술지향적인 인재보다는, 경영이나 관리쪽의 적성에 맞는 이들이 하는 것이 적합.
PL - Project Leader
PM이 외부로의 대표자라면, PL은 내부에서의 인솔자로써, 업무의 분담, 작업지시, 리소스 배분, 문제 해결방안의 도출 등의 역할을 기대받는다. 설계자로서의 자질도 필요하겠지만, 그보다는 현장감독의 의미가 강하다. PL이 해주길 바라는 역할은, 적재적소적시에 조직내 리소스를 효율적으로 할당하기.
PM도 PL도 각각 독립적인 role로써, 그 업무만으로도 1인분씩에 해당하기 때문에, 규모가 작은 팀에서 가끔 보이는 '기획자가 PM도 맡아하기'라든가, 'PL이 메인 프로그래머로 일하기'같은 조직은 아주 잠깐은 가능할지 몰라도 장기적으로는 오래 버티기 곤란하다. 비효율적이기도 하고.
PM과 PL이 제 역할을 발휘할 수 있으려면 몇 명의 보조 직군이 필요한데...
Ace
기술적으로 가장 뛰어날 필요는 없지만(보통 PL이 가장 기술적으로 뛰어날 경우가 많다.), 가장 의지할 수 있는 현장인력이어야 한다. Ace의 존재가 있어야만 PL이 안심하고 업무를 배분할 수 있다. PL의 조언자이자, PL이 구상한 계획을 실천하는 핵심인력.
Utility
개발자간의 생산성 차이야 익히 알려져 있는 사실이기에, 프로젝트 내에 Ace가 존재한다면 조직의 생산성을 담보하는 가장 확실한 방법은, Ace가 저수준의 작업으로 방해받지 않도록 해주는 것. 그러기 위해서는 Ace가 필요로 하는 여러 도구나 라이브러리, 테스트작업 등을 대신 개발, 수행해줄 Utility 플레이어가 있으면 좋다. Ace가 핵심부분, 혹은 문제가 되는 부분에 집중할 수 있도록 세밀한 부분에서 서포트해주는 것이 관건.
리소스 관리자
팀내의 리소스(인력배분, 문서, 코드, 중간결과물, 작업재료) 등에 대해 누군가는 계속 관리하고 있어야 한다. PM은 리소스를 외부에서 조달해줄 뿐이고, PL은 리소스를 내부에서 배분해줄 뿐. 그렇다면 누군가는 리소스를 언제든지 사용가능하도록 계속 관리하고 있어야 한다. 어떤 테스트셋이 필요하다고 누군가 요청을 할 때, 그것이 어디에 있었는지 모두가 찾아 해메는 대신, 리소스 관리자가 요청즉시 꺼내어 줄 수 있도록 정리해두어야 한다.
대개 이러한 리소스 관리는 도구의 도움을 받기도 하고, 개개인이 일정부분 스스로 관리하는 것도 있곤 해서 굳이 프로젝트당 한명씩 둘 필요는 없으나, 어쨌든 누군가는 지속적으로 담당하고 있어야 하는 것.
대개 규모가 작은 회사에서의 개발팀, 혹은 프로젝트팀을 보면, 시니어 개발자 한명이 설계하고 나머지 개발자들은 대충 적당히 잘라서 일을 나눠갖고는 한다. 개발자간의 능력이 서로 다르다는 것을 인정하지 않는 경우인데, 이러한 수평적 구성보다는 수직적 구성이 효율은 더 좋은 편이다.
막말로 일정규모 이하의 프로젝트의 개발은 Ace 혼자서도 충분하다. 만약 일정을 당기고 싶다면, 개발자를 투입하는 대신, Ace가 식사시간에도 문제해결에 집중할 수 있도록 밥을 떠먹여줄 보모를 투입하는 쪽이 훨씬 효율적이다. 더 싸기도 하고.
글 잘 읽었습니다. 글하나로 정리를 잘해주신 것 같네요. 도움이 많이 됩니다..^^
답글삭제틈나는대로 잘 보고 갑니다.
답글삭제형님 글을 읽으면 왠지 모를 통쾌함도 느끼고 많은 영감을 얻게 되요
잘 읽고 갑니다.
답글삭제혼자 일한 적이 많아 팀구조에 대해 인식이 부족한데
명쾌한 내용 감사합니다.
PM의 정의, 역할, 갖춰야할 지식 체계. http://www.pmi.org/PMBOK-Guide-and-Standards.aspx
답글삭제