2026년 7월 6일 월요일

외주(협력사) 공정을 우리 공정처럼 스케줄링하는 법 — 도금·열처리 납기가 흔들리는 진짜 이유

"이번 주 도금이 또 늦어졌습니다. 협력사에 전화해도 '다음 주 초에는 나올 것 같다'는 대답만 반복이네요."

한 자동차 부품 공장의 생산관리자님께서 매주 회의 때 반복하시는 말씀입니다. 도금·열처리·표면처리 같은 외주 공정은 우리 공장이 통제할 수 없는 영역이라 "어쩔 수 없다"고 받아들이는 게 관례가 됐습니다.

그런데 정말 어쩔 수 없을까요? 이 글은 외주 공정도 우리 공정처럼 스케줄링에 반영하는 방법을 다룹니다. 왜 외주 납기가 반복적으로 흔들리는지 원인을 짚고, 협력사 캘린더·물류시간·리드타임을 데이터로 표현해 간트차트 안에서 함께 관리하는 방법을 도금·열처리 사례와 함께 안내합니다.


1. 외주 공정이 왜 납기를 흔드는가

먼저 외주 공정이 반복적으로 납기 사고를 내는 5가지 구조적 이유를 정리해 봅니다.

원인무엇이 일어나는가
협력사 캘린더가 우리와 다름우리 공장은 토요일 근무하는데 협력사는 격주 휴무. 이 차이를 반영 못 하면 예상 종료일이 어긋남
물류시간이 유동적왕복 배송에 하루 반, 지역별로 편차. "오늘 보냈으니 다음 주에 온다"는 감으로 관리됨
리드타임 예측이 어려움협력사 내부 대기·처리·검사 시간이 매번 다름. 평균값으로 잡으면 편차 30~50% 발생
여러 협력사가 같은 공정을 분산 담당A 협력사 · B 협력사 각기 다른 캘린더·물류시간·처리속도 — 통합 관리 안 됨
진행 상황이 실시간 안 보임카톡·전화로 "지금 어디쯤 왔나요" 문의. 시스템에 데이터가 없음

이 5가지가 겹치면 한 품목의 실제 완료 시점이 계획 대비 3~5일 편차로 벌어집니다. 자체 공정만 아무리 정밀하게 스케줄링해도 외주 구간에서 무너지는 이유입니다.


2. "외주도 공정이다" — 관점 전환

문제의 절반은 외주를 스케줄링 밖에 두는 관행입니다. 대부분의 공장이 이렇게 관리합니다.

[자체 스케줄러 / 엑셀]                [외주 관리 노트 / 카톡]
  가공 → 검사 → 조립       ⇢  ??? ⇢   도금 → 조립 → 출하
     (여기까지만 계획)                    (감으로 관리)

외주 구간이 스케줄링 도구 밖에 있으니 자체 공정 계획은 정밀해도 전체 흐름은 여전히 감입니다.

관점을 바꾸면 이렇게 됩니다.

[하나의 스케줄러]
  가공(자체) → 검사(자체) → 도금(외주) → 조립(자체) → 출하
                              ↑
                           협력사 캘린더 + 물류 + 리드타임 반영

"외주도 공정이다" 라는 관점입니다. 공정(Operation)이란 "무슨 작업을 하는가"이고, Task란 "어디서(어떤 라인·설비·협력사에서) 하는가"입니다. 이 두 개념만 있으면 자체 공정도 외주 공정도 같은 데이터 모델로 표현할 수 있습니다.


3. 외주공정을 데이터로 표현하는 3요소

외주 공정을 스케줄링에 넣으려면 다음 3가지가 데이터로 표현되어야 합니다.

3.1 협력사 캘린더 (근무일 · 근무시간 · 휴일)

자체 공장 캘린더와 분리해서 별도로 관리해야 합니다. 협력사 A는 토요일 근무, 협력사 B는 격주 휴무처럼 조건이 다르기 때문입니다.

  • 협력사별 캘린더 등록
  • 협력사 휴일·근무시간 반영
  • 계획 시점에 협력사 휴무 만나면 자동으로 다음 근무일로 이동

3.2 물류시간 (왕복 이동)

우리 공장 → 협력사 → 우리 공장의 왕복 이동에 걸리는 시간입니다.

  • 편도 물류시간을 리드타임(leadTime)의 일부로 반영
  • 지역별 편차가 크면 협력사별 다른 물류시간 설정
  • 반차·오전만 발송 등 관행도 캘린더에 반영 가능

3.3 리드타임 (도착 → 처리 → 회수 준비)

협력사가 물건을 받은 뒤 실제 처리하고 우리에게 돌려보내기까지의 시간입니다.

  • 워크타임(workTime)과 별개로 관리
  • 평균이 아닌 협력사·품목별로 실측한 리드타임을 사용
  • 특별한 편차가 있는 협력사는 여유 시간을 별도 반영

이 3가지가 데이터로 있으면 외주 구간이 간트차트 안에서 자체 공정과 똑같은 시각적 표현으로 보입니다.


4. 도금·열처리·표면처리 — 실제로 이렇게 관리한다

자동차 부품 공장의 실제 흐름을 예로 들어 봅니다. 다음은 브래킷 부품 하나의 라우터입니다.

① 가공 (자체 라인 3대)
   ↓
② 세정 (자체 세정조 1대)
   ↓
③ 도금 (외주 협력사 A)   ← 외주 구간
   ↓
④ 열처리 (외주 협력사 B) ← 외주 구간
   ↓
