주경로는 서로 의존하는 작업이 이어진 가장 긴 사슬이며, 프로젝트를 끝낼 수 있는 가장 빠른 날짜를 정합니다. 간트 차트 예제를 따라 하며 주경로를 찾는 방법을 알아보세요.
주경로(크리티컬 패스)는 프로젝트에서 서로 의존하는 작업이 이어진 가장 긴 사슬이며, 그 길이가 프로젝트를 끝낼 수 있는 가장 빠른 날짜를 정합니다. 이 사슬에 있는 작업이 하나라도 늦어지면 프로젝트 전체가 같은 만큼 늦어집니다. 이 사슬에 속하지 않은 작업에는 여유 시간(float 또는 slack)이 있습니다. 완료일을 옮기지 않고 늦어져도 되는 시간입니다.
이 가이드에서는 작은 웹사이트 출시를 예로 들어 작업 목록부터 간트 차트까지 단계별로 따라가므로, 모든 숫자를 직접 확인할 수 있습니다.
주경로, 주경로 작업, 여유 시간
- 주경로: 시작부터 끝까지 총 기간이 가장 긴, 서로 의존하는 작업의 사슬입니다. 그 길이가 프로젝트를 끝낼 수 있는 가장 짧은 기간입니다.
- 주경로 작업: 그 사슬에 있는 모든 작업입니다. 여유 시간이 0입니다.
- 여유 시간(float, slack): 프로젝트 완료를 늦추지 않고 작업을 늦출 수 있는 시간입니다.
- 준주경로 작업: 여유 시간이 조금밖에 없는 작업입니다. 조금만 늦어져도 주경로 작업이 될 수 있습니다.
주경로는 바뀔 수 있습니다. 준주경로 작업의 지연, 새 종속성, 새 추정치 때문에 다른 사슬이 가장 길어질 수 있습니다.
주경로는 어떻게 찾나요?
- 작업 나열: 완료하는 데 필요한 작업을 모두 적습니다.
- 기간 추정: 작업마다 걸리는 기간을 작업일 단위로 추정합니다.
- 종속성 추가: 각 작업이 무엇을 기다려야 하는지 정합니다.
- 전진 계산: 시작부터 각 작업의 가장 빠른 시작(ES)과 가장 빠른 종료(EF)를 계산합니다.
- 후진 계산: 완료 시점부터 거꾸로, 완료일을 지키면서 허용되는 각 작업의 가장 늦은 시작(LS)과 가장 늦은 종료(LF)를 계산합니다.
- 여유 시간: 작업마다 LS − ES를 계산합니다. 여유 시간이 0인 작업이 주경로 작업이며, 이 작업들이 모여 주경로를 이룹니다.
아래 예제는 종료-시작(finish-to-start) 링크만 사용합니다. 즉, 작업은 선행 작업이 끝나면 시작합니다. 시작-시작, 종료-종료, 시작-종료 링크와 래그(링크에 더하는 대기 시간)는 계산 방식을 바꾸지만 개념은 바꾸지 않습니다. 종속성 유형 가이드에서 각 유형을 설명합니다.
예제: 작은 웹사이트 출시하기
작은 팀이 동네 빵집의 웹사이트를 출시하려고 합니다. 일곱 가지 작업과 각 작업에 걸리는 작업일 수, 그리고 각 작업이 기다리는 작업은 다음과 같습니다.
| 작업 | 기간 | 선행 작업 |
|---|---|---|
| A · 사이트 기획 | 2일 | 없음 |
| B · 콘텐츠 작성 | 6일 | A |
| C · 페이지 디자인 | 4일 | A |
| D · 페이지 개발 | 5일 | C |
| E · 호스팅 및 도메인 설정 | 2일 | A |
| F · 콘텐츠 반영 및 테스트 | 3일 | B, D, E |
| G · 출시 | 1일 | F |
날짜는 자의 눈금처럼 프로젝트 시작을 0으로 두고 셉니다. 2부터 8까지 진행되는 작업은 2일째가 끝날 때 시작해 8일째가 끝날 때 끝나므로 기간은 6일입니다.
전진 계산: 가장 빠른 시작과 종료
첫 작업부터 마지막 작업까지 차례로 계산합니다. 작업의 가장 빠른 종료는 가장 빠른 시작에 기간을 더한 값입니다. 작업은 선행 작업이 모두 끝나야 시작할 수 있으므로, 가장 빠른 시작은 선행 작업들의 가장 빠른 종료 중 가장 큰 값입니다.
- A는 0부터 2까지 진행됩니다.
- B, C, E는 A만 기다리므로 모두 2에 시작할 수 있습니다. B는 8, C는 6, E는 4에 끝납니다.
- D는 C를 기다리므로 6부터 11까지 진행됩니다.
- F는 B(8), D(11), E(4)를 기다립니다. 이 중 가장 늦게 끝나는 작업을 기다려야 하므로 11부터 14까지 진행됩니다.
- G는 14부터 15까지 진행됩니다.
프로젝트에는 15작업일, 곧 근무일 기준으로 3주가 걸립니다.
후진 계산: 가장 늦은 시작과 종료
이번에는 완료 시점을 15로 고정하고 마지막 작업부터 첫 작업까지 거꾸로 계산합니다. 작업의 가장 늦은 시작은 가장 늦은 종료에서 기간을 뺀 값입니다. 작업은 후속 작업 중 어느 하나라도 시작해야 하기 전에 끝나야 하므로, 가장 늦은 종료는 후속 작업들의 가장 늦은 시작 중 가장 작은 값입니다.
- G는 15까지 끝나야 하므로 늦어도 14에 시작해야 합니다.
- F는 14까지 끝나야 하므로 늦어도 11에 시작해야 합니다.
- B, D, E는 후속 작업이 F 하나뿐이므로 모두 11까지 끝나야 합니다. D는 늦어도 6, B는 5, E는 9에 시작해야 합니다.
- C는 D가 시작해야 하는 6까지 끝나야 하므로 늦어도 2에 시작해야 합니다.
- A는 B(5), C(2), E(9)보다 먼저 와야 합니다. 셋 중 가장 작은 값인 2까지 끝나야 하므로 늦어도 0에 시작해야 합니다.
여유 시간과 주경로
여유 시간은 두 계산 사이의 차이로, 가장 늦은 시작에서 가장 빠른 시작을 뺀 값입니다. 가장 늦은 종료에서 가장 빠른 종료를 빼도 같은 값이 나옵니다.
| 작업 | ES | EF | LS | LF | 여유 | 주경로 |
|---|---|---|---|---|---|---|
| A · 사이트 기획 | 0 | 2 | 0 | 2 | 0 | 예 |
| B · 콘텐츠 작성 | 2 | 8 | 5 | 11 | 3 | 아니요 |
| C · 페이지 디자인 | 2 | 6 | 2 | 6 | 0 | 예 |
| D · 페이지 개발 | 6 | 11 | 6 | 11 | 0 | 예 |
| E · 호스팅 및 도메인 설정 | 2 | 4 | 9 | 11 | 7 | 아니요 |
| F · 콘텐츠 반영 및 테스트 | 11 | 14 | 11 | 14 | 0 | 예 |
| G · 출시 | 14 | 15 | 14 | 15 | 0 | 예 |
여유 시간이 0인 작업들이 주경로를 이룹니다. 바로 A → C → D → F → G입니다. 이 작업들의 기간을 더하면 2 + 4 + 5 + 3 + 1 = 15일로, 프로젝트 기간과 같습니다. 다른 사슬은 더 짧습니다. A → B → F → G는 12일, A → E → F → G는 8일이 걸리며, 3일과 7일의 여유 시간은 바로 여기서 생깁니다.
간트 차트에서 보는 주경로
간트 차트에서 주경로는 시작부터 끝까지 빈틈없이 이어지는 막대의 사슬입니다. 각 주경로 막대는 앞 막대가 끝나는 바로 그 지점에서 시작합니다.
옅은 연장 부분이 길다면 그 작업은 늦어져도 될 여지가 있다는 뜻입니다. 빨간 막대에는 그런 여지가 없습니다. 하루만 늘어나도 그 뒤의 모든 막대와 출시일이 오른쪽으로 밀립니다.
작업이 늦어지면 어떻게 되나요?
주경로 작업이 2일 늦어지는 경우. 페이지 디자인(C)이 4일이 아니라 6일 걸려 8에 끝납니다. 이제 페이지 개발(D)은 8에야 시작해 13에 끝나고, 콘텐츠 반영 및 테스트(F)는 13부터 16까지 진행되며, 출시는 15가 아니라 17에 끝납니다. 프로젝트는 디자인이 늦어진 2일만큼 정확히 밀립니다.
여유 시간이 있는 작업이 그 여유 시간 안에서 늦어지는 경우. 콘텐츠 작성(B)이 6일이 아니라 8일 걸려 10에 끝납니다. 콘텐츠 반영 및 테스트(F)는 여전히 11에 끝나는 페이지 개발을 기다려야 하므로, 다른 작업은 움직이지 않고 출시는 그대로 15에 끝납니다. B는 3일의 여유 시간 중 2일을 써서 1일이 남았습니다.
여유 시간은 완충 장치이지 남는 시간이 아닙니다. 콘텐츠 작성이 4일 늦어졌다면 3일의 여유 시간을 모두 쓰고 출시를 1일 밀어 16에 끝나게 됩니다. 주경로도 바뀌어 A → B → F → G가 가장 긴 사슬이 됩니다.
| 변경 | 출시 완료 시점 | 완료일 변동 |
|---|---|---|
| 없음(위 계획) | 15 | 0일 |
| 페이지 디자인(C)이 2일 더 걸림 | 17 | 2일 |
| 콘텐츠 작성(B)이 2일 더 걸림 | 15 | 0일 |
| 콘텐츠 작성(B)이 4일 더 걸림 | 16 | 1일 |
주경로는 바로 이럴 때 쓰는 도구입니다. 어떤 지연이 완료일을 옮기고 어떤 지연은 계획 안에서 흡수할 수 있는지 알려 줍니다.
총 여유 시간, 자유 여유 시간, 음의 여유 시간
- 총 여유 시간은 프로젝트 완료를 늦추지 않고 작업이 늦어질 수 있는 시간입니다. 위 표에 있는 숫자가 바로 이것입니다.
- 자유 여유 시간은 다음 작업의 가장 빠른 시작을 늦추지 않고 작업이 늦어질 수 있는 시간입니다. 이 예제에서는 두 값이 같습니다. B와 E는 각각 F로만 이어지기 때문입니다. 여유 시간이 있는 작업 여러 개가 같은 사슬에 있으면, 한 작업이 쓴 여유 시간만큼 그 뒤 작업들의 여유 시간이 줄어듭니다.
- 음의 여유 시간은 현재 가정으로는 계획이 요구된 날짜를 맞출 수 없다는 뜻입니다. 쓸 수 있는 시간이 아니라 범위, 순서, 기간 또는 날짜를 바꾸라는 경고입니다.
float와 slack 가이드에서 여유 시간을 읽고 지키는 방법을 더 자세히 다룹니다.
주경로를 사용할 때 흔한 실수
- 누락되었거나 논리에 맞지 않는 종속성. 첫 작업을 제외한 모든 작업에는 선행 작업이, 마지막 작업을 제외한 모든 작업에는 후속 작업이 있어야 합니다. 빈틈이 있으면 실제로 가장 긴 사슬이 가려집니다.
- 요약 작업을 실제 작업처럼 연결하기. 요약 작업 대신 그 안에 있는 작업을 연결하세요.
- 사실은 희망 날짜에 불과한 기간. 계산은 추정치가 정확한 만큼만 정확합니다.
- 달력 무시하기. 주말, 공휴일, 시간제 인력은 실제 날짜를 바꿉니다.
- 사람의 작업 가능량 무시하기. 같은 사람이 두 작업을 동시에 해야 한다면 실제 일정은 계산된 일정보다 길어집니다.
- 주경로를 ‘중요한 작업’으로 여기기. 여유 시간 0은 산술의 결과이고, 우선순위는 비즈니스 판단입니다. 우선순위가 높은 작업에도 여유 시간이 있을 수 있고, 아무도 지켜보지 않는 기술 작업이 주경로에 있을 수도 있습니다.
- 한 번만 계산하기. 작업이 진행되면 남은 기간을 갱신하고 평소 주기에 맞춰 경로를 검토하세요. 몇 달짜리 프로젝트라면 매주, 출시 기간에는 매일 검토합니다.
주경로 기법(CPM)과 PERT 비교
작업마다 기간 하나로 충분히 추정할 수 있고 작업 순서가 주된 문제라면 주경로 기법(CPM)을 사용하세요. 기간의 불확실성을 명시적으로 다뤄야 한다면 PERT 방식의 3점 추정(낙관치, 최빈치, 비관치)을 사용하세요. 많은 팀이 둘을 함께 씁니다. 불확실한 작업에는 3점 추정을 쓰고, 그다음 종속성 네트워크로 경로를 찾습니다.
| 질문 | CPM | PERT 방식 추정 |
|---|---|---|
| 주된 초점 | 서로 의존하는 작업의 순서 | 기간의 불확실성 |
| 기간 입력 | 작업당 추정치 하나 | 낙관치, 최빈치, 비관치 |
| 주된 결과 | 주경로와 준주경로 | 기대 기간과 그 분포 |
| 주된 위험 | 약한 논리에서 나오는 거짓 정밀성 | 추측한 범위에 대한 거짓 확신 |
PERT 차트와 간트 차트 비교 가이드에서 두 도표를 비교합니다.
GanttFather는 주경로를 어떻게 보여 주나요?
GanttFather에서 주경로는 간트 차트 보기와 목록 보기에 있는 토글입니다. 켜면 어떤 작업이 완료일을 정하는지 볼 수 있습니다. 작업은 종료-시작, 시작-시작, 종료-종료, 시작-종료로 연결하고 래그를 더할 수 있으므로, 위 예제나 여러분의 계획을 실제 작업 흐름 그대로 모델링할 수 있습니다.
GanttFather에는 기준선(baseline) 기능이 없으므로 현재 계획을 저장해 둔 원래 계획과 비교하지 않습니다. 직접 소유한 프로젝트 1개는 무료이며, 편집자 2명과 무료 뷰어를 무제한으로 둘 수 있습니다.
자주 묻는 질문
주경로는 항상 가장 긴 경로인가요?
네. 작업 수가 아니라 시간으로 쟀을 때 그렇습니다. 주경로는 종속성 네트워크를 지나는 사슬 가운데 총 기간이 가장 긴 사슬입니다. 고정된 날짜와 달력이 결과에 영향을 줄 수 있으므로, 계획에서 무엇을 작업 시간으로 계산하는지 확인하세요.
프로젝트에 주경로가 둘 이상 있을 수 있나요?
네. 두 개 이상의 사슬이 가장 긴 기간으로 같을 수 있습니다. 그중 어느 사슬에서든 지연이 생기면 완료일이 밀리므로, 계획이 지연을 흡수할 여지가 줄어듭니다.
주경로는 제한된 자원을 고려하나요?
그 자체로는 고려하지 않습니다. 전통적인 계산은 기간과 종속성만 사용하며, 모든 작업이 선행 작업이 끝나는 즉시 시작할 수 있다고 가정합니다. 같은 사람이나 장비가 같은 시간에 두 작업에 필요하다면 자원 평준화나 다른 작업 가능량 점검이 필요하며, 그 결과 일정이 더 길어질 수 있습니다.
주경로와 크리티컬 체인은 어떻게 다른가요?
1997년 엘리야후 골드랫(Eliyahu Goldratt)이 소개한 크리티컬 체인 기법은 주경로에서 출발하지만 제한된 자원도 고려하며, 개별 작업에 들어 있던 안전 여유를 사슬 끝의 공유 버퍼로 옮깁니다. 주경로 기법은 자원이 확보되어 있다고 가정하며, 여유 시간은 계산 결과가 놓이는 자리에 그대로 둡니다.
주경로 기법은 누가 개발했나요?
1950년대 후반 레밍턴 랜드(Remington Rand)의 제임스 E. 켈리 주니어(James E. Kelley Jr.)와 듀폰(DuPont)의 모건 R. 워커(Morgan R. Walker)가 개발했습니다. PERT는 이와 별도로 미 해군을 위해, 기간이 불확실한 연구 개발 작업의 일정을 잡으려고 개발되었습니다.



