정말 짜증 나는 장면이 있다. 새벽 2시 30분. 웨이브가 주문 40건을 못 채우고 있고, WES 대시보드는 빨갛게 빛나고, 작업 12건이 47분째 멈춰 있다. 아무도 모른다. 조장은 밖에서 담배를 피우고 있다. 당직 관리자는 자고 있다. 그리고 시스템은? 지연의 매 순간을 충실히 기록하면서 — 아무것도, 정말 아무것도 하지 않았다.
이 일은 2023년 남부 캘리포니아에서 신선식품 유통을 하던 3PL에서 일어났다. 그날 밤 컨베이어 한 구간이 막혔고, 막힌 지점 상류에 피킹 작업이 쌓였다. WES에서 그 작업들은 "진행 중"에서 "타임아웃"으로, 다시 "예외"로 바뀌었다 — 그 누구에게도 단 한 건의 알림 없이. 오전 6시 조가 발견했을 때는 냉장차 출발 시간대가 이미 닫혀 있었다. 트럭 한 대분이 오후 운행으로 밀렸고, 패널티와 긴급 초과근무를 합친 청구서는 처참했다.
사후 검토에서 나는 그들의 IT에 단 한 가지만 물었고, 그들은 나를 멍하니 쳐다봤다. "WES에 설정된 타임아웃 에스컬레이션 규칙이 몇 개입니까?" 답은 0개였다. 시스템에는 그 기능이 있었다. 3년 동안 아무도 한 번도 설정해 본 적이 없었다. 그들의 WES는 비싼 대시보드였다 — 예쁘고, 쓸모없었다.
멈춘 작업은 저절로 풀리지 않는다
창고 실행 시스템에 대한 흔한 오해가 있다. 설치만 하면 예외가 어떻게든 알아서 해결된다는 것. 그렇지 않다. 작업은 별것 아닌 이유들로 수십 가지나 멈춘다 — 컨베이어 막힘, 위치 인식을 잃고 제자리에서 빙글빙글 도는 AMR, 화장실 가느라 RF 건을 주머니에 넣은 피커, 인쇄-부착 작업을 멈춰 세우는 라벨 프린터 막힘. 이 중 어느 하나도 저절로 고쳐지지 않는다. 모두 사람이 필요하다. 시스템이 할 수 있는 유일한 일은 올바른 사람을 올바른 시간에 깨우는 것이다.
타임아웃 에스컬레이션은 한 문장으로 요약된다. 모든 작업에 "이때까지 아무도 손대지 않으면 문제다"라는 마감 시간을 주고, 마감 시간이 되면 문제를 해결할 수 있는 사람 앞에 자동으로 내미는 것이다. 그 장치가 없으면, WES는 스프레드시트보다 조금 나은 정도일 뿐이다 — 더 비싼 것만 빼고.
임계값은 감이 아니라 작업 유형별로 정하라
가장 흔한 실수는 모든 작업에 단일 타임아웃 임계값을 적용하는 것이다 — 예를 들어 전부 30분 같은 식. 그건 순전히 찍기다. 작업 유형마다 정상 소요 시간은 몇 배씩 다르다. 전부 하나의 자로 재면 결과는 정확히 두 가지뿐이다. 임계값이 너무 느슨해서 진짜로 고장 난 작업이 몇 시간씩 방치되거나, 너무 빡빡해서 조장의 전화기가 오경보로 도배되다가 사흘째에 알림을 꺼버린다 — 그러면 진짜 경보도 함께 잃는다.
내 방식은 작업 유형별 단계 설정이다. 각 단계마다 두 개의 선을 긋는다. 작업자에게 넛지하는 경고선과, 체인을 타고 올라가는 에스컬레이션선이다. 아래 숫자는 내가 쓰는 초기 설정일 뿐, 절대 진리가 아니다. 2주 치 자체 데이터를 돌리고 실제 택트에 맞춰 조정하라.
| 작업 유형 | 경고선 | 에스컬레이션선 | 에스컬레이션 대상 |
|---|---|---|---|
| 컨베이어/소터 작업 | 진행 없이 3분 | 10분 | 설비 리드 → 당직 관리자 |
| AMR 운송 작업 | 이동 없이 5분 | 15분 | 자동화 엔지니어 → 당직 관리자 |
| 수동 피킹 작업 | 표준 시간 50% 초과 | 표준 시간의 2배 | 조장 → 운영 슈퍼바이저 |
| 보충 작업 | 미착수 30분 | 1시간 | 조장 → 플래너 |
| 웨이브 전체 진척 | 계획보다 15분 지연 | 계획보다 30분 지연 | 당직 관리자 → 운영 관리자 |
선을 긋는 원칙은 하나다. 에스컬레이션선은 "재난" 마감 시간보다 충분히 앞에 있어야 한다는 것. 냉장차가 오전 6시에 나가는데 웨이브 에스컬레이션선이 5시 50분이면 농담이다 — 사람이 실제로 개입할 수 있을 만큼의 활주로가 필요하다. 나는 보통 "상황이 나빠지기 30분 전"부터 거꾸로 계산한다. 두 번째 원칙: 근무 중이고 결정을 내릴 수 있는 사람에게 에스컬레이션하는 것. 야간 에스컬레이션을 주간 근무자인 운영 관리자에게 보내는 건 아무 데도 보내지 않는 것과 같다 — 에스컬레이션 체인은 근무표와 맞아야 한다.
정작 깨워야 할 사람이 깨워지도록 체인을 만들라
임계값을 정했으면 다음은 에스컬레이션 경로다. 내가 본 최고의 구성은 3단계이며, 각 단계마다 "응답이 없으면 계속 올라간다".
1단계: 시스템 내 알림과 RF 건 진동으로 작업자 또는 조장에게 알리고, 5분간 무응답이면 자동 에스컬레이션. 2단계: 당직 관리자에게 SMS와 전화를 보내고, 그 사이 WES는 영향받은 작업을 빨간색으로 상단에 고정한다. 3단계: 자동 플레이북 — 해당 웨이브의 신규 작업 배치를 일시 중지하고, 멈춘 작업은 수동 처리로 전환한 뒤, 운영 관리자에게 요약본을 보낸다. 이 3단계는 보통 커스텀 개발이나 WMS 연동이 필요하므로, 가동 후에 묻지 말고 벤더 선정 때 물어볼 것.

