조선소의 Excel은 임시방편이 아니다. 중량, 장비, 탱크, 견적, 생산 진척, 선급 제출자료까지 수많은 판단이 그 안에서 이루어진다. 그래서 “Excel을 없애자”는 구호는 현장을 설득하지 못한다. 먼저 물어야 할 질문은 따로 있다. 왜 한 번 정한 선박 데이터가 여러 파일에 다시 입력되고, 설계가 바뀔 때마다 사람이 그 흔적을 쫓아가야 하는가.
중량 검토 회의의 아침
기본설계 단계의 어느 아침을 떠올려 보자. 장비 공급업체가 냉각수 펌프의 최종 중량을 보내왔다. 초기 견적 때 사용한 값보다 1.8톤 무겁고, 무게중심도 420밀리미터 위로 올라갔다. 3D 모델 담당자는 장비 속성을 수정했다. 그러나 중량 담당자의 Excel에는 이전 값이 남아 있고, 구매 사양서와 생산 부서의 장비 목록에는 서로 다른 개정 번호가 적혀 있다.
회의에서 가장 먼저 해야 할 일은 안정성 계산이 아니다. 어느 값이 공식인지, 어떤 파일이 최신인지, 누가 변경을 전달받았는지 확인하는 일이다. 이 장면은 특별한 사고가 아니라 대규모 선박 프로젝트에서 반복되는 평범한 마찰이다. 선박 하나에 수천 개의 장비와 구획, 배관, 구조 부재가 들어가고 여러 조직이 동시에 움직이기 때문이다.
조선소가 Excel을 신뢰하는 이유
Excel이 살아남은 이유를 “조선업이 보수적이기 때문”이라고만 설명하면 본질을 놓친다. Excel은 선박 설계가 요구하는 변동성과 예외를 매우 빠르게 흡수한다. 선종이 달라지면 계산 항목이 바뀌고, 선주 요구가 추가되며, 조선소와 설계사의 표준도 서로 다르다. 검토자는 수식과 중간값을 직접 열어볼 수 있고, 프로젝트 특성에 맞춰 열과 시트를 즉시 바꿀 수 있다.
중량 추적용 파일에는 단순한 합계보다 훨씬 많은 지식이 들어 있다. SWBS나 조선소 고유 분류체계, 추정 단계별 마진, 공급사 확정 여부, 중량의 신뢰등급, 위치 좌표, 시스템별 책임 조직이 함께 관리된다. 탱크 계산서에는 형상 보정, 충전율, 자유수면 효과, 운항 조건이 반영된다. 견적 파일에는 자재 단가뿐 아니라 생산성, 아웃소싱 방식, 작업장 제약과 경험계수가 숨어 있다.
이런 파일은 오래 사용될수록 더 정교해진다. 누군가 오류를 발견하면 경고식이 추가되고, 선급이나 선주의 요구가 바뀌면 새로운 시트가 붙는다. 말하자면 Excel은 조선소의 실행 가능한 기억이다. 이를 새 시스템으로 바꾸려면 기능만 복제할 것이 아니라 그 기억이 형성된 이유를 이해해야 한다.
문제는 Excel이 아니라 복제와 단절이다
Excel의 강점은 파일 단위로 움직일 때 약점으로 바뀐다. 장비 중량이 장비 목록, 중량 집계, 견적, 구매, 생산 현황 파일에 각각 들어가면 같은 정보가 여러 주인을 갖게 된다. 파일마다 열 이름과 단위가 다르고, 어떤 파일은 장비 태그를 사용하지만 다른 파일은 장비 명칭이나 도면 번호만 사용한다. 동일한 장비인지 확인하는 일부터 사람이 해야 한다.
설계가 한 번만 확정된다면 이 방식도 버틸 수 있다. 그러나 실제 선박 설계는 반복적으로 수정된다. 선주 코멘트, 선급 검토, 공급사 확정, 공간 간섭, 생산성 검토가 이어질 때마다 값과 상태가 움직인다. 변경이 많아질수록 엔지니어는 설계보다 전달과 재입력에 더 많은 시간을 쓴다.
현재의 정보 이동
연결된 정보 이동
셀 주소 뒤에 숨어 있는 설계 지식
기존 계산서를 디지털 자산으로 바꾸려면 수식을 읽는 것만으로 충분하지 않다. 예를 들어 `Summary!H42`가 무엇인지 알아야 한다. 그것이 특정 장비의 현재 중량인지, 공급사 확정값인지, 마진을 포함한 설계 중량인지 구분해야 한다. 단위가 킬로그램인지 톤인지, 좌표 기준이 AP인지 FP인지, 빈 셀은 0을 뜻하는지 미확정을 뜻하는지도 알아야 한다.
따라서 Excel 파싱은 기술적 작업이면서 동시에 업무 지식 모델링 작업이다. Named Range, 수식 의존성, 외부 링크, VBA, 숨김 시트, 보호 셀을 분석해야 하지만 그 위에 의미를 붙이는 과정이 더 중요하다. 셀을 `B17`로 저장하는 대신 `Equipment.P-2101.Weight.Design`처럼 표현해야 다른 시스템과 연결할 수 있다.
좋은 변환은 계산서를 ‘재작성’하지 않는다
원본 Excel을 그대로 보존하고, 입력·계산·출력·검토 셀을 분류한 뒤 객체와 의미를 연결한다. 웹 계산 엔진은 원본 결과와 회귀 비교하며, 차이가 발생하면 어느 수식과 입력에서 갈라졌는지 보여줘야 한다.
보이지 않는 비용은 오류보다 대기시간이다
조선소의 데이터 단절은 단순 입력 오류만 만들지 않는다. 더 큰 비용은 확인을 기다리는 시간이다. 중량 담당자가 공급사 값을 확정해야 복원성 담당자가 계산을 갱신하고, 구매 부서가 사양을 확인해야 생산 부서가 리프팅 계획을 정한다. 값의 출처와 상태가 명확하지 않으면 작업은 멈추거나, 담당자가 보수적으로 가정해 중복 마진을 쌓는다.
이때 조직은 안전을 위해 여유를 두지만, 그 여유가 어디에서 왜 들어갔는지 추적되지 않으면 선박 전체의 중량과 원가가 커질 수 있다. 데이터 연결은 단순히 시간을 줄이는 기술이 아니라 불확실성을 어디에 얼마나 반영했는지 투명하게 만드는 기술이다.
어디서부터 시작해야 하는가
첫 프로젝트에서 선박 전체의 모든 데이터를 통합하려 해서는 안 된다. 업무 가치가 크고 관계가 비교적 분명한 한 가지 흐름을 고르는 편이 낫다. 장비 목록과 중량 관리, 구획 면적·체적과 견적, 탱크 데이터와 용량 계산 같은 영역이 좋은 출발점이 될 수 있다.
예를 들어 장비 중량 흐름을 선택했다면 먼저 실제 Excel 20~50개를 모아 공통 입력과 결과를 분류한다. 다음으로 장비 태그, 중량 종류, 좌표, 상태, 출처를 최소 스키마로 정의한다. 한 프로젝트의 3D 모델이나 장비 목록과 연결해 자동 입력을 시도하고, 기존 계산서와 결과를 비교한다. 마지막으로 변경 한 건을 발생시켜 관련 문서와 계산서를 얼마나 정확히 찾아내는지 검증한다.
Excel을 존중해야 Excel을 넘어설 수 있다
조선소가 Excel을 사용하는 데에는 합리적인 이유가 있다. 문제를 해결하려면 그 이유를 부정하지 말고, Excel이 잘하는 계산과 표현을 남겨야 한다. 대신 데이터의 출처와 객체, 버전, 변경 관계를 파일 밖으로 꺼내야 한다.
다음 글에서는 이 원칙을 실제 구조로 바꾼다. 선박, Deck, 구획, 탱크, 장비와 중량 항목을 어떤 객체로 정의하고, 기존 Excel의 셀과 어떻게 연결해야 한 번 입력한 데이터가 여러 계산서에 안전하게 흐를 수 있는지 살펴본다.
doAZ Point of View
조선 분야의 경쟁력은 새로운 계산식을 얼마나 많이 제공하는가보다, 조선소가 이미 신뢰하는 계산서와 선박 데이터 사이에 얼마나 정확한 계약을 만들 수 있는가에서 시작됨.