Critical Path (주공정)
Critical Path(주공정, 크리티컬 패스)는 프로젝트 완료일을 결정하는 가장 긴 작업 사슬이다. 이 경로 위의 작업이 하루 밀리면 프로젝트 전체가 하루 밀린다.
무엇이 경로를 만드는가
종속성 네트워크의 시작부터 끝까지 이어지는 경로 가운데 소요 시간이 가장 긴 사슬이다. 예를 들어 A(5일) 뒤에 B(3일)와 C(2일)가 병행하고 둘 다 끝나야 D(4일)가 시작된다면, A-B-D는 12일이고 A-C-D는 11일이다. 주공정은 A-B-D이고, 이 경로 위의 작업들은 통상 총 여유(Float)가 0이다. 고정 시작일이나 마감 같은 제약과 충돌하면 여유가 음수로 내려가기도 하는데, 음수 여유는 실행이 늦었다는 실적이 아니라, 지금의 논리와 기간으로는 제약일을 맞출 수 없다는 일정 모델의 경고다.
왜 중요한가
관리의 우선순위를 정해 주기 때문이다. 주공정 밖의 작업을 아무리 단축해도 완료일은 하루도 당겨지지 않는다. 위 예시에서 C를 2일에서 1일로 줄여도 프로젝트는 여전히 12일이다. 완료일을 지키는 싸움과 당기는 싸움 모두 주공정 위에서 벌어진다. 그래서 인력을 보강할 곳, 잔업을 검토할 곳, 매일 상태를 물을 곳을 고를 때 첫 질문은 언제나 "그 작업이 주공정 위에 있는가"다.
흔한 오해
주공정을 한 번 계산해 두는 고정 목록으로 여기는 것이 오해다. 작업 하나가 밀리거나 기간이 바뀌면 주공정 자체가 다른 경로로 옮겨갈 수 있다. 위 예시에서 C가 4일로 늘면 주공정은 A-C-D로 바뀐다. 주공정만 보는 것도 위험하다. 여유가 1~2일뿐인 근접 주공정(near-critical) 경로는 작은 지연 한 번으로 주공정이 된다. 마지막으로 주공정은 "중요한 작업"의 목록이 아니라 "시간 여유가 없는 작업"의 목록이다. 중요하지만 여유가 있는 작업도, 사소하지만 여유가 없는 작업도 있다. 그래서 주공정 관리의 출발점은 재계산이 있을 때마다 경로가 어디로 움직였는지 확인하는 습관이다.
wbsgantt는 CPM 재계산 때마다 총 여유가 0 이하인 작업을 주공정으로 갱신해 간트에서 강조 표시합니다.