자꾸 빠지는 계층이 하나 있다. WES 에스컬레이션을 WMS·WCS 경보와 연결하는 것이다. WES 타임아웃 에스컬레이션은 섬이 되어서는 안 된다. 컨베이어 막힘이 생기면, WES 작업이 타임아웃되기 10분 전에 WCS는 이미 알고 있었다 — 모터 과부하 경보가 이미 울리고 있었다. 두 경보 흐름이 따로 놀면, 두 팀이 두 화면을 멍하니 보면서 상대가 이미 대응 중이라는 걸 모른다. 내 규칙은 이렇다. 설비 예외는 WCS 경보를 따르고, 작업 예외는 WES를 따르며, 둘 다 하나의 에스컬레이션 체인으로 흘러들어 당직 관리자용 요약 하나로 묶인다. 가능하다면 WMS 웨이브 상태도 끌어들여라 — WMS는 개별 WES 작업이 타임아웃되기 전에 웨이브가 계획보다 뒤처지고 있다는 걸 안다. 웨이브가 이미 아는 걸 타임아웃이 알려주기를 기다리지 마라.
내일 당장 할 수 있는 일이 하나 있다. 오늘 밤, WES 관리 콘솔을 열어서 타임아웃 에스컬레이션 규칙이 있는지 확인하라. 없으면 딱 하나만 설정하라 — 피킹 작업용, 경고는 표준 시간의 1.5배, 에스컬레이션 대상은 조장. 하나의 규칙이다. 일주일 돌려봐라. 돌아와서 나에게 고맙다고 할 것이다. 시스템은 쓰려고 산 것이지, 감상하려고 산 게 아니다.
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.





