1. 프로젝트 관리 (Management)

1.1. 목적

자원, 인력, 비용, 기술 등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성

1.2. 관리의 어려움

어려움이유
개발 대상이 눈에 보이지 않음개발 진행상황 판단이 어려움
소프트웨어 기술 발전이 매우 빠름다양한 문제 예측 및 대처가 어려움
조직마다 프로세스가 다름SW 개발 역사가 짧아 표준 지식·경험 부족

1.3. 관리 활동의 4가지 요소

계획 → 조직 → 모니터링 → 조정

  • 핵심: 모니터링과 조정
  • 관리 프로세스: 프로젝트 시작 → 프로젝트 계획 → 실행과 모니터링 → 종료

2. 프로젝트 시작

2.1. 가치 평가 방법 (5가지)

방법설명
투자 회수 기간투자된 금액을 회수하는 데 걸리는 시간
ROI (Return of Investment)총비용에 대한 연간 평균 이익률
순수 현재 가치현재 투자금과 미래 수익금을 현재 가치로 비교
평가표금액 이외의 기술, 품질, 인력 등을 점수화
SWOT강점(Strength), 약점(Weakness), 기회(Opportunity), 위험(Threat) 분석

2.2. 프로젝트 리스크

  • 자원 현재/예상 사용량과 가용성, 우선순위 및 중요도
  • 정해진 일정 내 완료 여부
  • 기술적 어려움

2.3. 타당성 분석

프로젝트를 공식적으로 인정하기 위한 문서

  1. SOW (Statement of Works) — 프로젝트가 성취해야 할 일
  2. 비즈니스 목표(가치) — 프로젝트의 결과물
  3. 예산 — 비용과 수익의 요약
  4. 프로젝트 일정 — 대략적인 일정
  5. 프로젝트 리스크 — 위험 요소
  6. 대안 — 구축, 구매 등의 방법
  7. 평가 — 프로젝트

3. 프로젝트 계획과 스케줄링

3.1. 초기 계획의 3단계

  1. 범위 관리: 요구 분석 → 범위 설정 → WBS 작성
  2. 시간 관리: 활동 정리 → 활동 의존 순서 → 리소스 추정 → 소요 시간 추정 → 스케줄 생성
  3. 비용 관리: 비용 추정 → 예산 결정

3.2. 프로젝트 범위 문서 내용

  • 프로젝트 목표 및 요구
  • 가정 및 제약조건
  • 산출물과 점검 일정

3.3. WBS

  • 작업 분할도 (WBS; Work Breakdown Structure)
    • 개발 팀이 프로젝트 목표를 달성하고 결과물을 산출하기 위해 수행해야 할 작업을 계층적으로 분할한 것
    • 프로젝트 스케줄링 작업의 입력으로 사용

3.4. 스케줄링 작업 순서

  1. 작업 사이의 의존 관계 파악
  2. CPM 방법을 이용한 여유 시간 계산
  3. 소요 자원의 할당

3.5. CPM (Critical Path Method) 네트워크

  • WBS의 작업 순서·소요 기간 등을 네트워크 형태의 그래프로 표현

    • 노드: 작업
    • 간선: 선후 의존 관계
  • 임계 경로 (Critical Path)

    • 소요 기간이 가장 긴 경로
    • 이 경로 상의 어떤 작업이라도 늦춰지면 전체 일정 지연
  • 여유 시간 (Slack Time)

    • 여유 시간 = 가장 늦게 시작할 수 있는 시간 - 가능한 빨리 시작할 수 있는 시간
  • 예시

    • 임계 경로 S-A-C-I-K-L-X (55일)
    • 작업 E의 여유 시간 = (55-(10+15)) - 15 = 15일

3.6. 간트 차트 (Gantt Chart)

  • 프로젝트 일정 관리를 위한 바(bar) 형태의 도구

4. 비용 예측 기법

4.1. 노력·자원·기간의 관계

용어설명
노력(Effort)작업 완료에 필요한 노동의 양 (단위: MM/Man-Month)
Manpower투입되는 인력의 총합
DurationEffort / Manpower
  • 예: 16MM / 4M = 4개월 소요
  • 3명이 1개월 작업 = 3MM
  • SW 개발 비용의 대부분 = 인력 비용 → 비용 예측의 핵심 변수: 엔지니어 수 + 작업 기간

4.2. LOC (Line of Code) 기법

노력(M/M) = LOC / (1인당 월 평균 생산 코드 라인 수)
개발 기간 = M/M / 참여 인원
  • 예시
    • LOC=50,000, 참여 10명, 월 평균 500라인
    • → 노력 = 50,000/500 = 100M/M → 기간 = 100/10 = 10개월

4.3. 비용 예측 기법 분류

