프로젝트에 투입되는 인력 배정

2020. 7. 22. 17:36웹서비스

인력을 배정하기 전에 프로젝트를 기능별로 세분화 하는 작업을 시작한다. 세분화는 일단 크게 나눈다. 서비스를 만들기 위해서는 처음 기획이 선행되어야 한다. 기획 다음에는 기획에서 나온 스토리보드에 따라 설계와 디자인이 진행된다. 디자인이 완료되면 퍼블리싱이 진행되고, 설계가 완료되면 개발 환경 설정이 들어간다. 개발 환경까지 완료 되면 각 설계에 따라 기능 구현이 진행되고, 단위 테스트와 통합테스트가 진행된다. 테스트까지 완료 되면 오픈하기 위한 준비를 하고 오픈을 진행한다.


기획, 디자인, 퍼블리싱, 개발 설계, 개발 환경 구축, 개발 구현, 단위 테스트, 통합 테스트, 이관, 오픈으로 크게 나누어서 일정을 작성한다. 대부분 시작 날짜와 오픈 날짜가 정해져 있기 때문에 그 사이의 일정을 구분해서 작성한다. 큰 단위로 구분된 부분의 일정이 대체적으로 작성됐다면 이제 기능별 세분화가 들어가야 한다. 

 

큰 단위로만 작성된 일정대로 진행한다면, 각 일정내에 끝나지 않을 수 있고, 프로젝트 관리가 힘들어 진다. 예를 들어 개발 구현을 2달로 단순하게 잡았다면, 2달 내에 모든 기능들이 완료되어야 하는데, 2달 동안 기능들이 어디까지 진행됐는지 파악도 안될 뿐더러, 개발 도중에 개발이 생각보다 어려워 지연될 수도 있다. 이런 경우 어느 기능의 일정을 줄이고, 늘려야하는지 알 수 없기 때문에 세분화 작업은 반드시 일정에 포함되어야 한다. 


세분화 작업은 개발 구현에 한정된 것이 아닌 기획, 디자인, 퍼블리싱에도 세분화작업이 진행된다. 간략하게 메인 화면, 리스트 화면, 상세 화면, 회원 가입, 회원 페이지가 있다면, 메인 화면 기획이 끝나고 메인 디자인이 시작되며, 디자인이 나오면 퍼블리싱이 진행되는 순서가 있기 때문에 기획에서 퍼블리싱도 세분화를 해야 프로젝트 관리가 원활히 진행될 수 있다.

 

개발 구현은 공통 부분과 각 필요한 기능 구현으로 나눈다. 공통 부분은 프로젝트에서 공통으로 사용되는 기능과 개발을 진행하면서 활용할 수 있는 라이브러리 같은 것을 만드는 작업이다. 가령, 로그인 했을때 로그인을 유지하고, 회원 정보를 가져오는 기능이라던지, 게시글이나 상품을 등록, 수정, 삭제하는 기능은 모든 화면에서 사용될 수 있기에 공통으로 만들어 놓고, 각 화면별 또는 기능별 개발시에 활용한다.


이렇게 프로젝트를 세분화하여 일정에 맞추어 표를 작성하는데 이 문서를 WBS-Work Breakdown Structure (작업 분해도)라고 한다. 표는 대부분 엑셀로 만들며, 마이크로소프트사의 프로젝트 프로그램을 사용하여 작성한다. 각 기능별로 언제부터 언제까지 바(bar)형태로 지정하여 관리하는데, 이런 바(bar)형태로 적상하는 것을 간트차트(gantt chart)라고 한다. -간트(gantt)는 미국의 헨리 간트라는 사람이 창안했다고 해서 이름을 그대로 붙인것이다.- 

 

WBS가 완료되면 각 기능별로 난이도를 설정한다. 세분화가 되어 있으면 난이도가 높은지 낮은지는 개발 경력이 많거나, 프로젝트를 많이 관리해 본 사람은 그냥 알 수 있다. 이제 난이도에 따라서 투입 인력의 등급을 산정한다. 등급은 대부분 초급, 중급, 고급, 특급으로 나누는데, 특급은 거의 생각하지 않기 때문에 고급으로 편입시켜 생각한다. 특급을 쳐주지 않는 것에 대한 불만이 많지만, ‘난 특급이기 때문에 그만한 돈을 받아야 한다'라고 고집부리면, 프로젝트에서 배제되기 쉽다. 돈을 주는 입장에서는 솔직히 고급이나 특급이나 별반 차이가 없다고 생각하기 때문이다. 


대체로 초급은 신입 부터 5년 이하까지, 중급은 5년 이상 9년 이하, 고급은 10년 이상, 특급은 13년 ~ 15년 이상으로 생각하는데, 여기에 고졸, 대졸, 석사, 박사, 기사 자격증 유무에 따라 달라질 수 있다. 또한 등급 기준은 회사마다도 차이가 있다. 예전에는 소프트웨어 협회에서 정한 등급 기준표가 있었지만, 2012년도에 폐지되어 회사마다 등급을 산정하고 있다. 등급 기준표가 현실하고 괴리감이 있어서 인듯 하지만, 아직도 그때의 기준표에 맞춰서 산정하는 업체도 간혹 존재한다.

 

초급은 할당된 업무만 잘 쳐내면 되고, 중급은 한 부분에서 리드할 수 있어야 한다. 설계까지는 힘들다고 해도 초급을 리드하면서 업무를 쳐내야 한다. 고급은 설계가 가능해야 하고, 전체 프로젝트의 흐름을 파악하고 있어야 한다. 특급은 대충 예상은 되겠지만, 고급 + 개발에 대한 가이드 역할까지 할 수 있는 역량이 되어야 한다. 내가 생각하는 등급의 업무는 이렇게 생각하지만, 프로젝트의 리더마다 생각하는 차이는 있다.


여기까지 기능 세분화와 WBS작성, 각 기능별 투입 등급은 사업관리를 하는 사람이나, 임원 또는 팀장급에서 진행하고, 영업담당은 발주업체에 제시하고, 협의를 한다. 사원이나 대리급에서 이런 인력 투입 및 WBS, 기능세분화를 작성하기에는 조금 버거운 업무다.

 

일정과 인력의 적재적소가 되지 않으면 프로젝트가 굉장히 힘들어질 수 있다. 원활한 프로젝트가 되기 위해서는 타이트 하지 않은 알맞은 일정과 실력에 알맞은 인력을 배치해야한다. 하지만, 현실은 말처럼 그렇게 쉽지 않다. 등급의 인건비를 낮출려는 입장과 높일려는 입장, 인력 등급을 낮출려는 입장과 높일려는 입장, 기능을 추가하려는 입장과 뺄려는 입장 등등의 입장들의 차이가 있기 때문에 적정선 아니면, 누군가 양보 당하는 입장에서 진행된다. 

 

이런 싸움에 대부분은 발주회사의 ‘승'으로 끝나고, 수주회사는 울며겨자 먹기식으로 받는다. 이렇게 초반부터 진을 빼고 시작되는 프로젝트가 잘 될 일은 없다. 발주 회사의 담당자는 적은 금액으로 프로젝트를 시작했다라는 ‘자부심' 또는 ‘성과' 같은게 있을 수도 있지만, 그 프로젝트 자체가 정말 잘 끝날까 의문이 든다. 지금까지 이런 프로젝트가 잘된 건 본적이 없기 때문이다. 

 

돈을 깎는데 성심성의껏 잘해 줄 업체나 개인은 몇이나 될까?
있기는 하는지도 의문이다....