프로젝트 진행율 계산법 — 기간진행율과 실제진행율로 지연 잡아내기
"진행율 몇 %예요?"라고 물으면 대부분 "한 70%요"라고 답합니다. 문제는 그 70%가 무엇을 기준으로 한 숫자인지 아무도 모른다는 것입니다. 시간이 70% 지났다는 뜻인지, 일이 70% 됐다는 뜻인지, 기분이 70%인지요. 이 글에서는 진행율을 어떤 규칙으로 매기고, 상위 작업으로 어떻게 집계하며, 기간진행율과 나란히 놓고 지연을 어떻게 판정하는지를 숫자 예시로 설명합니다. 뒤에서는 획득가치(EVM)의 기초와 주간 보고에 바로 쓸 수 있는 표 양식, 그리고 진행율이 부풀려지는 문제를 막는 방법까지 다룹니다. 계산한 숫자를 보고서 문서로 옮기는 양식과 문장 쓰는 법은 주간 업무 보고서 쓰는 법에서 따로 다룹니다.
진행율을 어떤 규칙으로 매길 것인가
진행율의 첫 번째 문제는 산정 규칙이 사람마다 다르다는 점입니다. 같은 팀 안에서라도 규칙을 하나로 정해 두어야 숫자를 비교할 수 있습니다. 실무에서 쓰는 방식은 크게 네 가지입니다.
| 방식 | 규칙 | 어울리는 작업 | 장단점 |
|---|---|---|---|
| 0/100 | 끝나기 전엔 0%, 끝나면 100% | 1~3일짜리 짧은 작업, 승인·검토 | 가장 객관적. 긴 작업에 쓰면 중간 상태가 안 보임 |
| 50/50 (또는 0/50/100) | 시작하면 50%, 끝나면 100% | 1~2주짜리 작업 | 입력이 쉽고 부풀리기가 안 됨. 정밀도는 낮음 |
| 산출물 기준 | 완료된 산출물 수 ÷ 전체 산출물 수 | 화면 12개 중 7개 완료, 문서 5장 중 3장 완료 | 근거가 분명함. 산출물 크기가 고르지 않으면 왜곡 |
| 공수 가중 | 완료된 세부 작업의 공수 합 ÷ 전체 공수 | 세부 작업 크기가 다른 긴 작업 | 가장 정확하지만 세부 공수 추정이 필요 |
권장하는 조합은 작업 패키지 수준에서는 0/100 또는 0/50/100, 기간이 2주를 넘는 핵심 작업에만 산출물 기준입니다. "이제 한 80% 됐어요"처럼 감으로 매기는 퍼센트는 아래에서 설명할 부풀리기의 원인이 되므로, 세밀한 퍼센트가 필요하면 반드시 산출물 수나 공수 같은 근거를 붙이게 합니다.
상위 작업의 진행율은 하위에서 집계한다
WBS에서 "3. 개발" 같은 상위 항목의 진행율은 직접 입력하지 않고 하위 작업에서 계산합니다. 이때 단순 평균을 쓰면 안 됩니다. 아래 예를 보세요.
| 하위 작업 | 기간(영업일) | 진행율 | 기간 × 진행율 |
|---|---|---|---|
| 3.1 기획 검토 | 5 | 100% | 5.0 |
| 3.2 디자인 적용 | 8 | 50% | 4.0 |
| 3.3 기능 개발 | 12 | 0% | 0.0 |
| 합계 | 25 | — | 9.0 |
단순 평균은 (100 + 50 + 0) ÷ 3 = 50%이지만, 기간 가중 평균은 9.0 ÷ 25 = 36%입니다. 가장 큰 작업(12일)이 아직 시작도 안 했으니 36%가 실제에 가깝습니다. 단순 평균은 짧은 작업을 먼저 끝내 놓으면 진행율이 높아 보이는 착시를 만듭니다.
가중치로는 기간(영업일)이나 공수(인일)를 씁니다. 담당자가 한 명씩이면 둘이 같고, 한 작업에 여러 명이 붙으면 공수가 더 정확합니다. 4단계 계층이라면 이 계산을 맨 아래부터 위로 세 번 반복하면 프로젝트 전체 진행율이 나옵니다. 이 사이트의 WBS·간트차트 도구는 작업 패키지에 진행율을 입력하면 상위 항목이 이 방식으로 자동 집계됩니다.
기간진행율 — 시간은 얼마나 흘렀나
실제진행율만 보면 "36%"가 좋은 건지 나쁜 건지 알 수 없습니다. 비교 대상이 필요한데, 그것이 기간진행율(계획 대비 경과율)입니다.
기간진행율 = 시작일부터 오늘까지 지난 영업일 ÷ 전체 영업일
예를 들어 10영업일짜리 작업이 시작한 지 6영업일이 지났으면 기간진행율은 60%입니다. 오늘이 시작일 전이면 0%, 종료일이 지났으면 100%에서 멈춥니다. 달력일이 아니라 영업일로 세야 합니다. 주말이 낀 주에 달력일로 계산하면 실제로 일한 날보다 시간이 많이 흐른 것처럼 보여 멀쩡한 작업이 지연으로 찍힙니다. 영업일 계산 자체는 영업일 계산법에서 다룹니다.
기간진행율은 사람이 입력하지 않고 오늘 날짜로 자동 계산되기 때문에 부풀려지지 않습니다. 그래서 사람이 입력한 실제진행율의 "기준자" 역할을 합니다.
두 진행율을 나란히 놓고 지연을 판정한다
기간진행율과 실제진행율의 차이가 곧 일정 대비 진척입니다.
- 기간진행율 60%, 실제진행율 60% — 계획대로.
- 기간진행율 60%, 실제진행율 75% — 앞서감. 남는 여유를 다른 작업에 쓸 수 있는지 봅니다.
- 기간진행율 60%, 실제진행율 40% — 시간은 60% 갔는데 일은 40%. 20%p 뒤처짐. 지연 신호.
어느 정도 차이부터 "지연"으로 볼지는 팀이 정해야 합니다. 실제로 잘 작동했던 기준은 다음과 같습니다.
| 상태 | 판정 기준(예) | 대응 |
|---|---|---|
| 완료 | 실제진행율 100% | — |
| 예정 | 시작일이 아직 안 옴(기간진행율 0%) | 선행 작업 지연 여부 확인 |
| 진행중(정상) | 기간진행율 − 실제진행율이 10%p 미만(앞선 경우 포함) | 주간 보고에서 확인만 |
| 주의 | 차이 10%p 이상 20%p 이하 | 담당자와 원인 확인, 남은 기간 재추정 |
| 지연 | 차이 20%p 초과, 또는 종료일 경과 후 미완료 | 일정 재조정 또는 자원 추가, 후행 작업 통보 |
기준 %p는 작업 길이에 따라 다르게 잡는 것이 좋습니다. 3일짜리 작업은 하루만 늦어도 33%p 차이가 나므로 짧은 작업은 %p 대신 "종료일 경과 여부"로만 보고, 2주 이상 작업에만 %p 기준을 적용하는 식입니다. WBS·간트차트 도구의 자동 상태는 이 표보다 단순합니다. 진행율 100%면 완료, 시작일 전이면 예정, 종료일이 지났는데 100% 미만이면 지연, 나머지는 모두 진행중입니다. 즉 도구의 "지연"은 위 표의 마지막 조건(종료일 경과)만 잡아내고, 기간 중에 벌어지는 %p 차이는 "진행중"으로 남습니다. 주의 단계는 진행율과 기간진행율 두 열을 나란히 보고 사람이 판정해야 합니다.
획득가치(EVM) 기초 — 일정과 비용을 한 번에 보기
기간진행율 vs 실제진행율은 일정만 봅니다. 비용까지 같이 보려면 획득가치(Earned Value) 개념이 필요한데, 용어가 낯설 뿐 계산은 간단합니다. 총예산 1,000만 원, 20영업일짜리 프로젝트를 예로 듭니다. 오늘은 10영업일째입니다.
| 지표 | 뜻 | 예시 값 |
|---|---|---|
| PV (계획가치) | 오늘까지 계획상 끝냈어야 할 일의 가치 = 총예산 × 기간진행율 | 1,000만 × 50% = 500만 |
| EV (획득가치) | 실제로 끝낸 일의 가치 = 총예산 × 실제진행율 | 1,000만 × 40% = 400만 |
| AC (실제비용) | 오늘까지 실제로 쓴 돈(인건비 등) | 450만 |
| SPI (일정성과지수) | EV ÷ PV. 1보다 작으면 일정 지연 | 400 ÷ 500 = 0.8 |
| CPI (비용성과지수) | EV ÷ AC. 1보다 작으면 예산 초과 중 | 400 ÷ 450 = 약 0.89 |
해석하면 이렇습니다. 계획대로라면 500만 원어치 일이 끝났어야 하는데 400만 원어치만 끝났고(SPI 0.8, 계획 속도의 80%), 그 400만 원어치를 하는 데 450만 원을 썼습니다(CPI 0.89, 1원 쓸 때 0.89원어치 일). 이 속도가 유지된다면 전체 기간은 20 ÷ 0.8 = 25영업일, 즉 계획보다 5영업일 늘어나고, 최종 비용은 1,000 ÷ 0.89 ≈ 약 1,125만 원이 됩니다. 실제로는 이 두 추정치(일정 예상, 완료 시 예상 비용)가 경영진에게 보고할 때 가장 설득력 있는 숫자입니다.
여기서 PV를 "총예산 × 기간진행율"로 둔 것은 예산이 기간 동안 고르게 쓰인다고 가정한 단순화입니다. 초반에 장비 구매처럼 큰 지출이 몰린 프로젝트라면 월별 지출 계획표에서 오늘까지의 누적 계획액을 PV로 써야 SPI가 왜곡되지 않습니다.
작은 팀이라면 AC를 돈 대신 투입 인일(人日)로 두어도 됩니다. 계획 인일 대비 실제 투입 인일로 CPI를 구하면 "사람을 더 썼는데도 늦는" 상황이 숫자로 드러납니다.
보고할 때 꼭 남길 숫자 — 지난주 대비
진행율을 보고서에 옮길 때 이 글의 관점에서 강조할 것은 하나입니다. 이번 주 숫자만 적지 말고 지난주 대비 변화(%p)를 한 열 더 두는 것입니다. 예를 들어 10/12~10/23(10영업일) 작업이 10/21 기준 기간진행율 80%, 실제 50%라면 차이 −30%p로 지연입니다. 그런데 지난주에 40%였다면 이번 주 +10%p 전진한 것이고, 3주째 50%라면 멈춘 것입니다. 같은 −30%p라도 대응이 완전히 달라집니다. 표의 열 구성, 상태 색 규칙, 이슈 문장 쓰는 법은 주간 업무 보고서 쓰는 법에 예시 보고서 전문과 함께 정리했습니다.
도구의 진행율 숫자가 예상과 다를 때
이 사이트 도구에 진행율을 넣다 보면 손으로 계산한 값과 화면 숫자가 어긋날 때가 있습니다. 대부분 아래 네 가지 계산 방식 때문입니다.
- 오늘도 경과일에 포함됩니다. 기간진행율은 시작일부터 오늘까지를 오늘 포함으로 셉니다. 10영업일짜리 작업은 시작 당일에 이미 10%, 마지막 날에 100%로 표시됩니다. "하루가 끝나야 하루가 지난 것"으로 세는 팀이라면 도구 값이 하루치(이 경우 10%p) 앞서 보인다고 이해하면 됩니다.
- 그룹의 기간진행율도 업무량 가중입니다. 상위 항목의 기간진행율은 달력상 첫날~마지막 날 비율이 아니라, 하위 작업들의 경과 영업일 합 ÷ 업무량 합입니다. 10일짜리 작업 두 개가 같은 기간에 병행되면 그룹 업무량은 20일로 잡힙니다.
- 날짜가 비어 있는 행은 집계에서 빠집니다. 시작일이나 종료일이 없으면 업무량이 0이라, 그 행에 진행율 80%를 넣어도 상위 진행율에 반영되지 않습니다. 상위 숫자가 움직이지 않으면 날짜부터 확인하세요.
- 공휴일은 등록해야 빠집니다. 공휴일 관리에 넣지 않은 공휴일은 평일로 계산되어 기간진행율이 실제보다 빨리 오릅니다. 추석처럼 연휴가 긴 주에는 차이가 커집니다.
진행율 부풀리기 — 왜 생기고 어떻게 막나
진행율 추적을 해 본 사람이라면 "90%에서 몇 주째 안 움직이는 작업"을 겪어 봤을 겁니다. 마지막 10%가 실제로는 절반이었던 것이지요. 부풀리기는 대개 고의가 아니라 남은 일을 과소평가해서 생깁니다.
- 산정 규칙을 0/100이나 0/50/100으로 제한합니다. 감으로 매기는 여지를 없애면 부풀릴 수가 없습니다.
- "몇 %"가 아니라 "며칠 남았나"를 묻습니다. 남은 영업일을 말하게 하면 90%라는 답 대신 "3일 더"라는 답이 나오고, 그 3일이 지나면 다시 물을 수 있습니다.
- 완료 조건을 미리 정합니다. "리뷰 승인까지"가 완료인지 "코드 작성까지"가 완료인지 정해 두지 않으면 담당자는 후자로, 관리자는 전자로 이해합니다.
- 기간진행율을 항상 옆에 둡니다. 자동 계산되는 기준자가 있으면 실제진행율이 기준자보다 계속 높기만 한 작업이 눈에 띄고, 그때 산출물을 확인하면 됩니다.
- 지연 보고를 벌하지 않습니다. 늦었다고 말하면 혼나는 팀에서는 아무도 늦었다고 말하지 않습니다. 빨리 알린 지연은 만회할 수 있다는 점을 팀에 반복해서 말해야 합니다.
자주 묻는 질문
진행율은 얼마나 자주 갱신해야 하나요?
보고 주기와 같게, 보통 주 1회면 충분합니다. 작업 패키지가 1~2주 크기라면 주 1회 갱신으로 상태 변화가 잡힙니다. 매일 갱신하면 갱신 자체가 부담이 되어 형식적으로 변하고, 2주를 넘기면 지연을 발견했을 때 이미 만회할 시간이 없습니다.
기간진행율이 100%인데 작업이 안 끝났으면 어떻게 표시하나요?
종료일이 지났는데 실제진행율이 100%가 아니면 그 작업은 지연 상태입니다. 기간진행율은 100%에서 멈추지만 실제 작업은 계속되므로, 새 종료 예정일을 다시 잡고 그 날짜를 기준으로 뒤따르는 작업의 일정도 함께 조정해야 합니다. 원래 종료일을 지우지 말고 기준선으로 남겨 두면 나중에 얼마나 밀렸는지 설명할 수 있습니다.
SPI가 1보다 작으면 무조건 마감을 못 지키나요?
아닙니다. SPI는 지금까지의 평균 속도이므로, 남은 작업의 속도를 높이거나 범위를 조정하면 만회할 수 있습니다. 다만 SPI 0.8이 3주 연속 이어진다면 속도 회복이 안 되고 있다는 뜻이므로, 그때는 마감을 다시 협의하거나 자원을 추가하는 결정을 미루면 안 됩니다.
작업이 너무 많아서 진행율을 일일이 입력하기 힘듭니다.
가장 아래 작업 패키지에만 입력하고 상위는 자동 집계되게 하세요. 그리고 작업 패키지 수준에서는 0/100 또는 0/50/100처럼 단계형 값만 쓰면 입력 부담이 크게 줄고 부풀리기도 막을 수 있습니다. 세밀한 퍼센트는 기간이 긴 핵심 작업 몇 개에만 적용하면 충분합니다.
정리
진행율은 산정 규칙(0/100, 50/50, 산출물, 공수 가중)을 팀이 하나로 정하는 것에서 시작합니다. 상위 작업은 하위 작업의 기간이나 공수로 가중 평균해 집계하고, 단순 평균은 쓰지 않습니다. 사람이 입력한 실제진행율은 오늘 날짜로 자동 계산되는 기간진행율과 나란히 놓고 봐야 의미가 생기며, 둘의 차이가 팀이 정한 기준(예: 20%p)을 넘거나 종료일이 지났으면 지연으로 판정합니다. 비용까지 보려면 PV·EV·AC로 SPI·CPI를 구하면 되고, 주간 보고에는 지난주 대비 변화와 새 완료 예정일을 반드시 적으세요. 진행율 부풀리기는 규칙을 단순하게 하고 "며칠 남았나"를 묻는 것으로 대부분 막을 수 있습니다.
작업마다 진행율을 입력하면 기간진행율이 오늘 기준으로 자동 계산되고, 업무량 가중 상위 집계와 완료·진행중·지연·예정 상태, 통계 대시보드까지 한 화면에서 볼 수 있습니다.
WBS·간트차트 도구 열기