그 ERP 프로젝트, 실행 7주차에 밀리기 시작했다
Baseline을 잡고 진척을 넣자 SPI 0.84가 먼저 경고했다. S-Curve로 언제부터 밀렸는지, Top Delay로 어느 작업이 원인인지까지 확인한 실행 기록.
지난 케이스 스터디에서 그 ERP 프로젝트에 리스크 등록부를 붙였다. 8건 중 가장 신경 쓰였던 것은 레거시 데이터 품질 불량이다. P3×I5에 Score 15, 완화 담당까지 정해 두고도 마감이 지나 Overdue 딱지가 붙어 있던 리스크다. 경고는 등록부에 적혀 있었다.
그리고 계획이 실행에 들어갔다. 실행이 시작되면 PM의 질문은 하나로 모인다. "우리 지금 어디쯤이지? 계획대로 가고 있나?" 주간회의에서 이 질문에 "느낌상 조금 밀린 것 같습니다"라고 답하면 다음 질문을 막을 수 없다. 얼마나? 어디가? 언제부터? 이번 편은 그 질문에 숫자로 답해 보는 실험이다. 광고가 아니라 실험 기록이므로 되는 것과 안 되는 것을 그대로 적는다.
실험 설계: 계획편에서 실행편으로
앞선 3편이 계획 국면(WBS 수립 → 보고서 추출 → 리스크 등록)이었다면 이번 편부터는 실행 국면이다. 그래서 실연 방식을 하나 바꿔야 했다. SPI 같은 지표는 실제 오늘 날짜를 기준으로 계산되기 때문에, 아직 시작하지 않은 일정 위에서는 아무 숫자도 나오지 않는다. 이번 실연은 같은 44노드 구조에서 캡처 시점이 실행 7주차가 되도록 착수일만 다시 맞춘 복제 프로젝트에서 진행했다(화면의 프로젝트 코드가 MCG-26B인 이유다). 몇 주치 진척과 주간 스냅샷 이력도 그 재구성의 일부로 채워 넣었다. 캡처 속 날짜가 앞선 편들과 다른 것은 이 때문이다. 본문은 날짜 대신 주차로 쓴다.
무대는 그대로다. 요약 12개, Work Package 31개, 마일스톤 1개로 44노드, 종속성 17건, 마지막 마일스톤은 "시스템 오픈"이다.
기준선: 움직임을 재려면 움직이지 않는 것이 필요하다
착수 시점에 한 일은 하나다. Baseline 수립. 버튼 하나로 BL-1이 만들어지고 Overview 맨 위에 카드가 앉는다. Scope 44노드, Schedule 종속 17건 동결이다.
동결이라는 말이 핵심이다. 3편에서 "일정이 밀린 게 아니라 기준이 사라진 것"이라고 썼다. 기준 없이 실행에 들어간 프로젝트는 밀려도 밀린 줄 모른다. 비교할 원본이 없기 때문이다. BL-1이 그 원본이다. 이후 계획을 아무리 고쳐도 BL-1은 변하지 않고, 모든 계획 대비 수치는 이 스냅샷을 기준으로 계산된다.
엑셀 계획서에도 "기준 계획" 시트를 만들 수는 있다. 문제는 그 시트를 편집할 수 있다는 점이다. 일정이 밀리기 시작하면 기준 시트를 슬쩍 고쳐 편차를 지우고 싶어지고, 실제로 많은 프로젝트에서 그렇게 기준이 사라진다. 여기서는 구조가 그것을 막는다. 베이스라인은 수립 이후 편집한다는 개념 자체가 없고, 활성 기준선은 프로젝트당 하나로 강제된다. 기준을 바꾸려면 몰래 고치는 것이 아니라 새 기준선을 다시 수립해야 하고, 그 사실은 기록에 남는다.
7주차 아침에 본 0.84
실행 7주차다. Overview를 열면 카드 한 장이 먼저 눈에 걸린다.

