# CPM 시연용 공개 공정표와 시공이상 사례 검토

검토일: 2026-10-25

후속 반영: 아래는 수집 당시 조사 기록이다. 이후 공개 공정표 3종과 가정 시나리오 7건을 시연판에 연결했고, 실제 사례 2건은 [자료 검토 페이지](../review.html#evidence)에 분리했다. 2026-10-25 사용자 요청으로 서버 시연판에 반영했다. 원본 자료집은 배포하지 않았고, 재배포 조건 확인의 한계는 유지한다. 원자료의 실제 하자·보수기간을 확보했다는 뜻은 아니다.

## 결론

**넣을 자료가 있다.** 실제 프로젝트에서 수집한 공정표, 수치로 검산할 수 있는 학술 예제, 대안별 예상기간이 기록된 국내 오시공 사례를 확보했다. 이전 `public-data-assessment.md`는 국내 포털의 목록과 명세에 한정된 예비 조사였으며, 그때의 '실제 CPM 입력자료 미확인' 판단을 이번 조사로 갱신한다.

우선 적용 대상으로는 **주택 공사 55개 작업 공정표**와 **여천터널 오시공 대안 비교 사례**를 권한다. 공정표는 실제 공개자료를 사용하고, 새로 넣는 시공이상과 A/B 조치기간은 별도 가정으로 표시한다. 여천터널 사건을 이 주택에서 발생한 일처럼 연결하지 않는다.

이번 작업은 로컬 수집·변환·검산까지다. 기존 화면, 기본 데이터와 서버는 변경하지 않았다. 원본은 배포 폴더 밖의 `research-sources/cpm`에 보관했다.

## 1. 파일까지 확인한 자료

| 자료 | 실제로 확인한 범위 | 활용 판단 |
| --- | --- | --- |
| [Ghent OR&S DSLIB v3.4](https://github.com/MarioVanhoucke/DSLIB-Dynamic-Scheduling-Empirical-Project-Library/releases/tag/DSLIB_v3.4) | ZIP 다운로드. 프로젝트별 엑셀 231개를 열어 기준 공정표를 일괄 검사. 건설 분류 163개. 대표 5건의 설명 PDF를 직접 읽음. | 가장 유력한 공정표 공급원. 작업기간·선행관계·기준일정·비용·진도 자료가 있다. 실제성과 모의성과가 섞여 있어 개별 설명 확인이 필요하다. |
| [Cambridge 건설공정 데이터](https://www.repository.cam.ac.uk/items/6cb214a6-f52d-4846-b2de-3a2e2a34d431) | ZIP 내 JSON 전체 파싱: **299개 프로젝트, 444,156개 작업 레코드**. 관계 유형·지연시간·누락 참조 검사, 대표 레코드 확인. | 장기 확장 후보. 주로 철도·상하수도 등 토목/인프라. SS·FF·SF, 달력과 프로젝트 간 참조 처리 필요. |
| [여천터널 판결문](https://www.law.go.kr/LSW/precInfoP.do?precSeq=172555) | 공식 판결문 전문 중 이유 2·3 확인 및 HTML 보관. | 오시공과 복수 조치대안의 예상기간·비용을 제시하는 실제 근거로 적합. 동일 사업의 CPM 공정망은 미확보. |
| [건설공사 사후평가 매뉴얼](https://www.codil.or.kr/filebank/files/202605/helpdesk/BBS_202605070902443280.pdf?atchFileId=FILE_000000000011072&fileSn=0) | 270쪽 PDF 다운로드. 재시공 관련 인쇄면 127~129 확인, 128쪽 화면 검증. | 작성예시에 실린 강동터널 복구 시작·완료일과 조치 순서 활용 가능. 원 현장일보와 조치별 소요일은 없다. |
| [재무기반 공정계획 수치 예제](https://zenodo.org/records/21338522) | DOCX 다운로드. §1.1 작업표와 §1.2 CPM 결과표 추출, 11개 작업의 수치 검산. | **계산 검증용 샘플**로 적합. 실제 시공이상 사례는 아니며 시간 단위는 주(week). |
| [Fully integrated construction planning](https://data.mendeley.com/datasets/nh5yd6jnyh/1) | 8개 첨부 목록, 타워크레인·트럭크레인 일정 XLSX 2개 다운로드. 일일계획·공정계획·주공정 시트의 실제 셀 확인. | 자원/물류를 고려하는 확장 예제. `FS+3` 대기와 자원계획이 있어 현재 CSV로 손실 없이 바로 넣기 어렵다. |
| [Construction Schedule data set](https://data.mendeley.com/datasets/9g5ntn3n4f/1) | 첨부 2쪽 PDF 전체 표 확인. 프로젝트 단위 50행. | 면적·층수·비용·전체기간 자료이며 작업별 선행관계는 없다. 현재 CPM 입력에서는 제외. 기간 단위 설명과 중복 프로젝트 코드도 추가 확인 필요. |
| [발전소 작업패키지 지연 자료](https://zenodo.org/records/21929174) | XLSX 전체 시트 구조 확인: 헤더 포함 143행, 7열. A/B/C의 착수지연·기간증가 열. | 지연 추세 비교의 보조 자료. 작업명·선행관계가 없고 좌표 문자열/숫자가 혼재해 바로 공정망으로 사용할 수 없다. |
| [Everse 건설공정 CSV](https://github.com/EverseDevelopment/Buildings.Historical.Data) | 저장소 목록 71폴더·CSV 1,104개. 대표 `129 trial`의 작업 2,068행, 관계 4,768행, 이슈 124행을 다운로드·확인. | 대형 Primavera 형식 시험에는 유용. 제3자 사이트에서 재변환한 출처여서 개별 현장 실측성은 확인되지 않는다. 이슈는 SPI 알림 123건과 빈 신규항목 1건이고, 보수이력은 아니었다. |
| [CODIL 톨게이트 캐노피 개선](https://www.codil.or.kr/viewDtlCostSave.do?gubun=costsave&pMetaCode=EDGCODA00706) | 공개 HTML의 현황·결론 본문 확인. 보수 24개소와 예산 수치 존재. | 공법개선 배경 자료. '공기 단축'은 있지만 텍스트에서 단축 일수는 확인되지 않아 조치기간 입력에서는 제외. 이미지형 개선표는 이번 판정 근거로 사용하지 않았다. |
| [굴착 장비 현장 비교 연구](https://www.jcar.or.kr/articles/xml/7O44/) | 학회 공개 본문 §2~3 확인. 아파트 현장 인접 구역의 실험 조건과 작업시간 수치 확인. | 과굴착·재작업 감소의 배경 설명에 사용 가능. 특정 장비 실험 결과를 일반적인 과굴착 복구일수로 바꾸어 입력하면 안 된다. |

일괄 파싱은 모든 자료를 사람이 한 행씩 판독했다는 뜻이 아니다. 구조 검사 후 아래 채택 후보의 작업 행과 설명 원문을 직접 확인했다. 웹 전체를 빠짐없이 조사했다는 의미도 아니다.

## 2. 바로 변환 가능한 공정표

DSLIB의 `Baseline Schedule`에는 ID, Name, WBS, Predecessors, Successors, Baseline Start/End, Duration 등이 있다. 상위 WBS 요약행을 제거하고 실제 작업행만 계산한다.

검사 결과는 다음과 같다.

- 231개 엑셀 중 229개에서 예상한 이름의 기준공정표를 읽었다. 나머지 2개는 비건설 분야의 다른 시트 구조로 별도 보류했다. 건설 분류 163개는 모두 구조 검사에 포함됐다.
- 현재 엔진과 같은 **FS·Lag 0·정수 일수**를 만족하고 선행관계가 존재하는 건설 후보는 **43개**다. 인접 관계의 참조 누락과 중복 ID도 검사했다.
- 43개를 기존 `cpm.js`로 계산했고, 전부 계산을 완료했다. 이 가운데 **21개는 제공된 계획 총공기와 계산 총공기가 일치**했다. 18개는 원자료의 프로젝트 진정성 분류가 `G`다.
- 총공기 일치는 모든 작업의 달력 날짜까지 재현했다는 뜻이 아니다. 불일치 22개는 날짜 제약·자원·달력 또는 원자료 구조 차이를 더 확인해야 하므로 즉시 채택 대상에서 제외한다.

| 후보 | 계산 작업 수 | 선행 링크 수 | 원자료 계획 / 재계산 | 판단 |
| --- | ---: | ---: | --- | --- |
| C2016-11 Residential House (1) | **55** | 61 | **241 / 241 근무일** | 1순위. 기초부터 골조·지붕·설비·마감까지 포함. 원표의 요약행 9개를 제외했으며 기간·링크는 변경하지 않았다. |
| C2016-15 Residential House Structural Work | 13 | 15 | 126 / 126 근무일 | 작은 공정망 설명용. 분기·합류와 여유시간 확인에 적합. |
| C2014-06 Apartment Building (2) | 29 | 42 | 547 / 547 근무일 | 건물 전체 공정 대안. 단, 설명 PDF 3쪽의 PD가 574로 적혀 1쪽·엑셀의 547과 충돌하므로 실제 지연 비교에는 보류. |

### 주택 공사의 실제 입력 예

`C2016-11` 원자료의 일부다. 한국어 설명은 의미 이해용 번역이며 CSV에는 원문 명칭을 유지했다.

| 원자료 ID | 원문 작업명 | 의미 | 기간 | 선행 ID |
| --- | --- | --- | ---: | --- |
| 8 | Funderingen | 기초 | 24일 | 1~7 |
| 10 | Gewelven/Structuur | 슬래브·구조 작업 | 3일 | 9 |
| 23 | Afdichting/Groendaken/Plat dak | 방수·녹화지붕·평지붕 | 8일 | 22 |
| 43 | Leidingen ventilatie | 환기 배관 | 3일 | 41 |
| 49 | Leidingen electro | 전기 배선·배관 | 4일 | 45 |

설명 PDF 1쪽은 프로젝트 소유자로부터 받은 자료라고 밝히고, 2쪽 §2.3.2는 실제 착수·기간·비용의 수동 입력을 설명한다. 반면 §2.2 위험분석은 모의실험이다. 실제 자료와 모의실험 결과를 한꺼번에 '현장 실측'으로 부르면 안 된다.

### 변환과 검증

변환 CSV는 [주택 55개 작업](../data/public/C2016-11.csv), [골조 13개 작업](../data/public/C2016-15.csv), [공동주택 29개 작업](../data/public/C2014-06.csv)이다. ID·기간·관계를 원본과 대조한 메타데이터는 [자료 검토 페이지](../review.html#schedules)에서 볼 수 있다.

변환은 요약행 제외, `24d`를 `24`로 표시, `FS` 접미사 제거, 선행 구분자 변경뿐이다. 기간을 늘리거나 새로운 선행관계를 만들지 않았다. 휴일·비용·자원·진도와 시공이상 사건은 포함하지 않는다. 프로그램의 CSV 파서와 CPM 계산을 실제 실행해 3개 모두 확인했다.

## 3. 오차와 조치대안이 함께 있는 국내 사례

### 여천터널 선형 오시공

[대법원 판결 이유 2·3](https://www.law.go.kr/LSW/precInfoP.do?precSeq=172555)에는 기준선 착오, 초기 306mm 편차, 관통부의 횡방향 500mm 어긋남, 라이닝 완료 후 발견, 당초 설계대로 궤도 부설이 불가능했던 상황이 기재돼 있다.

| 당시 검토안 | 예상 소요기간 | 예상 공사비 | 처리 |
| --- | --- | --- | --- |
| 전면 재시공 | 5년 2개월 | 315억원 | 개통 일정 문제로 미채택 |
| 일부 재시공 | 3년 1개월 | 31억 4,000만원 | 개통 일정 문제로 미채택 |
| 일부 보완시공 | 3개월 | 3억 7,300만원 | 안정성·승차감 등 문제 지적으로 해당 안 미채택 |

실제 시행된 것은 별도의 **수정된 보완시공안**이다. 판결문은 비용 19억 6,700만원, 당초 완료 예정일보다 1년 이상 지체된 사실을 적고 있다. 수정안의 작업별 기간은 제시하지 않으므로 앞의 3개월과 혼동하지 않는다.

이 사례는 '가장 빠른 조치를 무조건 선택할 수 없다'는 점까지 보여준다. 사용처는 **오차 발견 → 후속공정 제약 → 대안 비교 → 기술적 부적합안 제외** 설명이다. 월·년을 임의의 근무일로 바꾸거나, 1년 이상 지체를 하나의 보수작업 기간으로 넣지 않는다.

### 강동터널 붕락 복구

[사후평가 매뉴얼 인쇄면 128~129](https://www.codil.or.kr/filebank/files/202605/helpdesk/BBS_202605070902443280.pdf?atchFileId=FILE_000000000011072&fileSn=0#page=136)의 작성예시에 수록된 사례다. 1998-08-25 1차 붕락, 09-01 2차 붕락과 복구 착수, 09-20 완료가 적혀 있다. 막장 폐쇄·숏크리트, 되메우기, 조사, 그라우팅, 강관 및 록볼트 보강, 굴착 재개 순서도 있다.

09-01과 09-20의 차이는 19일이다. 이는 계산한 **달력 경과일**이며 실제 근무일이나 전체 프로젝트 지연은 아니다. 원 현장일지를 확보한 것은 아니므로 '매뉴얼 수록 복구사례'로 표시하고 조치별 일수는 빈칸으로 둔다.

두 사례의 확인된 값과 비어 있는 필드는 [사례 검토 페이지](../review.html#evidence)의 구조화된 사례 데이터에서 확인할 수 있다.

## 4. 대규모 자료와 계산 검증 자료

Cambridge JSON에는 작업 설명, 원래 예상기간, 완료시점 기간, 계획·실제 날짜, 달력, 선행 작업 ID, 관계 유형과 Lag가 실제로 들어 있다. **299개 프로젝트·444,156개 작업 레코드**는 다운로드 파일을 직접 센 값이다. 독립된 공사 299건이나 전부 완료된 실측 작업 444,156건이라는 뜻은 아니다.

전체 관계 중 FS 이외의 유형이 다수이고, `PR_FF1` 같은 예외 표기도 1건 확인됐다. 동일 프로젝트 범위에서 찾을 수 없는 선행 참조가 17,631개라 프로젝트 간 링크인지 누락인지 구분해야 한다. 47,954개 링크에는 0이 아닌 Lag가 있다. **현재 엔진에 무조건 FS로 바꿔 넣는 방식은 부적절**하다. 자료의 CC BY 4.0 조건을 지키며 추후 확장용으로 보관한다. [원 저장소와 이용조건](https://www.repository.cam.ac.uk/items/6cb214a6-f52d-4846-b2de-3a2e2a34d431)

[Zenodo 수치 예제](https://zenodo.org/records/21338522)는 A1~A11의 선행관계와 기간, ES·EF·LS·LF·총여유가 모두 있다. 추출한 값을 엔진에 넣어 **11개 작업 × 6개 값 = 66개 수치가 제공 결과와 일치**함을 확인했다. 총기간은 **16주**이며, 현재 화면의 '일' 표기와 섞지 않는다. 원자료 자체가 illustrative example이라고 명시하므로 실사례가 아닌 검증용 예제로 사용한다. 등록 메타데이터의 이용조건은 CC BY 4.0이다.

## 5. 접근 제한과 채택하지 않은 자료

기존 후보였던 CODIL의 COLD JOINT 누수, 안양천 BOX 누수와 일부 연구/시공계획 PDF는 직접 다운로드 또는 공식 원문보기에서 로그인 요구를 반환했다. 원문이 열린 것처럼 취급하지 않는다. 공사기간 연구 `OTKCRK190460`, 작업계획 시뮬레이터 `OTKCRK230106`, 방수계획 `CIGCEP320227`, 보수기술 `SCGCGT131375`, 방수절차 `OTKCRK500380`도 검색에 본문 일부가 잡히지만 직접 받은 파일은 정상 PDF가 아니어서 채택 근거에서 제외했다.

반면 이번 사후평가 매뉴얼은 실제 PDF를 정상 다운로드해 확인했다. 'CODIL 자료는 모두 막힌다'는 판단도 맞지 않는다.

CALS 월간공정, 서울 One-PMIS 주간작업, 서울시설공단 준공기한 연기 자료는 앞선 명세 검토 대상이며 이번에 인증키를 발급하거나 실데이터를 수집하지 않았다. 작업별 기간·선행관계를 갖춘 이번 공개 공정표보다 우선순위가 낮다.

## 6. 적용안

1. **기본 시연:** 현재 27개 가상 작업은 빠른 설명용으로 유지한다.
2. **공개 공정표 시연:** 주택 공사 55개 작업을 선택지로 추가한다. 원문명과 한국어 설명, 출처·자료 성격을 함께 표시한다.
3. **시공이상 입력:** 특정 작업에 가정한 이상과 A/B 조치를 별도로 입력한다. 공개 공정표에 실제로 발생한 사건이라는 표현은 하지 않는다.
4. **실제 사례 설명:** 여천터널 대안 비교, 강동터널 복구이력을 출처와 함께 제공한다. 현장·단위가 다른 수치를 주택의 조치기간에 자동 대입하지 않는다.
5. **검산 근거:** 11개 작업의 공개 수치 예제로 계산 엔진 결과를 보여준다.

DSLIB는 연구 인용을 요청하지만, 이번에 확인한 배포물에 명시적인 표준 재배포 라이선스는 없었다. 로컬 변환·검증 파일을 바로 공개 서버에 올리지는 않았다. 공개 서비스에 원자료와 CSV를 재배포하기 전에는 제공 조건을 확인한다. Cambridge·Mendeley·검토한 Zenodo 데이터의 CC BY 4.0은 각 데이터에만 적용된다. CODIL 원문·사진에 같은 조건을 적용하지 않는다.

### 남아 있는 경계

자료 확보 문제는 상당 부분 해결됐다. 다만 **같은 현장에서 발생한 시공오차, 복수 조치안의 실제 소요일, 승인 기준공정표, 실제 변경공정표를 모두 연결한 자료**는 아직 없다. 따라서 발표의 정확한 표현은 다음과 같다.

> 공개 실프로젝트 공정표를 이용해 CPM 계산을 검증하고, 실제 오시공 사례를 참고하여 설정한 조치대안의 공정영향을 시뮬레이션하였다.

원본·검사결과는 별도 로컬 조사 자료 폴더에 보관했다. `verification.json`에 CSV 3개와 수치 예제의 검산 결과, `dslib-audit.json`과 `cambridge-audit.json`에 일괄 검사 결과를 기록했다. 기존 엔진 테스트 12개도 모두 통과했다. 위 파일명은 조사 이력이며 원본 자료집 다운로드 링크가 아니다.
