소프트웨어 개발 계획 - 인력 계획
인력 계획 (=조직 계획)
인력 계획은 말 그대로 사람에 대한 계획이다. S/W 개발은 다른 어떤 분야보다도 사람이 차지하는 비중이 크기 때문에 엄청 중요함 !
인력에 대한 계획을 잘 세우기 위해서는 아래와 같은 특성을 알아둬야 한다.
- 기간이 긴 프로젝트에서는 사기를 높이고 이직을 줄이기 위하여 개개인의 일에 대한 만족도를 높여줘야 한다.
- 문제의 특성에 맞게 팀의 규모를 맞추고, 팀원들을 구성해야 한다.
(큰 규모의 팀보다 작은 규모의 팀은 보다 단결력이 강하고 사기가 높으며, 생산성이 높다.) - 팀 구성 권한을 가지는 관리자는 일정, 예산, 품질 등의 요소들을 고려하여 팀을 구성해야 한다.
그렇다면 팀을 어떤 식으로 구성해야 좋을까? 정답은 아니겠지만 이 질문에 대한 가이드라인이 있다.
가이드라인에서 제시하는 팀 구성 방법에는 3가지가 있다.
- 중앙 집중형 팀 구성 (=책임 프로그래머 팀 구성)
- 분산형 팀 구성
- 혼합형 팀 구성 (중앙 집중형 + 분산형)
위 3가지 팀 구성 방법에 대해 정리해보자
중앙 집중형 팀 구성 ( =책임 프로그래머 팀 구성)
한 관리자가 의사 결정을 하고 팀 구성원들은 그 결정에 따르는 팀 구성 방식이다.
프로젝트 수행에 따른 모든 권한과 책임을 한 관리자(책임 프로그래머)에게 위임한다.
이 팀 구성 방식은 책임 프로그래머의 능력에 따라 프로젝트의 성패가 갈릴정도로 책임 프로그래머의 역량이 중요하다.
위 그림에서 각각의 역할을 정리하면 다음과 같다.
- 책임 프로그래머 : 요구 분석 및 설계, 중요한 기술적 판단, 프로그래머에게 작업 지시 및 배분
- 프로그래머 : 코딩, 테스트, 디버깅, 문서 작성
- 프로그램 사서(Librarian) : 설계 문서, 테스트 계획 등 프로젝트와 관련된 모든 사무적인 일들을 담당
- 보조 프로그래머 : 책임 프로그래머를 어시스트. (이 포지션이 좀 애매함)
분산형 팀 구성
모든 팀원들이 동등한 레벨을 가지며, 팀원 모두가 의사 결정에 참여하는 방식.
분산형 팀 구성 방식의 장, 단점은 다음과 같다.
- 팀 구성원의 참여도와 작업 만족도를 높일 수 있다.
- 의사소통의 경로가 많아져 결정 한번 하는데 많은 시간이 소요된다.
- 다 같이 책임을 지는 구조라서 생산성이나 책임감이 많이 낮아질 수 있다.
혼합형 팀 구성
위의 팀 구성 방식들을 혼합한 것. (이 방식을 많이 사용한다고 함)
프로젝트 책임자가 5~7명의 프로그래머를 목적에 맞게 작은 그룹으로 나누고, 각 그룹마다 중간 관리자를 두는 계층형 관리 방식.
'Software Engineering' 카테고리의 다른 글
[Engineering] 요구사항 정의 #1 (0) | 2019.12.18 |
---|---|
[Engineering] UML - 모델링 언어 (0) | 2019.12.10 |
소프트웨어 개발 계획 - 일정 계획 (4) | 2019.10.22 |
소프트웨어 개발 계획 - 비용 계획 (0) | 2019.10.18 |
소프트웨어 개발 프로세스 #2 (0) | 2019.10.10 |
댓글
이 글 공유하기
다른 글
-
[Engineering] 요구사항 정의 #1
[Engineering] 요구사항 정의 #1
2019.12.18 -
[Engineering] UML - 모델링 언어
[Engineering] UML - 모델링 언어
2019.12.10 -
소프트웨어 개발 계획 - 일정 계획
소프트웨어 개발 계획 - 일정 계획
2019.10.22 -
소프트웨어 개발 계획 - 비용 계획
소프트웨어 개발 계획 - 비용 계획
2019.10.18