소프트웨어 설계(4) 프로젝트 관리 및 생명주기 모형(1)
프로젝트 관리
프로젝트 관리의 개념
프로젝트의 관리
- 프로젝트의 관리 5가지
프로젝트 관리의 3P
프로젝트 계획 수립
인적 자원
일정 계획 방법론
위험 관리
1) 프로젝트 관리의 개념
프로젝트 관리는 사업의 목적에 맞게 미리 계획된 일정과 금액 범위에서 정해진 목적을 달성하기 위한 모든 활동이다
프로젝트는 시간이 정해져 있고, 업무마다 개발 방법이 다르며, 단계적으로 진행되는 특성이 있다
2) 프로젝트의 관리
① 일정 관리: 활동 순서, 활동 기간 산정, 일정 개발, 일정 통제
② 예산 관리: 원가 산정, 예산 편성, 원가 통제
③ 인력 관리: 프로젝트팀 편성, 프로젝트 조직 정의, 프로젝트팀 개발, 프로젝트팀 관리, 자원 산정, 자원 통제
④ 위험 관리: 위험 식별, 위험 평가, 위험 대처
⑤ 품질 관리: 품질 계획, 품질 보증 수행, 품질 통제 수행
3) 프로젝트 관리의 3P
① 사람 (People): 프로젝트 계획을 관리함에 있어 가장 중요한 요소
② 문제 (Problem): 프로젝트 계획을 진행하는 과정의 문제, 위험 등의 요소
③ 프로세스 (Process): 프로젝트 계획의 일정 계획, 단계별 기간 등의 요소
4) 프로젝트 계획 수립
① 프로젝트 계획 수립 목적
범위, 자원, 비용 측정을 통하여 위험성을 최소화한다
여행으로 생각하면 여행 기간이 범위, 준비물이 자원, 여비가 비용에 해당한다
② 소프트웨어 범위(영역, Range, Scope) 측정
처리 기능: 소프트웨어 기능의 범위를 측정
성능: 소프트웨어의 처리 속도나 사용자 동시 접속자 수 등을 측정
제한 조건: *소프트웨어의 한계, 불가능한 기능 등의 제약 조건을 측정
개발 인원: 소프트웨어 개발 인력 수나 개발팀 조직의 형태를 측정
일정 계획: 기간, 작업 시간, 단계별 기간을 측정
- 프로젝트 관리의 개념
- 프로젝트의 관리
- 프로젝트의 관리 5가지
- 프로젝트 관리의 3P
- 프로젝트 계획 수립
- 인적 자원
- 일정 계획 방법론
- 위험 관리
② 예산 관리: 원가 산정, 예산 편성, 원가 통제
③ 인력 관리: 프로젝트팀 편성, 프로젝트 조직 정의, 프로젝트팀 개발, 프로젝트팀 관리, 자원 산정, 자원 통제
④ 위험 관리: 위험 식별, 위험 평가, 위험 대처
⑤ 품질 관리: 품질 계획, 품질 보증 수행, 품질 통제 수행
② 문제 (Problem): 프로젝트 계획을 진행하는 과정의 문제, 위험 등의 요소
③ 프로세스 (Process): 프로젝트 계획의 일정 계획, 단계별 기간 등의 요소
여행으로 생각하면 여행 기간이 범위, 준비물이 자원, 여비가 비용에 해당한다
소프트웨어의 한계
소프트웨어로 개발할 수 없는 것이 있을 수 있다
③ 자원 측정
하드웨어 자원 개발자 시스템 | 소프트웨어를 개발할 개발자 환경의 컴퓨터 시스템을 파악
목표(사용자) 시스템 | 실제 소프트웨어가 설치되고 운영될 사용자 컴퓨터 환경을 파악
개발 지원 시스템 | 목표 시스템에는 필요 없지만 개발 시에 필요한 시스템을 파악
소프트웨어 자원: 프로그램 작성 도구(C언어, 비주얼베이직 등), CASE 등을 파악한다 인적 자원: 개발 조직, 팀 구성, 프로그램의 능력들을 파악한다
5) 인적 자원
① 개발자팀 구성
- 책임 프로그래머팀: *1인 독재 체제이다. 다수는 1인을 위해 보조 역할을 담당
- 민주주의식팀: 다수 책임 체제이다. 개개인의 담당 분야가 독립적으로 존재
- 혼합형팀: 책임 프로그래머팀과 민주주의식팀의 장점을 결합한 팀 구성
1인 독재 체제
책임 프로그래머팀은 책임 프로그래머가 모든 일을 책임지며 다른 팀원은 책임 프로그래머를 위해 존재
② 책임 프로그래머팀의 구성원
- 책임 프로그래머(Chief Programmer): 요구분석과 설계, 기술적인 판단, 작업 지시와 배분을 담당
- 보조 프로그래머(Back-up Programmer): 책임 프로그래머를 보좌, 기술적인 자문, 사용자﹒품질 보증 담당자 섭외, Chief 감독하에 분석, 설계, 구현까지도 담당
- 프로그래머(Programmer): 책임 프로그래머의 지시에 따라 원시 코드 작성, 검사, 디버깅 및 문서 작성 등을 담당
- 프로그램 사서(Program Librarian): 프로그램 리스트, 설계 문서, 검사 계획서 등의 문서를 관리
③ 책임 프로그래머팀과 민주주의식팀의 비교
책임 프로그래머팀(중앙 집중형)
- 소규모 소프트웨어 개발에 유리
- 팀원들 대다수의 만족도가 낮다
- 이직률이 높다
- 단기적인 소프트웨어 개발에 유리
- 쉬운 프로젝트에 유리
- 스타형 구조
민주주의식팀(분산형)
- 대규모 소프트웨어 개발에 유리
- 팀원들 대다수의 만족도가 높다
- 이직률이 낮다
- 장기적인 소프트웨어 개발에 유리
- 복잡한 프로젝트에 유리
- 링형 구조
6) 일정 계획 방법론
① PERT(Program-Evaluation and Review Technique) 네트워크
- 프로그램 평가 및 검토 기술
- 소요 기간의 예측이 어려운 경우에 유리
- 작업별로 *낙관치, 기대치, 비관치를 나눠어 종료 시기를 결정
- 노드에는 작업명, 간선에는 낙관치, 기대치, 비관치를 표시
- 예측치 공식을 이용하여 소요 기간을 정한다
낙관치, 기대치, 비관치
ex) 친구들이 10명이 놀러와 각각 4개, 5개, 8개, 13개, 14개, 15개, 20개, 21개, 23개의 라면을 끓여달라고 의견을 제시했을 떄 남거나 모자라지 않으려면 예측시 공식을 이용하면 된다
가장 적은 라면의 개수가 낙관치, 가장 많은 라면의 개수가 비관치, 모든 개수의 평균이 기대치이다
- 이 수치를 예측치 공식으로 계산하면 된다
- 일정 계획도 마찬가지이다. 개발에 경험이 있는 사람들의 의견을 묻고 그 의견으로 예측치를 계산한다
② PERT를 이용한 일정 계획 순서
- 소프트웨어의 전체 규모를 추정한다
- 소프트웨어의 작업을 기능별, 특징별로 분류한다
- 단계별로 작업 일정을 예측한다
- 전체 소요 기간을 예측한다
③ PERT 일정 계획
- 전체 작업을 A~G 작업으로 구분한다
- 작업별로 낙관치, 기대치, 비관치를 간선에 표시한다
- 예측치 공식을 사용하여 예측치를 구한다
- 예측치 =
- 예측치 계산 결과
- 예측치를 간선에 표시하면 다음과 같다
- A 작업에서 E 작업으로 넘어가기 위해서는 10일(A -> B -> C -> E) 또는 11일(A -> D -> E)이므로 11일이 걸린다
- 프로젝트가 G 작업에서 종료된다면 11일 + 9일(E -> F -> G)=20일에 완성된다고 예측할 수 있다
- 일정이 가장 늦은 경로인 임계경로는 A -> D -> E -> F -> G 이다
④ PERT에서 제공되는 항목
- 프로젝트 개발 기간을 결정하는 임계경로를 알 수 있다
- 통계적 모델을 적용해서 개별 작업의 가장 근접한 시간을 측정한다
- 단계별 작업에 대한 시작 시간을 정의하여 작업 간의 경계 시간을 계산할 수 있다
- PERT에서는 *비용 측정을 절대 하지 않는다
비용 측정
- 비용 측정은 프로젝트 계획에서 일정 계획보다 중요한 사안이다
- 비용 측정을 일정 계획과 같이 할 수도 있겠지만 독립적으로 비용 측정을 하는 것이 원칙이다
⑤ CPM(Critical Path Method) 네트워크
- 임계경로 기법이라고도 한다
- 소요 기간이 확실한 경우에 유리하다
- 노드는 작업명, 간선은 작업 사이의 전후 의존 관계를 표시한다
- 원형 노드와 박스 노드로 구분된다
- 원형 노드는 작업명, 박스 노드는 이정표와 예상 완료 시간을 표시한다
- 한 이정표에서 다른 이정표에 도달하기 전에 작업을 완료해야 한다
⑥ CPM을 이용한 일정 계획 순서
- 소프트웨어의 전체 규모를 추정한다
- 소프트웨어의 작업을 기능별, 특징별로 분해한다
- 단계별 상호 의존 관계를 CPM 네트웨어로 도식한다
- *간트 차트를 작성한다
간트 차트
간트(Gantt)라는 학자가 고안한 도표로 작업을 하면서 계속 참조하게 되는 이정표
⑦ CPM 일정 계획
- 전체 작업을 A~I 의 소작업으로 구분한다
- A 가 시작 작업이고 I 가 종료 작업이다
- B 작업은 3일, C 작업은 4일, D 작업은 5일 소요된다
- F 작업이 진행되려면 선행 작업인 C 작업과 D 작업이 종료되어야 한다
- H 작업이 착수되려면 F 작업을 끝마친 18일 후에나 H 작업이 진행된다
- 이정표에는 각 작업의 소요기간에 대한 세부적인 사항이 기록된다
- 일정이 가장 늦은 경로인 임계경로는 A -> D -> F -> H -> I 이다
⑧ 빠른 착수일과 늦은 착수일
- 1 작업에서 0 작업까지 진행하는 CPM 도표이다
- C 작업에서 빠른 착수일(Earliest Start Time)은 A 작업과 B 작업이 모두 종료되어야 가능하므로 15일이다
- C 작업에서 늦은 착수일(Latest Start Time)은 A 작업과 B 작업이 모두 종료되어야 가능하므로 15일이다
- F 작업은 E 작업이 완료될 떄까지 3일간의 여유 기간(Slack Time)이 존재한다
여유 기간
- E와 F는 0 작업에 도달한 후에 그다음으로 진행한다
- F 작업은 37일에 끝났다
- E 작업은 40일 동안 작업을 한다. 같이 0 작업 이후를 진행해야 하니 F 작업은 아무것도 할 수 없이 기다려야 한다. 이 시간이 3일이고, 여유시간이라는 것이다
- 일정 계획에서는 여유 기간이 존재하지 않도록 철저한 계획이 필요하다
⑨ CPM에서 제공되는 항목
- 프로젝트 개발 기간을 결정하는 임계경로를 알 수 있다
- 통계적 모델을 적용해서 개별 작업의 가장 근접한 시간이 측정된다
- 단계별 작업에 대한 시작 시간을 정의하여 작업 간의 경계 시간을 계산할 수 있다
- 단, CPM에서는 비용 측정을 절대 하지 않는다
7) 위험 관리
① 위험 관리의 정의
프로젝트 추진 과정에서 예상되는 각종 돌발 상황을 예상하고 이에 대한 적절한 대책을 수립하는 일련의 활동
② 위험 관리 순서
- 위험 식별: 위험 요소가 될 사항들을 파악
- 위험 분석 및 평가: 위험의 비중과 영향력을 파악
- 위험 관리 계획: 위험을 예방하고 발생 시에 대안들을 준비하고 문서화한다
- 위험 감시 및 조치: 위험을 항상 관찰하고, 발생 시 조치
③ 위험 모니터링
위험 요소 징후들에 대하여 계속적으로 인지하는 것
④ 위험표의 항목
위험의 내용﹒위험의 종류﹒위험 발생 확률﹒영향력﹒대안
비용 측정 실패﹒비즈니스 위험﹒5%﹒매우﹒손해 감수
일정 계획 실패﹒프로젝트 위험﹒40%﹒보통﹒기간 연장
기술 부족﹒기술적인 위험﹒70%﹒보통﹒개발자 섭외
인력 부족﹒프로젝트 위험﹒75%﹒보통﹒추가 증원
Author And Source
이 문제에 관하여(소프트웨어 설계(4) 프로젝트 관리 및 생명주기 모형(1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@evencoding/소프트웨어-설계4-프로젝트-관리-및-생명주기-모형1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)