분류방법특징
하향식전문가 판단(Expert Judgment)경험 기반, 편견 가능성
하향식델파이(Delphi) 기법조정자가 여러 전문가 의견 종합
상향식COCOMO 초기 모델LOC 기반 수학적 공식
상향식COCOMO II단계별 3가지 모델
상향식기능 점수(FP)사용자 관점의 기능 기준

4.4. COCOMO-81

SW 규모(LOC)를 기반으로 SW 종류에 따른 비용 산정에 수학적 공식 사용

    • A: 소프트웨어 유형 상수
    • Size: 라인 수 또는 기능 점수 (단위: KDSI, 1 KDSI = 1,000 LOC)
    • B: 1 ~ 1.5
    • M: 노력 보정 지수 (EAF, Effort Adjustment Factor) = 각 비용 승수값의 곱
프로젝트 유형공식설명
기본형 (Organic)PM = 2.4 × (KDSI)^1.05소규모 팀, 잘 알려진 응용 시스템
반결합형 (Semi-detached)PM = 3.0 × (KDSI)^1.12트랜잭션 처리, OS, DB 관리 시스템
내장형 (Embedded)PM = 3.6 × (KDSI)^1.20HW 포함 실시간 시스템 (미사일, 신호기)
  • 비용 크기 순: 내장형 > 반결합형 > 유기형

  • COCOMO-81 단점

    • B, M 값에 영향을 주는 요소들이 주관적
    • 초기 단계에서 Size(LOC) 예측이 어려움
    • → COCOMO II에서 개선

4.5. COCOMO II

프로젝트 진행 단계별 3가지 모델

모델적용 단계방법
응용 합성 모델
(Application Composition)
초기 계획 ~ 프로토타입화면/보고서/3세대 언어 컴포넌트 수로 응용 점수(Object Point) 계산
초기 설계 모델
(Early Design)
요구분석 완료 후 초기 설계기능점수(FP) 방법으로 예측값 산출
구조 설계 이후 모델
(Post-Architecture)
상세 설계 완료 후 본격 개발FP 기반 LOC 추정으로 소프트웨어 규모 산정
  • 응용 합성 모델 추정 과정
    1. 화면, 보고서, 3세대 언어 컴포넌트 숫자 파악
    2. 화면과 보고서의 복잡도 수준 결정
    3. 복잡도 가중치 결정
    4. 객체 점수(Object Point) 계산 = 개수 × 가중치
    5. 재사용률을 반영해 NOP(New Object Point) 계산
    6. 객체 점수 생산성(PROD) 결정
    7. 최종 노력 계산

4.6. 기능 점수

  • 기능 점수 (Function Points, FP)
    • 사용자 관점에서 소프트웨어 기능을 기준으로 측정하는 정량적 산정 방식
FP = GFP × PCA
총 라인 수 = FP × 원하는 언어의 1점 당 LOC
개발 노력 = 총 라인 수 / 생산성(LOC/MM)

(1) 언어별 기능 점수 1점 당 LOC

언어LOC
어셈블리324
C150
Pascal91
Ada71
APL32

(2) 5가지 기능 유형

기능유형설명
데이터 기능내부 논리 파일 (ILF)사용자 등록/수정/삭제/조회를 위한 데이터 집합 (예: DB 테이블)
데이터 기능외부 인터페이스 파일 (EIF)타 시스템에서 유지되는 참조 파일 (예: 연동 테이블)
트랜잭션 기능외부 입력 (EI)DB에 데이터 등록/수정/삭제 (예: 등록, 수정, 삭제 화면)
트랜잭션 기능외부 출력 (EO)계산 로직을 거쳐 출력 (예: 통계 리포트, 그래프)
트랜잭션 기능외부 조회 (EQ)로직 없이 DB 데이터를 그대로 표시 (예: 목록 조회)

(3) GFP (총 기능 점수) 계산

GFP = Σ (Count_i × Complexity_i)    [i = 1 ~ 5]
  • 각 기능 분야의 복잡도: 단순(낮음) / 중간(보통) / 복잡(높음)

(4) PCA (처리 복잡도 보정계수)

PCA = 0.65 + 0.01 × Σ PC    [PC: 14개 특성 각각 0~5점]
  • 14가지 처리 복잡도 특성 (일부)
    • 신뢰도 높은 백업과 복구 요구 여부
    • 분산 처리 기능 여부
    • 성능의 중요성
    • 입력, 출력, 파일, 질의의 복잡성
    • 재사용 설계 여부
    • 다중 사이트 설치 여부
    • 변경과 사용 용이성

(5) 정통법 vs 간이법

구분특징
정통법각 기능의 유형별 복잡도를 직접 판단하여 정확한 FP 산정
간이법복잡도 판단 어려울 때 적용 — 기능 유형별 평균 복잡도 사용
유형간이법 평균 복잡도 가중치
ILF7.5
EIF5.4
EI4.0
EO5.2
EQ3.9