⑤ 검사 (자체 검사대 2대)
   ↓
⑥ 조립 (자체 조립 라인 2대)

기존 관리 방식에서는 ③④가 스케줄러 밖에 있어서 ③이 언제 끝나야 ⑤가 시작되는지를 감으로 잡습니다. 협력사 지연이 발생하면 ⑤⑥ 일정이 무너지고, 뒤에 걸린 다른 품목까지 연쇄 지연됩니다.

외주도 공정으로 관리하면 다음과 같이 됩니다.

협력사 A(도금) 세팅 예시

항목값
공정(Operation)도금
Task협력사 A 도금 라인
캘린더협력사 A 전용 (평일 근무, 토·일 휴무, 명절 별도)
workTime실 처리 시간 (품목별)


setupTime배치 전환 시간 (있으면)

간트차트에서는 이렇게 보입니다.

자체 가공  ▓▓▓▓
자체 세정      ▓
협력사A 도금       ▓▓▓▓▓  (leadTime 반영, 48시간 스팬)
협력사B 열처리          ▓▓▓  (다른 캘린더)
자체 검사                    ▓▓
자체 조립                       ▓▓▓

협력사 캘린더가 다르면 그 라인은 다른 근무일 패턴으로 그려지고, 물류시간은 작업바 양쪽에 여백으로 반영됩니다.

이제 협력사가 지연되면 화면에서 즉시 보입니다. 다음 공정 작업바가 뒤로 밀리고, 그 여파로 지연되는 다른 품목까지 함께 확인됩니다.


5. 재진입 공정(회차)과 외주의 결합

도금·열처리 산업에는 특수한 패턴이 있습니다. 같은 품목을 같은 협력사에 여러 번 보내는 경우입니다.

  • 1차 도금 → 검사 → 2차 도금 → 최종 검사
  • 열처리 → 가공 → 재열처리 → 조립

이런 재진입 공정(reentry process)은 상용 APS에서도 다루기 까다로운 영역입니다. 같은 공정 코드로 여러 번 등장하기 때문에 몇 번째 회차인지 시스템이 인식해야 합니다.

VanillaSchedule은 이를 회차(passNo) 라는 개념으로 표현합니다.

  • 1차 도금 → passNo = 1 → 라벨에 "도금(1차)" 자동 표시
  • 2차 도금 → passNo = 2 → "도금(2차)"
  • passNo = 0 → 재진입 아님, 라벨에 회차 표시 없음

간트차트 위 작업바에 회차가 함께 표시되어, 현장에서도 몇 번째 회차인지 즉시 구분됩니다. 도금·열처리·세라믹처럼 재진입이 흔한 산업에서 특히 유용합니다.


6. 실제 세팅 방법 (5분 요약)

VanillaSchedule에서 외주 공정을 반영하는 순서는 다음과 같습니다.

  1. 공정 등록: "도금", "열처리" 등을 자체 공정과 같은 방식으로 등록
  2. Task 등록: 협력사별로 Task 생성 (예: "협력사 A 도금", "협력사 B 열처리")
  3. 캘린더 분리: 협력사별 캘린더를 자체 캘린더와 별도로 등록
  4. 라우터에 삽입: 품목의 라우터에 외주 공정을 자체 공정처럼 배치
  5. workTime / leadTime / setupTime 입력: 실측치 기반
  6. 회차 관리 (필요 시): 같은 협력사에 여러 번 보내는 경우 passNo 부여

세팅이 끝나면 이후는 자체 공정과 동일하게 스케줄링 됩니다. 별도 외주 관리 시스템·엑셀·카톡이 필요 없습니다.


7. 흔한 실수 5가지

외주 공정을 처음 스케줄링에 넣을 때 자주 하는 실수입니다.

실수결과해결
외주 캘린더를 자체 캘린더와 통합협력사 휴일에 작업 잡힘 → 감지 불가Task별 캘린더 분리
물류시간을 workTime에 합산외주 처리 시간이 과대평가 → 다른 협력사 비교 왜곡leadTime으로 분리
리드타임을 평균값으로 통일편차 큰 협력사는 매번 지연협력사·품목별 실측
진척 정보를 카톡으로만 관리스케줄에 반영 안 됨 → 사고 반복시스템에 진척 입력 or 협력사와 데이터 연계
회차 개념 없이 반복 공정 등록몇 번째 도금인지 라벨 혼선passNo 활용

특히 첫 번째와 세 번째가 가장 흔합니다. 캘린더가 통합되면 협력사 휴일이 안 보이고, 리드타임이 평균이면 늘 그 편차만큼 사고가 납니다.


8. 마치며 — 외주도 같은 시야에서

외주 관리가 어려운 진짜 이유는 협력사가 통제 불능이어서가 아닙니다. 외주 구간이 스케줄링 도구 밖에 있어서 통제 자체를 시도한 적이 없기 때문입니다. 가장 간단하게 확정된 일정이야 스케줄링되기전 (확정되기전) 일정이냐를 관리하고 공정으로 관리해보세요. 아주 간단하면서 유용한 외주관리가 됩니다.

바닐라스케줄은 아래와 같이 확정되지 않은 공정을 흰색으로 보여줌으로서 사전에 확인할 수 있도록 지원합니다. 또한 확정전에는 자유로이 스케줄링에 반영되어 적요되지만 확정이 되면 외주사와의 일정이 고정되어 스케줄링시 반영되지 않습니다. 가장 간단한 형태의 외주 공정관리입니다.