프로젝트 관리
목적
⇒ 자원, 인력, 비용, 기술 등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성
관리의 어려움
개발 대상이 눈에 보이지 않음
⇒ 개발 진행 상황을 판단하기 어려움
소프트웨어 분야의 기술 발전은 매우 빠름
⇒ 프로젝트에 따라 다양한 문제를 가져 문제를 예측하고 대처하기 어려움
소프트웨어 분야는 조직마다 프로세스가 다름
⇒ 소프트웨어 개발 역사가 짧아 표준에 대한 지식과 경험이 충분치 않음
관리 활동의 요소 (모니터링과 조정이 관리 활동의 핵심)
프로젝트
시작 : 목표를 세우고 가치와 리스크 이해 ⇒ 프로젝트를 할지 말지 판단을 내림
가치 평가 방법
ROI (Return Of Investment) : 총 비용에 대한 연간 평균 이익률
SWOT (Strength, Weakness, Opportunity, Threat)
: 프로젝트의 강점, 약점, 기회요인, 위험 요인을 파악하고 타당성을 이해하는 방법
투자 회수 기간, 순수 현재 가치, 평가표
타당성 분석 : 프로젝트를 공식적으로 인정하기 위한 문서
⇒ SOW(Statement Of Works) : 프로젝트 목표, 예산, 프로젝트 일정, 리스크, 대안, 평가등이 포함되어야 함
프로젝트 초기 계획 : 목표 설정, 일정 정의, 비용 추정
⇒ 프로젝트 계획은 대상 업무와 문제의 범위를 정하는 일부터 시작
⇒ 범위 관리 (WBS 작성) → 시간 관리 (일정 수립) → 비용 관리 (예산 수립)
작업분할도(WBS : Work Breakdown Sturcture)
: 개발 팀이 수행하여야 할 작업을 계층적으로 분할 한 것, 프로젝트 스케줄링 작업의 입력
스케줄링
: WBS를 기반으로 일정을 정의하는 일 (⇒ 일정을 정의하면 투입될 인력의 규모와 비용 추정이 가능)
⇒ 스케줄링 작업 순서
: 작업 사이의 의존 관계 파악 → CPM 방법을 이용한 여유 시간 계산 → 소요 자원의 할당
CPM 네트워크
: WBS의 작업 순서, 소요 기간등을 네트워크 형태의 그래프로 표현
임계 경로 : 소요 기간이 가장 긴 경로
(이 경로 상의 어떤 작업이라도 늦춰지면 전체 일정이 늦춰짐)
여유 시간 (Slack Time) : TS = TL(가장 늦게 시작할 수 있는 시간) - TE (가장 빨리 시작할 수 있는 시간)

임계 경로
⇒ S → A → M1 → C → M4 → I → M6 → K → M8 → L → X (55일)
작업 E의 여유 시간
⇒ 임계 경로의 소요 시간인 55일에서
D → M2, B → M2의 임계 경로의 기간 15일, E의 소요 기간 10일을 빼고
M7 → J → X의 소요 기간 15일을 빼 나오는 시간을 계산
간트 차트 : 프로젝트 일정 관리를 위한 바 형태의 도구로 CPM을 다르게 표현
노력과 자원과 기간의 관계
⇒ 노력은 작업이 완료되기 위해 필요한 노동의 양
ex) 3명이 1개월 동안 작업한 노력은 3MM(Man-Month)
⇒ Duration = Effort / Manpower (투입되는 인력 투입의 총합)
LOC (Line Of Code) : 소프트웨어의 총 코드 라인 수를 예측하여 구현 단계에 대한 M/M을 산정
⇒ 노력 M/M = LOC / (1인당 월 평균 생산 코드 라인 수)
ex) 50,000 / 500라인 = 100M/M
⇒ 개발 기간 = (M/M) / 참여 인원
ex) 100(M/M) / 10명 = 10개월
비용 예측 기법
경험이 많은 전문가가 개발 비용을 추정하는 전문가 감정 기법
⇒ 델파이 기법 (전문가 판단 단점 보완)
: 한 명의 조정자가 여러 명의 전문가의 의견을 종합하여 보완
알고리즘식 (수학적 산정) 방법 (상향식)
⇒ COCOMO 초기 모델, COCOMO 2, 기능 점수 방법 (우리나라에서 많이 사용)
A : 프로젝트, 소프트웨어 유형, 상수
Size를 KDSI (1KDSI = 1000 LOC)
M : 프로젝트에 영향을 주는 요소로 노력 보정 지수
ex) 제품/ 컴퓨터/ 개발자/ 소프트웨어 공학 특성

COCOMO-81의 단점
COCOMO 2 프로젝트 진행 단계 별 3가지 모델
응용 합성 모델 추정 과정 (기능 점수 계산)

ex) 프로토 타입은 화면 4개와 보고서 3개로 구성되며 3세대 언어는 포함X
각 화면은 뷰가 1개와 서버 자료 테이블이 1개 포함, 1개의 보고서는 섹션 2개와 서버테이블(0), 2개의 보고서는 섹션 4개와 서버 테이블 4개 포함
⇒ 화면 1,2,3,4 → 단순, 보고서 1 → 단순, 보고서 2,3 → 복잡
⇒ 객체 점수 : 4 x 1 + 1 x 2 + 2 x 8 = 22

ex) 개발환경 중간급, 응용 도메인 개발 경험 거의 X