레이블이 생산스케줄인 게시물을 표시합니다. 모든 게시물 표시
레이블이 생산스케줄인 게시물을 표시합니다. 모든 게시물 표시

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. 마치며 — 외주도 같은 시야에서

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

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





2026년 6월 29일 월요일

VanillaSchedule 생산스케줄러 - AI매니저

AI 매니저의 경우 다음과 같은 기능을 포함하고 있습니다.

1. 아침, 점심, 저녁 브리핑.

2. 화면에 대한 설명.

3. 조작방법에 대한 설명

4. 프로세스 흐름에 대한 설명

5. 화면의 이동

6. 장애등록 명령.

7. 웹 Push 알림 기능 연동

8. 스케줄링 화면의 해당 일자 스크롤

9. 스케줄링 화면의 데이터 유효성 안내 및 조치

 




AI 매니저가 전반적인 생산스 케줄링의 관제를 할 수 있도록 기능을 추가하고 있습니다.

브리핑, 웹 Push

 

더욱 다양한기능이 추가될 것으로 기대합니다.

 

2026년 6월 22일 월요일

VanillaSchedule 생산스케줄러 - 현장배포

VanillaSchedule은 생산스케줄링을 통해 결정된 작업을 현장에 배포해야 합니다.

현장의 경우 자신에게 배포된 작업들이 시간순에의 해 체계적으로 중복없이 배치된걸 확인할 수 있습니다.

현장에서는 이 절차대로 작업을 시작해야 하며, 배포된 작업에 대해 진행중이거나 완료했다는 상태를 

해당 담당자 또는 팀장 또는 생산관리자가 직접 등록해주면 됩니다. (이 부분은 사업장의 여건에 따라 결정하시면 됩니다.)

등록된 내용은 생산스케줄링에 반영됩니다.

등록방식에 따라 현장등록 화면을 사용하거나 단순히 Excel로 목록을 받아 처리할 수도 있습니다.

현장 등록화면은 다음과 같습니다.


현장등록

현장에서는 전산작업이 최소화 되어야 하고 알기쉽도록 보여주어야 합니다. 위 그림처럼 할당된 작업이 표시되며 아래쪽에 이미진행된 공정과 현재 공정 앞으로의 공정을 알 수 있도록 다이어그램으로 보여줍니다. 오른쪽의 작업상태를 완료로 바꾸고 변경하면 됩니다.

또 한가지 방법은 엑셀을 통한 배포입니다. 이경우 위의 공정별 작업등록과 병행하거나 현장에서 등록거래 없이 Excel로 출력한 종이를 보고 바로 작업을 할 수 있습니다.

공정별 작업배치도는 각 공정/타스크 별로 자신이 해야할 작업이 시간순으로 나옵니다. 그리드 상단의 컬럼 오른쪽 부분에 마우스를 가져가면 메뉴아이콘이 나오고 클릭하면 엑셀 다운로드 버튼을 확인할 수 있습니다. Excel로 다운받아 현장에 배포하면 됩니다.

 

다운받은 엑셀은 다음과 같이 출력됩니다. 

 

 

오늘 뿐만 아니라 스케줄링된 앞으로의 작업목록도 같이 조회할 수 있습니다.

2026년 6월 20일 토요일

VanillaSchedule 생산스케줄러 시뮬레이션

 

시뮬레이션은 생산계획에서 세운 품목별 수량을 실제로 언제 실행시킬 수 있는지를 시뮬레이션을 실행시켜 봄으로써 실현이 가능한지를 알 수 있습니다. 따라서 생산계획을 한번에 완성하는게 아니라 시뮬레이션과 비교하여 생산계획을 조정함으로서 실현 가능한 생산계획을 만들어야 합니다.



시뮬레이션을 통해 실제 실현가능한 생산량을 정확히 예측할 수 있습니다. 공장의 생산중 장애발생가능성 등을 고려하여 조정해 주는 것이 좋습니다.





​