SPI 0.84, SV −8%. SPI(Schedule Performance Index)는 계획한 가치 대비 실제로 번 가치의 비율이다. 1.0이면 계획대로이고 밑돌면 지연이다. 4편에서 "80% 완료라는 거짓말"을 이야기하며 EVM의 원리를 다뤘는데, 그 원리가 여기서는 카드 한 장으로 줄어 있다. 이날 기준 계획상 진척(PV)은 47%, 실제 번 진척(EV)은 39%다. 39를 47로 나누면 0.84가 나온다. "느낌상 조금"이 아니라 계획의 84% 속도로 가고 있다가 답이 된다.
중요한 것은 이 숫자를 누가 계산했느냐다. 아무도 계산하지 않았다. 진척률 입력은 말단 Work Package에만 허용된다. "회계 기능 개발 9%", "레거시 데이터 정제 12%" 같은 식이다. 요약 노드와 루트의 진척은 가중치로 자동 집계되어 이날 루트가 39%였고, 같은 가중치 체계로 계획 곡선을 계산해 PV 47%가 나왔다. 두 숫자의 비율이 SPI다. 팀은 자기 작업의 퍼센트만 넣었고 합산·가중·기준선 대비는 전부 화면이 처리했다. 주간보고를 위해 엑셀에서 SUMPRODUCT를 조립하는 시간이 없어졌다.
하나 더 있다. 이 숫자는 보고 주기와 상관없이 살아 있다. 엑셀 기반 EVM은 누군가 시트를 갱신하는 금요일에만 존재하지만, 이 카드는 진척률이 입력되는 순간 다시 계산된다. 지연이 보고일까지 기다려 주지 않는 것처럼 지표도 기다리지 않는다.
숫자 하나로는 "언제부터"에 답할 수 없다. 그것은 곡선이 답한다.

PV 곡선(계획)과 EV 곡선(실적)은 3주차까지 거의 붙어서 간다. 4주차부터 조금씩 벌어지기 시작해, 금요일 스냅샷 기준 SPI가 1.00 → 0.97 → 0.93 → 0.89 → 0.84로 한 주에 3~5%p씩 내려갔다. 어느 한 주에 사고가 난 것이 아니다. 매주 조금씩, 보고서에는 잡히지 않을 만큼씩 밀렸다. S-Curve의 가치는 이 기울기를 보여준다는 데 있다. 오늘의 0.84보다 4주째 한 방향으로 내려가고 있다는 사실이 더 큰 경고다.
빨간 점선의 "오늘" 왼쪽은 기록이고 오른쪽은 계획이다. 오늘 이후의 PV 곡선은 모듈 개발이 겹치는 구간에서 가파르게 올라간다. 지금의 84% 속도를 유지하면 간격이 지금보다 빠르게 벌어진다는 뜻이다. 곡선이 미래를 예언하지는 않지만, 그냥 두면 어느 구간에서 비용을 치르게 되는지는 보여준다.
Top Delay: 원인은 등록부에 예고되어 있었다
얼마나 밀렸는지 봤으니 다음은 어디가 밀렸는지다. Overview의 지연 상위(Top Delay) 카드는 기준선 대비 가장 뒤처진 작업 5개를 줄 세운다.

