소프트웨어 개발 팀의 역할

잡동사니

프로젝트에는 다양한 역할이 필요합니다. 다음은 프로젝트에서 일반적으로 필요한 역할이며 한 사람이 둘 이상의 역할을 맡을 수도 있습니다.

목차

관리자

프로젝트 관리자

프로젝트 관리자(Project Manager, PM)는 프로젝트의 총 지휘자이자 최종 결정권자다. 프로젝트 관리자에게 필요한 능력은 주어진 상황에 알맞게 대처하는 판단력이다. 또한 프로젝트 팀의 대표로서 팀 내부에서, 혹은 외부와 내부에서 일어나는 의견 차이를 조율할 수 있어야 한다.

일정 관리자

일정 관리자(Schedule Manager)는 프로젝트의 일정을 수립하고 진행 상황을 확인하고 일정을 재조정합니다.

자세한 내용은 프로젝트 일정 관리를 참고하세요.

행정 관리자

행정 관리자는 물품 관리나 팀 외부 사이에서 이뤄지는 행정 업무 등을 담당합니다.

문서 관리자

문서 관리자는 회의록부터 매뉴얼까지 기록으로 남겨야할 문서나 산출물로 작성해야하는 문서를 담당합니다. 따라서 이력 관리자의 성격도 띠고 있습니다.

배포 전략

문서를 작성하는 이유는 내용을 정리하여 기록으로 남기고 팀원들에게 배포하여 열람하는 데 있습니다. 따라서 문서 관리자는 문서를 전체 메일로 전달하거나 위키 등의 협업 도구를 사용하는 등의 방법으로 문서를 정확하고 빠르게 배포할 전략을 세워야 합니다.

동일성 유지

팀 내부의 문서는 여러 사본이 존재할 수 있으므로 시간이 흐름에 따라 각 사본들의 내용에 차이가 생길 수 있습니다. 따라서 문서 관리자는 각 사본 사이의 내용 변경이 이뤄졌을 때 다른 사본에도 이를 유지하여 각 팀원이 같은 시각에 같은 내용의 문서를 열람할 수 있도록 지원해야 합니다.

개발자

개발자는 프로젝트의 최종 결과물인 소프트웨어 작업에 직접 영향을 미칩니다.

기획자

기획자는 프로젝트의 목표를 설정하고 그 목표에 이르기 위한 다양한 방법을 고민하고 제시합니다.

분석가

분석가는 기획자에가 제시한 목표와 수행 방법이 올바른지, 또 실현 가능성이 있는지 등을 분석합니다.

소프트웨어 분석 단계를 참고하세요.

설계자

설계자는 결정된 목표를 이루기 위한 구체적인 설계도를 작성합니다.

소프트웨어 설계 단계를 참고하세요.

구현가

구현가(Implementor)는 코더(coder)로 불리기도 하며 설계도를 바탕으로 실제 동작하는 코드를 작성합니다.

테스터

테스터는 실제 구현된 프로그램이 기획자가 제시한 목표에 맞게 작동하는 지를 테스트합니다.

대부분의 경우 구현가가 자신이 작성한 코드를 제대로 테스트하기 힘들기 때문에 테스터 역할은 구현가와 다른 사람이 맡아야 합니다.

전문가

DBA

UI 디자이너

도구 전문가

언어 전문가

개인 도구