5. 프로젝트 팀

5.1. 팀 역할

  • 프로젝트 관리자, 시스템 운영자, 시스템 분석가, 시스템 개발자, DB 엔지니어, QA 관리자, 기술 지원, 하드웨어 엔지니어, 웹 개발자·디자이너

5.2. 프로젝트 팀 조직 유형

(1) 직능별 조직 (Functional)

  • 서로 다른 부서가 한 프로젝트의 다른 단계에 참여
  • 팀원은 한 부서에 소속, 협력은 부서별로
  • 장점: 인력 효율적 운영, 전문 지식 공유·축적
  • 단점: 수평적 소통이 어려움 → 부서 협력 체계 확립 필요

(2) 프로젝트별 조직 (Project-based)

  • 직능별 개발자들이 프로젝트에 배정
  • 장점: 의사 전달 경로가 짧고 프로젝트 관리 수월
  • 단점: 기술적 불확실성, 전문가 활용이 비효율적

(3) 매트릭스 조직 (Matrix)

  • 직능별 조직 + 프로젝트 조직 혼합
  • 강한 매트릭스: 프로젝트 관리자가 책임, 팀원은 프로젝트에 더 개입
  • 약한 매트릭스: 직능별 책임자가 프로젝트 책임

(4) 애자일 조직 (Agile)

  • 5~9명의 팀이 밀접하게 협력
  • 개인보다 팀이 더 중요
  • 결과와 이슈에 대한 오너십 공유
  • 스크럼 팀: 스크럼 마스터(프로젝트 관리) + 프로덕트 오너(백로그 우선순위 결정) + 개발 팀

6. 실행과 모니터링

6.1. 프로젝트 실행

  • 작업 시작 미팅
  • 작업 결과 수집

6.2. 프로젝트 모니터링

현황(일정, 비용, 진척도)을 파악하고 차이를 분석하여 필요한 조치를 취하기 위함

(1) 어닝 밸류 분석 (Earned Value Analysis)

일정과 비용을 통합하여 모니터링하는 방법

지표의미
PV (Planned Value, 계획 가치)계획서 상에 현 시점까지 소요 예정이었던 예상 비용
EV (Earned Value, 어닝 밸류)현재 실제 달성 내용까지의 계획서 상 예상 비용
AC (Actual Cost, 실제 비용)현재 실제 달성 내용까지 실제 사용한 비용

(2) 번다운 / 번업 차트

차트설명
번다운(Burn Down)애자일 프로젝트에서 남은 작업량을 시각적으로 표현
번업(Burn Up)완료한 작업량을 시각적으로 표현

7. 리스크 관리

  • 리스크 관리의 목적
    • 위험이 발생되었을 때의 영향을 줄이는 것

7.1. 리스크 관리 프로세스

리스크 관리 표준 → 리스크 파악 → 리스크 평가 → 리스크 관리 계획
                         ↓                              ↓
                   리스크 등록    ←→         리스크 모니터링

7.2. 리스크 파악

  • 리스크 파악 방법

    • 회의
    • 문서 분석
    • 리스크 분할 구조, 체크리스트
    • 유추
  • SW 관련 리스크 요소 (Boehm 제시)

    • 인력 부족
    • 비현실적 일정 및 예산
    • 잘못된 기능과 특징 개발
    • 잘못된 인터페이스 개발
    • 과포장
    • 계속적인 요구 변경
    • 외부에 보일만한 컴포넌트의 빈약
    • 실시간 성능의 빈약
    • 녹슨 컴퓨터 분야의 기술

7.3. 리스크 평가 (정성적 방법)

  • 확률을 모를 때 사용
  • 리스크 매트릭스: 리스크 발생 가능성(행) × 경제적/환경적/사회적 결과(열)로 우선순위(L/M/H/E) 결정
  • 우선순위 결정 기준: 확률 × 영향도

7.4. 리스크 관리

  • 리스크 관리 방법
    • 리스크를 피하기 위해 계획을 변경
    • 책임을 다른 기관에 맡김
    • 프로토타이핑
    • 유능한 인재를 등용
    • 3자와 협업

8. 프로젝트 계획서 목차

섹션내용
1. 개요프로젝트 개요, 산출물, 정의·약어
2. 자원 및 일정 예측인력, 비용, 일정
3. 조직 구성 및 인력 배치조직 구성, 직무 기술
4. WBS-
5. 기술관리 방법변경 관리, 위험 관리, 비용·진도 관리, 문제점 해결
6. 표준 및 개발 절차개발 방법론
7. 검토 회의일정, 진행 방법, 후속 조치
8. 개발 환경-
9. 성능 시험-
10. 문서화-
11. 유지보수-
12. 설치·인수-
13. 참고문헌-