1위는 마이그레이션 설계로 SPI 0.30, 5위는 마이그레이션 실행·검증으로 0.30이다. 사이에 낀 회계(0.60)·구매(0.65)·인사(0.65) 단위 테스트는 정제되지 않은 데이터를 받아 든 결과다. 목록의 양 끝이 전부 데이터 마이그레이션이다.
이 목록이 "진척률 낮은 순"이 아니라는 점이 중요하다. 진척 0%인 작업은 프로젝트에 널려 있다. 아직 시작할 때가 아니어서 0%인 작업은 지연이 아니다. Top Delay는 기준선상 지금쯤 얼마여야 하는데 실제로 얼마인지, 그 편차에 가중치를 곱해 줄 세운다. 그래서 시작도 하지 않은 통합 테스트는 목록에 없고, 지금 한창이어야 할 마이그레이션이 맨 위에 있다.
지난 편의 그 리스크, 완화하겠다던 마감이 지나 Overdue로 남아 있던 레거시 데이터 품질 불량이 숫자가 되어 돌아왔다. 리스크 등록부가 "터질 수 있다"를 적는 곳이라면, Top Delay는 실제로 터졌다는 것을 기준선 대비 편차로 보여주는 곳이다. 행을 클릭하면 WBS의 해당 노드로 바로 이동한다. 대시보드에서 원인 작업까지 클릭 한 번이다.
조정하고 오버레이로 확인하기
원인 노드 앞에 섰으니 조정할 차례다. 그 자리에서 마이그레이션 검증 작업의 기간을 3일 늘려 잡았고, 들여다보는 김에 계획의 구멍 하나도 보완했다. 통합 테스트 수행과 오픈 사이에 빠져 있던 선행 관계다. 이 조정이 일정 전체에 어떻게 번졌는지는 그 자체로 한 편 분량이라 다다음 편에서 따로 다룬다.
조정이 끝난 간트에서 Baseline 토글을 켜면 현재 막대 아래에 BL-1의 회색 막대가 깔린다.

밀린 5개 구간에 +5d 배지가 붙었고, 시스템 오픈 마일스톤은 기준 위치(속 빈 마름모)와 현재 위치(주황 마름모)가 나란히 보인다. Overview의 베이스라인 카드도 Δ 지연 5, 추가 0, 삭제 0으로 요약을 갱신했다. "원래 계획이 뭐였죠?"라는 질문은 이제 회의에서 나올 수 없다. 화면에 원래 계획이 함께 그려져 있기 때문이다.
아직 안 되는 것
케이스 스터디의 관례대로 못 하는 것도 그대로 적는다.
- 비용축이 없다. 이 EVM은 SPI와 SV까지다. AC(실투입 비용)를 받지 않으니 CPI·EAC 같은 비용 성과는 계산할 수 없다. 일정이 84% 속도라는 것까지만 말해 주고 비용 이야기는 하지 않는다.
- EV는 입력한 진척의 가중 합이다. 팀원이 진척률을 후하게 넣으면 EV도 후해진다. 80% 완료라는 거짓말을 도구가 대신 잡아 주지는 않는다. 정직한 진척 산정 규칙은 여전히 사람의 몫이다.
- Top Delay의 SV 표기가 거칠다. 다섯 행 모두 SV −1로 찍혀 있는데 %p 반올림 표시라 크기 비교는 SPI 열로 해야 한다.
- 이번 실연의 스냅샷 이력은 재구성한 값이다. 몇 주에 걸친 EV 곡선은 날짜를 다시 맞추면서 함께 넣은 값이다(마지막 점은 실제 계산과 일치한다). 실제 운영에서는 일간 배치가 쌓는다.
맺음
기준선과 SPI가 바꾼 것은 지연의 크기가 아니라 지연을 발견하는 시점이다. 기준 없이 갔다면 이 프로젝트의 7주차 회의는 "조금 밀린 것 같은데 다음 주에 정확히 보고드리겠습니다"로 끝났을 것이다. 기준이 있으니 같은 회의가 "계획 대비 84%, 4주째 하락, 원인은 마이그레이션, 오늘 조정했습니다"가 된다.
물론 0.84라는 숫자가 프로젝트를 구해 주지는 않는다. 지표는 처방이 아니라 조기 경보다. 무엇을 줄이고 누구를 붙일지는 여전히 PM의 판단이다. 다만 판단을 하려면 먼저 사실이 있어야 하고, 이번 실험이 보여준 것은 얼마나·언제부터·어디가라는 사실이 입력 몇 번으로 화면 한 장에 나온다는 점이다.
그날 우리는 일정을 고쳤다. 기간을 늘렸고, 이름을 다듬었고, 담당을 지정했고, 잘못 넣은 진척률을 정정했다. 그런데 일주일 뒤 회의에서 누군가 "이 마감일 원래 언제였죠?"라고 물으면 무엇으로 답할 것인가. 그 답이 다음 편이다.