생산계획이 완료되면 시뮬레이션을 등록합니다. 경우에 따라 시뮬레이션을 등록하지 않고 바로 생산스케줄링으로 시작할 수도 있습니다. 하지만 어느정도 규모가 있다면 시뮬레이션을 등록하고 이것을 생산스케줄링에 반영합니다. 시뮬레이션은 생산계획을 기준으로 반영합니다. 시뮬레이션에서 등록하는 내용은 실제 스케줄링인 생산스케줄링의 내용을 그대로 복사하여 독립된 환경을 만들어 줍니다. 따라서 생산스케줄링에 영향이 없습니다. 마음대로 바꾸고 좋은 시뮬레이션 결과를 얻으면 그만입니다. 시뮬레이션 등록 화면에서 생산계획을 선택하고 시뮬레이션 생성에 스케줄명을 입력하고 생성 버튼을 클릭합니다.

 

시뮬레이션등록

 

시간이 좀 걸립니다. 모든 데이터를 가져와 가상의 데이터를 만들어주기 때문입니다.  서로 비교하려면 계획당 여러개의 시뮬레이션을 만들어 비교할 수도 있습니다.


시뮬레이션 상세등록은 계획에서 등록한 품목의 수량을 기반으로 품목의 라우팅정보로 변환하여 등록해 줍니다.  이를테면 A 품목이 8월 1일 100개를 생산해야 한다고 하고 품목의 라우터에 10개의 개수로 등록되어 있다면 해당 라우터를 10개를 자동으로 등록해 줍니다.  또한 생산스케줄링에 등록된 생산품목을 가져와야 하기 때문에 그 수량은 차감해서 반영해야 합니다.

 

시뮬레이션 상세등록

시뮬레이션 상세등록이 완료되면 등록된 라우터를 기반으로 생산품목을 스케줄링을 하게 됩니다. 시뮬레이션 스케줄링은 생산스케줄링과 거의 유사합니다. 스케줄링이 완료되면 저장하고 종료합니다. 

 


시뮬레이션 스케줄링

 

시뮬레이션은 실제 스케줄링은 아니기 때문에 만족할만한 결과가 나올때까지 다른 알고리즘을 적용할 수 있으며 마우스 드래그 & 드롭으로 수기조작도 가능합니다. 스케줄링시의 기능은 생산스케줄링을 참고하세요.

2026년 6월 18일 목요일

VanilaSchedule 생산스케줄러 생산계획

앞서 분석자료를 설명드렸다면 실질적으로  생산계획을 등록하고 시작하게 됩니다.  VanillaSchedule에서 계획등록은 회사에 따라 월별, 또는 주별로 구분하여 등록할 수 있습니다. 프로세스 흐름은 생산계획 - 시뮬레이션 - 스케줄링 - 현장배포 - 분석 형태로 흘러갑니다. 첫단추라고 보시면 됩니다. 기간만 겹치지 않도록 잘 등록해서 관리하시면 됩니다.

 

생산계획 등록

생산계획을 등록했으므로 실제 계획에서 생산해야할 품목들의 수량을 등록해야 합니다. 우선 생산스케줄러에 등록된 생산품목은 월별로 정확히 끊어져서 구분할 수가 없습니다. 몇일에 걸쳐 생산품목이 단계식 절차를 밟기 때문에 8월에 계획을 잡았다고 하더라도 9월 중순까지 진행될 수도 있습니다. 따라서 VanillaSchedule은 기존에 진행중인 생산품목을 계속 이어받아 추가적으로 품목수량을 등록해 줘야 합니다. 아래  계획상세등록 화면이 있습니다.

 

계획상세등록

 

진행중인 품목이 좌하단에 배치되어 있는데 해당 건을 모두 체크하고 추가품목으로 이관 한후  추가적인 품목의 수량을 더 등록하면 됩니다. 전체적인 수량은 합계보기 버튼으로 확인할 수 있습니다.   

앞서 수요이력과 자재기반 품목추출  화면이 있듯이 그곳에서 산정한 결과를 이용해 품목수량을 산정할 수 있습니다. 왼쪽 수요자동산정 가져오기와 자재기반 품목추출 가져오기 버튼을 이용해 품목을 더 추가할 수 있으며 이를 수요예측에서 날짜별로 배포했듯이 납기일은 8/31이지만 우선순위일은 각 일자별로 적절히 배포해서 순위를 정렬해 줍니다.  저장함으로서 생산계획은 일단락됩니다.