핵심 인사이트
- 본질: CPM (Critical Path Method, 주공정법)은 프로젝트 네트워크에서 슬랙(Slack)이 0인 활동들로 이루어진 최장 경로를 찾아, 납기를 결정하는 병목 경로를 식별하는 일정 분석 기법이다.
- 가치: 주공정(Critical Path)에 있는 활동이 1일 지연되면 프로젝트 전체가 1일 지연된다—자원 집중의 우선순위를 객관적으로 결정한다.
- 판단 포인트: CPM 계산의 핵심은 전진 계산(Forward Pass)으로 EF를 구하고, 후진 계산(Backward Pass)으로 LS를 구해 슬랙(LS-ES)=0인 경로를 찾는 것이다.
Ⅰ. 개요 및 필요성
CPM (Critical Path Method, 주공정법)은 1950년대 듀폰(DuPont)과 레밍턴 랜드(Remington Rand)가 공장 유지보수 일정 최적화를 위해 개발한 결정론적 일정 분석 기법이다. 각 활동의 기간이 확정적(Deterministic)으로 알려져 있을 때 사용하며, 프로젝트의 최단 완료 시간과 **주공정(Critical Path)**을 계산한다.
CPM이 중요한 이유는 "어느 활동이 지연되면 납기가 밀리는가"를 사전에 알 수 있기 때문이다. 모든 활동이 동등하게 중요한 것이 아니라, 주공정 위의 활동만이 프로젝트 완료일에 직접 영향을 미친다. 비주공정 활동에는 여유 시간(Slack/Float)이 있어 일정 내 유연성이 존재한다.
실무에서 CPM은 간트 차트(Gantt Chart)와 함께 사용된다. CPM이 논리적 의존성과 주공정을 분석하면, 간트 차트는 이를 시간 축에 시각화한다. CPM 분석 결과는 자원 평준화(Resource Leveling), 일정 압축(Schedule Compression) 의사결정의 기반이 된다.
📢 섹션 요약 비유: CPM은 출근 경로 최적화 앱과 같다. 여러 경로 중 가장 오래 걸리는 경로(주공정)가 출근 시간을 결정하며, 지름길 하나가 막히면(주공정 지연) 전체 도착 시간이 늦어진다.
Ⅱ. 아키텍처 및 핵심 원리
핵심 계산 개념
| 약어 | 영문 | 의미 | 계산 방법 |
|---|---|---|---|
| ES | Early Start | 가장 빠른 시작 가능 시각 | 전진 계산: max(선행 EF) |
| EF | Early Finish | 가장 빠른 완료 가능 시각 | ES + 기간 |
| LS | Late Start | 납기 내 가장 늦은 시작 허용 시각 | LF - 기간 |
| LF | Late Finish | 납기 내 가장 늦은 완료 허용 시각 | 후진 계산: min(후속 LS) |
| Slack (TF) | Total Float | 프로젝트 납기를 지연시키지 않는 범위 내 허용 지연 | LS - ES (또는 LF - EF) |
| FF | Free Float | 직후 후속 활동의 ES를 지연시키지 않는 허용 지연 | 후속 ES - EF |
CPM 계산 예시
프로젝트 네트워크:
A(3일) ──┬── C(4일) ──┬── E(2일)
│ │
B(5일) ──┴── D(2일) ──┘
전진 계산 (Forward Pass):
A: ES=0, EF=3
B: ES=0, EF=5
C: ES=max(EF_A, EF_B)=5, EF=9
D: ES=max(EF_A, EF_B)=5, EF=7
E: ES=max(EF_C, EF_D)=9, EF=11 ← 프로젝트 완료일
후진 계산 (Backward Pass, 프로젝트 완료일=11):
E: LF=11, LS=9
C: LF=min(LS_E)=9, LS=5
D: LF=min(LS_E)=9, LS=7
B: LF=min(LS_C, LS_D)=5, LS=0
A: LF=min(LS_C, LS_D)=5, LS=2
슬랙 계산:
A: Slack = LS-ES = 2-0 = 2일 ← 비주공정
B: Slack = LS-ES = 0-0 = 0일 ← 주공정 ★
C: Slack = LS-ES = 5-5 = 0일 ← 주공정 ★
D: Slack = LS-ES = 7-5 = 2일 ← 비주공정
E: Slack = LS-ES = 9-9 = 0일 ← 주공정 ★
주공정: B → C → E (0+5+4+2 = 11일)
AOA vs AON 표현
┌──────────────────────────────────────────────────────────────┐
│ AOA (Activity-On-Arrow): 화살표=활동, 원=이벤트 │
│ │
│ [1]──A──▶[2]──C──▶[4]──E──▶[6] │
│ │ ▲ │
│ └──B──▶[3]──D──────┘ │
│ │
│ AON (Activity-On-Node): 사각형=활동, 화살표=의존성 (권장) │
│ │
│ [A]──▶[C]──▶[E] │
│ ▲ │
│ [B]──▶[D] │
└──────────────────────────────────────────────────────────────┘
PMBOK 6판은 AON (Activity-On-Node) 방식을 권장한다. AON은 더미 활동(Dummy Activity)이 필요 없어 복잡한 네트워크에서 이해하기 쉽다.
일정 압축 기법
┌───────────────────────────────────────────────────────────────┐
│ 일정 압축 기법 비교 │
├────────────────────┬──────────────────────────────────────────┤
│ Fast Tracking │ 순서상 직렬 활동을 병렬로 진행 │
│ (병렬 진행) │ → 비용 증가 없음, 재작업 리스크 증가 │
├────────────────────┼──────────────────────────────────────────┤
│ Crashing │ 주공정 활동에 자원(인력·장비)을 추가 │
│ (자원 투입) │ 투입/편익 분석으로 최적 자원 결정 │
│ │ → 비용 증가, 재작업 리스크 낮음 │
└────────────────────┴──────────────────────────────────────────┘
📢 섹션 요약 비유: CPM의 전진/후진 계산은 퇴근 시간표 만들기와 같다. "이 일이 가장 빨리 끝날 때(전진)"와 "납기를 맞추려면 늦어도 언제까지 시작해야 하나(후진)"를 계산해서, 여유가 전혀 없는 활동(주공정)을 찾아낸다.
Ⅲ. 비교 및 연결
Total Float vs Free Float
| 구분 | Total Float (총 여유) | Free Float (자유 여유) |
|---|---|---|
| 정의 | 프로젝트 완료일 지연 없이 가능한 최대 지연 | 후속 활동의 ES 지연 없이 가능한 최대 지연 |
| 계산 | LS - ES (또는 LF - EF) | 후속 ES - EF |
| 특징 | 경로 내 다른 활동과 공유 | 해당 활동 단독으로 보유 |
| 주공정 | TF = 0 | FF ≤ TF |
CPM vs PERT 비교
| 구분 | CPM | PERT |
|---|---|---|
| 기간 추정 | 결정론적 (1개 값) | 확률론적 (3개 값: 낙관/최빈/비관) |
| 개발 배경 | 공장 유지보수 (DuPont, 1957) | 미 해군 폴라리스 미사일 (1958) |
| 주요 용도 | 반복 가능한 프로젝트 | 불확실성 높은 R&D/신규 프로젝트 |
| 비용 분석 | 포함 (시간-비용 상충 분석) | 미포함 |
| 결과 | 확정적 주공정 | 확률적 완료일 |
의존성 유형 (PDM, Precedence Diagramming Method)
| 유형 | 의미 | 예시 |
|---|---|---|
| FS (Finish-to-Start) | 선행 완료 후 후속 시작 | 설계 완료 후 개발 시작 |
| SS (Start-to-Start) | 선행 시작 후 후속 시작 | 코딩 시작 후 단위 테스트 시작 |
| FF (Finish-to-Finish) | 선행 완료 후 후속 완료 | 개발 완료 후 테스트 완료 |
| SF (Start-to-Finish) | 선행 시작 후 후속 완료 | 가장 드문 유형 |
📢 섹션 요약 비유: CPM과 PERT의 차이는 고속도로 내비게이션 vs 날씨 예보의 차이다. CPM은 "막힘 없으면 1시간"이라고 확정적으로 말하고, PERT는 "80% 확률로 1~1.5시간"이라고 범위와 확률로 말한다.
Ⅳ. 실무 적용 및 기술사 판단
기술사 계산 문제 접근법
단계 1: 네트워크에서 모든 경로 열거 단계 2: 전진 계산(Forward Pass)으로 각 활동의 ES, EF 계산 단계 3: 후진 계산(Backward Pass)으로 각 활동의 LS, LF 계산 (최종 LF = 프로젝트 EF) 단계 4: Slack = LS - ES 계산, Slack=0인 활동이 주공정 구성원
시험 문제 유형:
1. "다음 네트워크의 주공정을 구하시오" → 위 4단계 적용
2. "주공정 길이(프로젝트 완료일)은?" → 전진 계산만으로 가능
3. "활동 X의 여유시간은?" → Slack = LS - ES
4. "A를 3일 단축하면 납기가 줄어드는가?" → A가 주공정에 있는지 확인
5. "Fast Tracking vs Crashing 언제 사용?" → 비용 vs 리스크 트레이드오프
실무 Crashing 분석 예시
주공정: B(5일) → C(4일) → E(2일) = 11일
목표: 9일로 단축 (2일 단축 필요)
활동별 단축 비용:
B: 1일 단축 시 추가 비용 100만원
C: 1일 단축 시 추가 비용 80만원
E: 1일 단축 시 추가 비용 150만원
Crashing 전략 (주공정에서 비용 효율 순):
1차: C를 1일 단축 (80만원) → 총 10일
2차: C를 추가 1일 단축 (80만원) → 총 9일
총 추가 비용: 160만원 (B나 E 선택보다 경제적)
📢 섹션 요약 비유: Crashing 분석은 배달 음식 빠른 배달 옵션 같다. 추가 요금을 내면 더 빨리 오는데, 가장 저렴한 빠른 배달(비용 효율이 좋은 활동 단축)부터 선택하는 것이 합리적이다.
Ⅴ. 기대효과 및 결론
CPM을 올바르게 적용하면:
- 납기 예측 정확도 향상: 논리적 의존성을 기반으로 최단 완료일을 객관적으로 산출한다.
- 자원 집중 우선순위: 주공정 활동에 우선적으로 자원을 배분해 리스크를 최소화한다.
- 일정 압축 근거: Crashing 비용-편익 분석으로 무분별한 야근·자원 투입을 방지한다.
- 이해관계자 소통: 간트 차트와 결합해 프로젝트 일정을 시각적으로 명확히 전달한다.
CPM의 한계는 각 활동의 기간이 확정적이라고 가정한다는 것이다. 불확실성이 높은 R&D 프로젝트나 초기 개발 단계에서는 PERT의 3점 추정이 더 적합하다.
📢 섹션 요약 비유: CPM 없이 프로젝트를 관리하는 것은 지도 없이 등산하는 것과 같다. 어느 길이 가장 힘든지(주공정) 모르면, 쉬운 곳에 에너지를 낭비하다가 막판 가파른 구간(주공정 병목)에서 탈진하게 된다.
📌 관련 개념 맵
| 개념 | 설명 | 연관 키워드 |
|---|---|---|
| CPM (Critical Path Method) | 주공정법, 결정론적 일정 분석 | PERT, 슬랙 |
| Critical Path (주공정) | Slack=0인 최장 경로 | 납기 결정 |
| Slack / Float (여유) | 지연 허용 범위 | Total Float, Free Float |
| ES/EF (Early Start/Finish) | 전진 계산 결과 | Forward Pass |
| LS/LF (Late Start/Finish) | 후진 계산 결과 | Backward Pass |
| Fast Tracking (병렬 진행) | 직렬 활동을 병렬로 전환 | 일정 압축 |
| Crashing (자원 투입) | 주공정에 자원 추가 | 비용-편익 분석 |
| PDM (Precedence Diagramming Method) | AON 방식 네트워크 | FS, SS, FF, SF |
👶 어린이를 위한 3줄 비유 설명
- CPM은 학교 운동회 릴레이 경주 계획표예요 — 가장 느린 구간(주공정)이 전체 기록을 결정해요.
- 슬랙(여유)은 릴레이에서 조금 늦어도 괜찮은 구간이에요 — 슬랙이 0이면 단 1초도 늦으면 안 돼요!
- Crashing은 느린 구간 선수에게 특별 훈련을 시키는 것이고, Fast Tracking은 두 구간을 동시에 달리게 하는 것인데, 둘 다 위험 부담이 있어요.