프로젝트 역할에 따른 분류
1. PM(Project Manager)
소프트웨어 프로젝트의 모든 관리 업무를 책임지는 사람. 외부 팀과 인터페이스를 담당하고 의견 조율을 하면서 내부의 개발팀을 외부의 폭풍으로부터 보호하는 역할 담당
- 프로젝트 성공에 대한 책임
- 프로젝트 팀 구성에 대한 권리와 책임
- 프로젝트의 업무, 일정, 산출물, 회의, 기술, 외주, 리스크 관리
2. PL(Project Leader)
프로젝트의 리더, PM을 도와서 설계와 구현의 실무적인 부분을 책임지는 업무 수행
- 기본 설계와 설계의 무결성에 대한 책임
- 구현 단계에서의 리드
- 구현 일정 조율
- 스펙 문서 작성
- 소스코드 검토 및 조언
3. PE(Program Engineer)
각 단위 기능을 설계하고 구현하여 소프트웨어를 만드는 업무를 수행
- 상세 설계에 대한 책임
- 구현 일정 산정
- 요구사항 구현에 대한 책임
- 개발 표준 준수
4. QA(Quality Assurance)
문서, 절차, 산출물에 대한 중간 과정을 점검하고 사후 검사를 실시하여 제품의 품질을 보장하는 모든 활동 담당
- 테스트 계획 수립 및 테스트 케이스 작성 책임
- 테스트 실시 및 피드백
- 소프트웨어 버그 발견 책임
- 테스팅 기술, 소프트웨어 개발, 디버깅 지식
- 개발 프로세스 및 기반 시스템 시행
경력, 직급에 따른 분류
5. 주니어 개발자(Junior Developers)
1~3년의 개발 경험을 가진 초급 개발자
- 소프트웨어 설계 및 코딩의 모든 측면에서 개발 관리자를 지원
- 회사 개발 회의에 참석하고 기여
- 코딩기술 향상 및 버그 수정작업
- 내부 시스템의 기술적 성능 모니터링
- 보고서 작성 및 개발 테스트 수행
6. 미드 레벨 개발자(Mid-level Developers)
3~5년의 개발 경험을 가진 중급 개발자
- 전체 웹 개발 라이프 사이클을 설계
- 공동 개발자와 협업하고 프로젝트 관리자에게 현재 진행 상태 등을 보고
- 프로젝트 배포
7. 시니어 개발자(Senior Developers)
5년 이상의 실무 경험을 가진 고급 개발자
- 소프트웨어 개발 프로젝트 논의
- 코딩, 테스트, 디버깅 및 분석 작업들을 주니어 개발자에게 할당
- 고급 프로그래밍 코드 작성
- 프로젝트 일정 관리
- 개발 보고서 작성
- 새로운 소프트웨어 프로그램에 대한 기술 문서 작성
8. 리드 개발자(Lead Developer)
정보 관리, 분석, 계획, 설계 및 구성등을 종합하여 역할을 맡음
- 비즈니스 요구사항을 이해하고 개발팀의 기술 요구사항으로 변환하는데 도움
- 기능 또는 시스템 설계에 대한 기술 사양 계획 문서화
- 비즈니스 프로세스 및 애플리케이션 요구사항을 충족하는 애플리케이션 설계, 구축, 구성
- 응용프로그램 설계, 개발, 코딩, 테스트 및 디버깅을 개발팀에게 지시
- 효율적인 코드 작성 및 검토(확장성)
- 주니어 개발자를 멘토링