
프로젝트 팀 구성의 이해와 팀 구조에 대해서 알아보겠습니다. 프로젝트 팀 구성은 프로젝트를 진행하기 위해서 필요한 역할자, 역량, 조직도, 책임, 역할, 보고 체계를 정의하는 활동들을 모두 포함합니다. 프로젝트에서는 프로젝트 팀이 구성되어야 하고 프로젝트 팀이 실제 업무를 맡아서 진행하게 됩니다. 프로젝트 팀을 구성할 때는 프로젝트 진행의 역할자를 확인하고 역할자들의 숙련도와 투입 공수를 산정합니다.
프로젝트 조직도를 구성하고 팀원들의 책임과 역할을 정의하며 프로젝트 수행 환경을 구축합니다. 프로젝트 팀원들이 일할 수 있는 장소를 확보하고 업무 협업을 위한 도구와 환경을 구축해야 합니다. 시스템 구축 프로젝트의 경우, 개발자들이 개발 업무를 진행할 수 있도록 개발 환경도 세팅 되어야 합니다. 컴퓨터와 모니터, 그리고 책상, 출입증도 준비해 놓아야 합니다. 그럼 계속해서 프로젝트 팀 구성에 대해서 좀 더 자세히 알아보도록 하겠습니다.
프로젝트 팀 구성과 구조 설명
프로젝트 팀을 구성하기 위해서 작업을 완료하는데 필요한 기량과 숙련도 수준, 그리고 경험 등을 평가합니다. 회사 조직 내부 인력을 활용하는 것과 외부 인력을 활용하는 것은 비용 구조가 다르기 때문에 비용 대비 효과를 반드시 고려해야 합니다. 프로젝트 팀을 구성하는 것은 프로젝트를 진행하기 위한 첫 시작입니다. 프로젝트 팀을 구성할 때 시스템 구축을 위해서 회사 안에 있는 개발 부서들의 인력을 활용할 수 있고 프로젝트 예산을 확보한 후 업체 선정 과정을 통해서 프로젝트와 개발을 수행할 수 있는 업체를 선정하여 해당 개발 인력을 활용하여 원하는 결과물을 구축할 수도 있습니다.
회사가 프로젝트 발주사 입장에서 수행사와 계약을 통해 프로젝트를 진행하게 되면 수행사 인력을 중심으로 프로젝트 팀이 구성되고, 회사의 인력도 프로젝트 조직도가 구성되어 협업 하는 형태로 프로젝트를 진행하게 됩니다. 수행사는 발주사의 비즈니스와 현업, 그리고 IT의 요구 사항을 받아서 프로젝트를 수행하게 됩니다. 대부분의 회사들은 프로젝트에서 다루는 내용들이 전문성을 띄고 있고 기존 운영 업무에 참여하고 있는 개발 인력들을 활용하기 어려운 경우 외부 업체 선정을 통해서 프로젝트를 진행하게 됩니다.
프로젝트 팀의 협업 환경의 중요성
프로젝트 팀은 협업 할 수 있는 환경이 중요합니다. 프로젝트를 진행할 때 많은 사람들이 참여하게 됩니다. 프로젝트 팀이 구성되면 팀원들은 동일 장소에 배치하는 것이 중요합니다. 동일 장소에서 일하는 소규모 프로젝트 팀은 원할한 의사소통이 가능하고 문제가 발생하더라도 문제에 대한 해결이 보다 수월해지고 쉬워집니다. 많은 사람들이 바로 바로 힘을 합쳐서 일을 해결한다면 문제가 더 잘 해결되기 때문입니다.
다만, 상황에 따라서 물리적으로 분산 되어 있는 환경에서 프로젝트를 진행 해야 하는 경우도 있습니다. 대표적으로 글로벌 프로젝트입니다. 글로벌 프로젝트를 진행하게 되어 물리적으로 분산 되어 있는 프로젝트 팀은 다른 국가와 다른 시간대에서 가상 환경을 통해서 프로젝트를 진행할 수 있고 의사소통을 위한 환경 세팅과 기술 구현에 많은 노력을 필요로 하게 됩니다. 프로젝트 팀은 잘 구성되어야 하고 체계적으로 구조화가 되어 있어야 합니다. 프로젝트 팀을 구성할 때 해당 역할에 가장 적합한 사람이 배정되어야 합니다.
만약 한 명으로 부족하다면 여러 명으로 구성될 수도 있습니다. 그리고 프로젝트 팀의 팀원들 중 방관자의 관점에서 접근하거나 해당 업무에 대해서 오너십을 가지고 있지 않은 마음가짐으로 프로젝트에 임하게 되면 프로젝트 진행에 차질이 생길 수 있습니다. 프로젝트 팀원들은 적극적으로 협업하고 자신의 역할을 충실하게 수행하면서 자기 역할을 다할 때 프로젝트는 원활하게 잘 진행될 수 있습니다.
프로젝트 팀 구성 순서 설명
프로젝트 팀 구성 순서에 대해서 알아봅시다. 대부분의 회사들에서는 프로젝트 진행을 위한 역할자들이 정해져 있습니다. 소프트웨어 개발 프로젝트를 진행하는 경우 프로젝트 매니저(PM, Project Manager), 프로덕트 오너(PO, Product Owner), 디자이너, 개발자, 아키텍처 담당자 등 다양한 인력이 필요합니다. 프로젝트의 특성에 따라 정보 보안 전문가와 스크럼 마스터와 같은 역할자가 필요할 수 있습니다.
애자일 방식이 아닌 워터폴 방식으로 진행할 경우에는 프로젝트 매니저(PM, Project Manager)와 프로젝트 리더(PL, Project Leader), 디자이너, 퍼블리셔, 개발자, 프로젝트 관리 오피스(PMO, Project Management Office) 등 다양한 역할자로 구성될 수 있습니다. 시스템(System)을 개발하고 구축하는 프로젝트에서는 기술적 요소가 많고 전문성이 요구되는 부분들이 많습니다. 기간계 시스템과 채널계 시스템 등 시스템 영역이 구분되어 있기 때문에 시스템 특성에 맞는 개발자도 필요합니다.
역할자의 숙련도와 투입 공수의 경우 프로젝트 규모가 커질수록 중요해집니다. 프로젝트 규모가 커질 수록 더 중요해지고 프로젝트에는 많은 사람들이 참여하고 많은 사람들이 필요한 만큼 역할자 별로 필요한 숙련도가 다양할 수 있습니다. 그리고 투입 공수의 산정도 매우 중요합니다. 프로젝트 팀의 팀원들 중 실력이 뛰어난 사람이 있어야 합니다. 또한 전문가들이 많이 필요합니다.
개발 프로젝트의 영역별 전문성
시스템을 구축하는 프로젝트를 진행할 때 시스템 영역 별로 전문화되어 있는 경우가 많습니다. 그리고 시스템 영역과 개발 영역 간의 경계가 세워져 있는 경우가 상당히 많습니다. 프로젝트 업무도 결국 사람이 하는 것이기 때문에 사람이 중요하고 특히 프로젝트는 짧은 시간 안에 큰 결과물과 성과를 만들어 내는 특징이 있기 때문에 실력이 뛰어난 사람들이 프로젝트에 참여해야 프로젝트가 성공할 수 있습니다.
만약 프로젝트가 소규모일 경우 소규모 프로젝트 팀으로 구성될 수도 있습니다. 이러한 경우는 애자일 프로젝트인 경우가 많습니다. 시스템 구축 프로젝트의 경우 역할자들의 숙련도는 특급, 고급, 중급, 초급 등으로 구분됩니다. 규모가 큰 프로젝트의 경우, 리더 역할을 하는 사람은 일반 업무를 수행하는 사람의 적정 비율을 고려하는 것이 좋습니다. 시스템 구축 프로젝트에서 역할자들의 숙련도는 프로젝트 원가와도 직결됩니다. 프로젝트 인력과 비용을 산정 할 때 개발자와 참여자의 등급에 따라 인력 단가가 달라집니다. 소프트웨어 개발 프로젝트에서 가장 많이 필요한 개발자들의 투입 공수를 산정하기 위해서는 모수 산정 방식을 주로 사용합니다.
소프트웨어 개발 규모를 산정하는 스토리 점수와 기능 점수를 회사의 생산성으로 나누어서 투입 공수를 산정하는 것이 일반적입니다. 나머지 역할자들은 역할자의 투입 기간과 투입 비율로 투입 공수를 결정하게 됩니다. 회사의 조직도는 팀원들을 하위 그룹으로 구분한 것입니다. 회사의 조직도는 함께 업무를 수행할 팀원들을 그룹으로 분류하고 보고 체계를 결정하게 됩니다. 회사의 조직도 상 영역별로 구분될 경우 영역별 전문가들에 대한 정보를 함께 확인할 수 있습니다.
프로젝트 조직도에 대한 이해
프로젝트 조직도는 프로젝트 팀원들을 하위 그룹으로 구분한 것입니다. 프로젝트 조직도는 함께 업무를 진행하게 될 팀원들에 대한 정보를 확인할 수 있습니다. 프로젝트 조직도에서는 멤버들을 그룹으로 분류하고 보고 체계를 결정하게 됩니다. 프로젝트 조직도를 통해 프로젝트 팀원들이 진행할 업무에 대한 책임과 역할을 정의하게 됩니다.
프로젝트 조직도에서는 스폰서는 누구이고 비즈니스에 대한 오너십은 누구에게 있으며 프로젝트 매니저, 프로젝트 리더, 프로젝트 관리 오피스에 대한 역할자, 그리고 그룹 별로 담당자들을 구성하여 만들게 됩니다. 프로젝트 수행 환경에 대한 구축은 중요합니다. 프로젝트 팀원들이 근무할 수 있는 장소를 먼저 확보해야 합니다. 이를 프로젝트 룸이라고 부릅니다. 프로젝트 업무를 위해서는 프로젝트에 참여하는 모든 팀원들이 동일한 장소에서 근무를 하는 것이 바람직합니다. 하지만 만약 현실적으로 어렵다면 흩어져서 업무를 진행할 수 밖에 없는 경우도 있습니다. 이럴 경우 커뮤니케이션 방식과 협업 방식에 대해서 더 많은 고민이 필요하게 됩니다.
프로젝트 업무 협업의 중요성 이해
프로젝트를 진행하게 되면 업무 협업이 중요합니다. 프로젝트에서는 업무 협업을 위한 도구를 구축하는 것이 중요합니다. 프로젝트 커뮤니케이션을 위해 화상 회의, 형상 관리, 빌드, 테스트, 프로젝트 포털, 공유 폴더와 같은 도구들과 환경을 구축해야 합니다. 협업 툴로는 컨플루언스나 지라(JIRA)와 같은 툴을 사용할 수 있습니다. 또한 화상 회의를 통해서 회의를 진행할 수 있습니다. 프로젝트 팀 구성과 관련해서 책임 배정 매트릭스 산출물도 있습니다.
책임 배정 매트릭스는 팀원들이 수행할 업무를 정의한 문서이고, 프로젝트 팀원들과 이해 관계자들의 책임과 역할을 명확하게 정의하여 애매모호한 부분을 최소화 시켜줄 수 있는 문서입니다. 프로젝트 팀원들이 수행해야 할 업무에 대한 책임을 구분하고 책임에 대해서는 업무 수행에 대한 책임이며, 책무는 업무 수행 결과에 대한 책임입니다. 테스트 결과서를 작성할 책임은 업무 담당자에게 있지만 테스트 결과물에 대한 품질에 대한 책무는 프로젝트 매니저(PM)에게 있습니다. 특정 업무에 대한 순서와 필요 여부에 대해서도 판정할 수 있습니다. 프로젝트 팀원들의 업무를 상세화 하는 것도 중요합니다. 프로젝트를 진행할 때 업무 체계 분류(WBS)도 상에 프로젝트 팀의 팀원들이 분담해야 하는 일들을 나누어서 배정하고 여기에 책임과 책무를 기재하는 경우도 있습니다.