핵심은 복잡한 소프트웨어 도입이 아니었습니다. 회사는 phase code를 견적서와 현장 집계의 공통 언어로 만들고, change-order tracking을 문자와 이메일 수준이 아니라 공식 원가 흐름에 연결했으며, 매주 budget-vs-actual review를 통해 문제를 월말이 아니라 그 주 안에 잡았습니다. 그 결과 프로젝트 매니저는 어디서 마진이 새는지 더 빨리 알 수 있었고, 현장 팀은 승인되지 않은 추가 작업을 줄일 수 있었습니다.
회사 배경과 초기 문제
이 회사는 연간 약 110건의 주거 리모델링 프로젝트를 수행하는 중형 업체였습니다. 공사 규모는 2만 달러대 욕실 개조부터 20만 달러가 넘는 주방 및 1층 전체 리모델링까지 다양했습니다. 영업과 견적은 비교적 강했지만, 원가 관리 방식은 성장 속도를 따라가지 못했습니다. 견적서는 상세했으나 실제 원가 집계는 철거, 목공, 전기, 배관 같은 큰 묶음 수준에 머물렀고, 그마저도 현장 인건비, 발주 잔액, 하도급 비용이 서로 다른 시점에 올라왔습니다.
문제는 예산이 초과된 뒤에야 이유를 설명할 수 있었다는 점입니다. 프로젝트가 끝나면 모두가 왜 손익이 나빠졌는지 이야기할 수 있었지만, 공사 중에는 누구도 정확히 말하지 못했습니다. 주방 공사에서 캐비닛 설치가 늦어졌는지, 철거 단계에서 예상보다 폐기물 처리비가 늘었는지, 고객 요청으로 전기 범위가 늘어났는지, 수치는 월말 이후에야 정리됐습니다.
| 항목 | 개선 전 상황 | 현장 영향 |
|---|---|---|
| 예산 초과율 | 프로젝트 평균 18% | 마진 예측이 불안정하고 견적 신뢰도 하락 |
| 변경오더 처리 | 문자, 이메일, 구두 승인 혼재 | 추가 공사 후 청구 누락 발생 |
| 원가 리뷰 주기 | 월말 또는 프로젝트 종료 후 | 문제 발견 시점이 너무 늦음 |
| 코드 체계 | 광범위한 비용 항목만 존재 | 어느 공정에서 이탈했는지 파악 어려움 |
예산 초과의 실제 원인
경영진은 처음에 현장 생산성이 낮아졌다고 생각했습니다. 그러나 8주간의 프로젝트 데이터를 다시 보면 원인은 세 가지로 압축됐습니다. 첫째, 견적의 세부 항목과 실제 원가 입력 항목이 연결되지 않았습니다. 둘째, 고객 요청으로 발생한 범위 변경이 제때 금액화되지 않았습니다. 셋째, 프로젝트 매니저가 매주 예산 대비 실적을 보지 않아 누적 손실이 조용히 커졌습니다.
- 철거와 폐기물 처리비가 자주 초과됐지만 별도 경고 없이 다음 주로 넘어갔습니다.
- 전기, 배관, 타일 같은 공종 추가 작업이 승인 전 선시공되는 일이 많았습니다.
- 발주 금액과 실제 투입 인건비가 같은 공정 코드에 모이지 않아 비교가 불가능했습니다.
- 현장팀은 일한 만큼 기록했지만, 본사는 그 기록을 견적 구조와 연결하지 못했습니다.
즉, 이 회사의 문제는 더 열심히 일하지 않아서가 아니라, 같은 프로젝트를 서로 다른 언어로 관리하고 있었다는 데 있었습니다. 견적팀의 언어, 현장팀의 언어, 회계팀의 언어가 달랐고, 그 틈에서 예산 초과가 숨어버렸습니다.
해결책 1: Phase Code를 공정별 원가 언어로 통일
첫 번째 조치는 모든 견적 항목을 phase code에 매핑하는 일이었습니다. 회사는 주거 리모델링 프로젝트에서 반복적으로 등장하는 공정을 표준화해 철거, 구조 보강, 배관 러프인, 전기 러프인, 단열, 건식벽체, 도장, 캐비닛, 타일, 바닥, 최종 마감처럼 14개의 핵심 phase code를 만들었습니다. 중요한 점은 이 코드가 회계를 위한 분류가 아니라 현장 의사결정을 위한 분류였다는 것입니다.
이후 견적 단계에서 각 라인아이템은 반드시 하나의 phase code를 갖도록 바뀌었습니다. 현장 인건비 입력, 자재 구매주문서, 하도급 계약, 변경오더도 같은 code를 사용했습니다. 덕분에 프로젝트 매니저는 타일 공정의 원래 예산, 승인된 추가 예산, 현재까지 실제 집행액, 미청구 약정금액을 한 화면에서 볼 수 있게 됐습니다. 비용이 늘었을 때도 문제가 철거인지, 캐비닛인지, 마감인지 즉시 보였습니다.
| 예시 Phase Code | 포함 범위 | 왜 효과적이었나 |
|---|---|---|
| DEM | 철거, 폐기물 반출, 보호작업 | 초기 초과 비용을 가장 먼저 드러냄 |
| PLB-RI | 배관 러프인, 배관 자재, 배관 하도급 | 추가 배관 요청을 즉시 분리 가능 |
| ELE-RI | 전기 러프인, 회로 추가, 조명 위치 변경 | 고객 변경 요청과 기본 범위를 구분 |
| CAB | 캐비닛 제작, 납품, 설치 | 리드타임과 설치비를 함께 추적 |
| TILE | 타일 자재, 방수, 시공 인건비 | 자재 선택 변경이 마진에 미치는 영향 확인 |
해결책 2: Change-Order Tracking을 청구가 아닌 통제 도구로 전환
두 번째 변화는 변경오더를 사후 청구 문서가 아니라 원가 통제 절차로 보는 것이었습니다. 이전에는 고객이 현장에서 선반 하나를 더 원하거나 조명 위치를 바꾸면 팀이 우선 작업하고, 나중에 금액을 맞추려 했습니다. 이 방식은 고객 관계에는 부드러워 보여도, 실제로는 추가 인건비와 자재비가 본예산을 잠식하게 만들었습니다.
개선 후에는 범위 변경이 생기면 같은 날 change-order log에 등록하도록 했습니다. 항목에는 요청 내용, 관련 phase code, 예상 인건비, 자재비, 하도급 영향, 승인 상태, 청구 일정이 포함됐습니다. 500달러 이상이거나 일정에 영향을 주는 변경은 승인 전 착수를 금지했고, 긴급한 경우에도 최소한 보류 상태로 먼저 기록하게 했습니다. 이 단순한 규칙 덕분에 누가 무엇을 요청했고, 그것이 어느 공정 예산을 흔드는지 추적 가능해졌습니다.
경영진이 특히 만족한 부분은 추가 매출을 더 잘 청구했다는 사실보다, 승인되지 않은 작업이 줄었다는 점이었습니다. 예산 초과는 대부분 큰 실수 한 번보다 작은 추가 작업이 쌓여 발생합니다. change-order tracking은 바로 그 작은 누수를 막아줬습니다.
해결책 3: Weekly Budget-vs-Actual Review를 운영 리듬으로 고정
세 번째 조치는 매주 30분 budget-vs-actual review를 의무화한 것입니다. 회의 참석자는 프로젝트 매니저, 생산 책임자, 회계 담당자였고, 활성 프로젝트마다 네 가지 숫자만 봤습니다. 원래 예산, 승인된 변경 예산, 현재 실제원가, 아직 청구되지 않았지만 이미 약속된 비용이었습니다. 이 네 숫자를 phase code 기준으로 보면, 문제가 어디서 시작됐는지가 모호하지 않았습니다.
- 매주 월요일 오전까지 지난주 인건비와 발주 데이터를 모두 입력합니다.
- 프로젝트별 상위 3개 리스크 phase code를 자동으로 표시합니다.
- 초과율 5% 이상 코드는 원인을 한 문장으로 기록합니다.
- 변경오더 필요 항목은 승인 담당자와 제출 기한을 그 자리에서 지정합니다.
- 다음 주까지의 시정조치와 예상 회수 금액을 남깁니다.
이 회의가 효과적이었던 이유는 길어서가 아니라 짧고 반복적이어서였습니다. 이전에는 월말 보고서가 길고 복잡해 현장팀이 방어적으로 반응했습니다. 반면 주간 리뷰는 문제를 처벌용이 아니라 조정용으로 다뤘습니다. DEM 코드가 예산을 넘겼다면 남은 공정에서 회수할 수 있는지, 아니면 즉시 고객 변경으로 전환해야 하는지를 그 주 안에 결정했습니다.
90일 후 나타난 결과
도입 후 90일 동안 회사는 진행 중이거나 완료된 27개 프로젝트를 같은 기준으로 추적했습니다. 수치는 완벽하지 않았지만, 의사결정 속도와 예측 정확도는 눈에 띄게 개선됐습니다. 특히 프로젝트 중반 이후의 손익 변동폭이 줄면서 현금흐름 계획도 더 안정됐습니다.
| 지표 | 개선 전 | 개선 후 90일 |
|---|---|---|
| 평균 예산 초과율 | 18% | 6% |
| 변경오더 청구 누락률 | 12% | 3% |
| 원가 이탈 발견 시점 | 월말 중심 | 주간 리뷰 내 발견 |
| 프로젝트 마진 예측 오차 | 높음 | 프로젝트 종료 전 2주 내 안정화 |
| PM당 수동 정리 시간 | 주 4시간 이상 | 주 1.5시간 수준 |
이 사례에서 배울 수 있는 운영 원칙
이 사례가 보여주는 핵심은 job costing이 회계 부서만의 일이 아니라는 점입니다. 주거 리모델링 회사에서 원가 관리는 견적, 현장, 구매, 청구가 모두 같은 구조를 써야 비로소 작동합니다. 시스템을 바꾸기 전에 먼저 코드 체계와 회의 리듬을 바꾸는 편이 효과적일 때가 많습니다.
- phase code는 너무 세밀하면 입력이 무너지고, 너무 넓으면 통제가 무너집니다. 반복 공정 중심으로 표준화해야 합니다.
- 변경오더는 고객 서명 문서이기 전에 내부 비용 승인 장치여야 합니다.
- budget-vs-actual review는 월말 보고서가 아니라 주간 운영 회의여야 합니다.
- 실제원가만 보지 말고 committed cost까지 함께 봐야 다음 주 리스크가 보입니다.
- 한 번의 대규모 개편보다 10개 내외의 핵심 phase code와 주간 리뷰부터 시작하는 편이 정착률이 높습니다.
결국 이 회사가 예산 초과를 줄인 방법은 더 복잡한 분석이 아니라 더 빠른 가시성이었습니다. 리모델링 회사가 phase codes, change-order tracking, weekly budget-vs-actual review를 같은 흐름으로 연결하면, 예산 초과는 사후 설명의 문제가 아니라 사전 통제의 문제가 됩니다.
FAQ
Phase code는 몇 개부터 시작하는 것이 적절한가요?
대부분의 주거 리모델링 회사는 10개에서 15개 사이의 핵심 공정 코드로 시작하는 것이 현실적입니다. 코드가 너무 많으면 현장 입력이 무너지고, 너무 적으면 어떤 공정이 예산을 흔드는지 보이지 않습니다. 반복적으로 발생하는 공정 중심으로 시작하고, 60일 정도 운영한 뒤 필요한 코드만 추가하는 방식이 가장 안정적입니다.
변경오더 추적을 해도 고객 승인이 늦으면 어떻게 하나요?
핵심은 승인 지연 자체보다 기록 지연을 막는 것입니다. 요청이 생긴 당일에 change-order log에 phase code, 예상 비용, 일정 영향, 책임자를 먼저 등록하면 원가 누락은 줄일 수 있습니다. 긴급 작업이 필요해도 최소한 보류 상태로 먼저 기록하고, 승인 전 착수 기준을 금액과 일정 영향으로 명확히 정해두는 것이 중요합니다.
주간 budget-vs-actual review는 어떤 숫자만 보면 되나요?
원래 예산, 승인된 변경 예산, 현재 실제원가, 그리고 아직 청구되지 않았지만 이미 약속된 committed cost 이 네 가지면 충분합니다. 여기에 phase code별 초과율과 다음 주 시정조치 한 줄만 붙여도, 월말이 되기 전에 대부분의 원가 이탈을 선제적으로 다룰 수 있습니다.