주공정법 (Critical Path Method)

공학
한 줄 정의: 프로젝트를 구성하는 여러 작업들 중, 지연되면 전체 완료 시점이 그대로 늦어지는 "가장 긴 작업 경로"를 찾아 일정을 관리하는 기법입니다.

쉽게 풀면

집을 짓는다고 생각해봅시다. 기초공사, 벽체 세우기, 배관 설치, 도색, 조경 작업 등 여러 일이 있는데, 일부는 동시에 진행할 수 있고 일부는 앞 작업이 끝나야만 시작할 수 있습니다. 이때 "다른 작업이 아무리 빨리 끝나도, 이 작업들의 순서(경로)가 끝나지 않으면 전체 공사가 끝나지 않는" 가장 긴 흐름이 존재하는데, 이것이 바로 주공정(critical path)입니다. 예를 들어 조경 작업은 하루 늦어져도 전체 완공일에 영향이 없을 수 있지만(여유 시간이 있음), 기초공사가 하루 늦어지면 그 뒤 모든 작업이 함께 밀려 전체 완공일도 하루 늦어집니다. CPM은 이렇게 "지연이 곧 전체 지연으로 이어지는" 작업들을 찾아내 우선적으로 관리하도록 도와줍니다.

왜 중요한가

주공정법은 프로젝트 지연의 원인을 명확히 짚어내고 자원을 어디에 집중해야 하는지를 정량적으로 보여주기 때문에 건설공학, 산업공학, 소프트웨어 프로젝트 관리 등 일정이 핵심인 분야에서 널리 다뤄집니다. 특히 대규모 사업일수록 지연 비용이 커지므로 CPM 기반 분석은 공기 단축 전략이나 위험 관리 계획을 세우는 실무 연구와 직결됩니다. 또한 PERT 같은 확률적 일정 관리 기법과 함께 프로젝트 관리 이론의 기초로 다뤄지는 경우가 많습니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 CPM 기반 일정 분석을 통해 전체 공기(工期)의 68%를 차지하는 주공정 작업을 식별하고, 이를 단축하기 위한 자원 재배분 전략을 제시하였다."

이 문장은 프로젝트 전체 일정에서 병목이 되는 핵심 작업들을 CPM으로 찾아내고, 그 부분에 인력과 장비를 집중시켜 공사 기간을 줄이는 전략을 다룬 연구임을 보여줍니다. CPM은 건설공학, 산업공학, 프로젝트 관리 분야 논문에서 일정 최적화와 자원 배분 문제에 자주 등장합니다.

"소프트웨어 개발 프로젝트의 작업 분해 구조(WBS)에 CPM을 적용하여 테스트 단계가 새로운 주공정으로 부상하는 시점을 파악하고, 이에 맞춘 애자일 일정 조정 방안을 논의하였다."

소프트웨어 공학 연구에서는 개발 단계가 진행되며 주공정이 바뀌는 현상을 추적해 일정 관리에 반영하는 데 CPM이 쓰인다.

"제조 공정 재배치 시뮬레이션에서 CPM 분석 결과 병목 공정이 조립 라인에서 검사 라인으로 이동하였음을 확인하였다."

산업공학 연구에서는 생산 공정 전체를 대상으로 병목이 어디로 옮겨가는지를 CPM으로 추적하는 데 활용된다.

조금 더 깊게 보면

CPM 분석에서는 각 작업의 가장 이른 시작·종료 시점과 가장 늦은 시작·종료 시점을 계산해 그 차이인 '여유 시간(float, slack)'을 구하는데, 여유 시간이 0인 작업들이 이어져 주공정을 이룹니다. 실제 현장에서는 작업 기간의 불확실성을 반영하기 위해 PERT(Program Evaluation and Review Technique)와 함께 쓰이기도 하며, 인력·장비 같은 자원 제약까지 고려하는 자원 제약 일정 관리(resource-constrained scheduling)로 확장되기도 합니다.

주의할 점

주공정에 속하지 않은 작업이라도 무한정 늦춰도 된다는 뜻은 아닙니다. 각 작업에는 "여유 시간(float)"이 정해져 있으며, 그 한도를 넘기면 그 작업도 새로운 주공정의 일부가 될 수 있습니다. 또한 CPM은 자원 제약(인력·장비의 한계)을 기본적으로 고려하지 않으므로, 실제 현장에서는 가치공학이나 자원 평준화 기법과 함께 사용하는 경우가 많습니다.

관련 용어