잘못된 도어 하나가 트럭에게 20분을 빼앗는다. 하루 40대면 800분, 즉 13시간이 넘는 노동 시간이 지게차가 빙빙 돌며 본래 일을 못 하는 헛수고로 사라진다. 이 숫자를 뽑은 건 2019년, Rancho Cucamonga에 있는 30,000제곱피트 규모 냉장 시설에서의 일이다. 도어는 60개가 넘는데도 도크 스케줄 전체가 양방향 무전기에 의존하고 있었다. 먼저 온 사람이 빈 도어를 선점하는 방식이었다. 리퍼는 쿨러에서 가장 먼 끝에 배치되고, 지게차는 건물 절반을 가로질러 화물을 운반하고, 트레일러 문은 활짝 열려 있고, 제품은 도크에서 바람을 맞고 있었다. 월말이 되자 운송사들의 체류료(detention) 청구서가 임대료보다 빠른 속도로 늘어나고 있었다.
도크 도어 할당은 YMS에서 가장 지루해 보이는 설정 화면처럼 생겼다. 사실은 야드 전체의 페이스메이커다. 도어가 제대로 돌아가면 트럭과 화물과 사람이 각자 자신의 레인으로 움직인다. 잘못되면 세 가지 문제가 한꺼번에 온다. 지게차 우회, 콜드체인 단절, 야드 정체다. 거기서 구해줄 소프트웨어는 없다. 아래는 내가 수년간 일한 현장들에서 짜 맞춘 로직이다. 소규모 오퍼레이션에도 통한다.
리퍼는 항상 쿨러에 가장 가까운 도어를 받는다
온도관리 화물이 두려워하는 건 '느린' 것이 아니다. 두려운 건 체인의 단절이다. 리퍼가 도어에 후진해 트레일러 문이 열리는 순간, 제품은 외기에 노출된다. 도어에서 쿨러까지 거리가 길수록 노출 시간은 길어지고, 로스 위험은 더 빨리 치솟는다. 그래서 규칙 1은 협상 불가다. 리퍼 예약은 쿨러 또는 온도관리 스테이징에 가장 가까운 도어를 최우선으로 선택한다. 선착순은 여기서는 무효다.
규칙에 넣어둘 만한 예외가 있다. 일부 리퍼는 상온 자재를 운반한다. 골판지 상자, 팔레트, 포장재 같은 것들이다. 냉장 트레일러에 상온 화물. 이런 트럭이 쿨러 옆 황금 도어를 차지할 이유는 없다. 그래서 규칙에는 '화물이 트레일러 타입을 우선한다(commodity overrides trailer type)'는 탈출구가 필요하다. 안에 무엇을 싣고 있느냐로 할당하고, 무엇이 끌고 있느냐로 할당하지 말라. 나는 '리퍼 = 쿨러 도어'를 하드코딩한 현장을 본 적이 있다. 결과는 상온 골판지 상자가 최고의 도어에 앉아 있고, 냉동 제품이 가장 먼 끝에서 줄을 서는 꼴이었다. 순수한 낭비다.
설정 방법: 모든 도어에 프로파일을 세 가지 속성으로 만든다. 쿨러까지의 거리, 해당 도어가 리퍼를 받을 수 있는지(씰 상태, 높이 여유), 어느 온도대를 담당하는지. 예약이 들어오면 먼저 화물로 필터하고, 다음으로 트레일러 타입으로 필터한다.
놓치기 쉬운 한 가지: 리퍼가 도어를 잡기 전에, 배차 담당자는 트레일러가 이미 예냉되어 있는지 확인해야 한다. 장거리 운행 직후 빈 트레일러는 안이 아직 따뜻하고, 뜨거운 채로 도킹하면 쿨러의 냉기를 밖으로 퍼내는 꼴이다. 이건 YMS 규칙에 넣을 필요는 없다. 대신 배차 담당자의 도착 체크리스트에 넣어라. 운전자에게 박스 내부가 화주의 요구 온도까지 내려갔는지 묻는 거다. 안 됐다면 스테이징 구역에 대기시키고 온도를 더 끌어내려라. 서두르며 도어에 붙이지 마라.
플랫베드와 드라이밴은 레인을 공유하지 않는다
53피트 드라이밴은 후진해 자리를 잡으면 지게차가 후문으로 곧장 작업한다. 깔끔한 한 줄이다. 플랫베드는 다른 동물이다. 측면 적재, 옆구리로 접근하는 지게차, 넓은 회전 반경, 큰 스테이징 면적. 플랫베드를 밴 도어 줄에 무리하게 끼워 넣는 건 골목에서 트럭에게 유턴하라는 것과 같다. 모두에게 어색하고, 누군가는 뭔가를 긁을 것이다.
2022년 나는 Fontana에 있는 가구 3PL을 걸어 다녔다. 거기는 플랫베드가 주력이었고, 목재 번들이 측면에서 내려왔다. 그들의 해법은 끝쪽 도어 6개를 플랫베드 전용으로 지정하고, 앞에 별도 스테이징 구역을 칠하고, 지게차 레인을 밴 구역과 완전히 분리하는 것이었다. 그 이후 도크 도어 손상 클레임은 거의 0으로 떨어졌다. 그 전년에는 도어 씰 수리만으로 수만 달러를 썼었다.
규칙: 도어를 트레일러 타입별로 그룹화한다. 밴과 리퍼는 한 줄, 플랫베드는 다른 줄, 초과폭·초과길이는 별도 취급. 구역은 바닥 표시와 물리적 장벽으로 분리한다. 운전자의 자발적 정리에 기대지 마라. YMS에서는 도어를 그룹으로 관리하고, 예약이 트레일러 타입에 따라 자동으로 그룹에 떨어지게 한다. 배차 담당자는 예외만 처리한다.

입고 도어와 출고 도어는 각자 블록을 지킨다
같은 도어 줄에 입고와 출고를 섞는 건 정체의 가장 큰 원인이다. 입고 트럭은 검수와 입고를 기다리고, 출고 트럭은 웨이브와 적재를 기다린다. 두 리듬은 맞지 않는다. 섞으면 빈 트레일러가 실은 트레일러를 기다리고, 실은 트레일러가 지게차를 기다리고, 지게차가 호스틀러를 기다린다. 도크 에이프런 전체가 주차장이 된다. 야드 안의 2대 Ottawa 야드 트랙터도, 모든 도어에서 교통이 교차하면 할 수 있는 게 한정된다.
도어가 부족한가? 공간 대신 시간으로 나눠라. 오전은 입고, 오후는 출고, 각 도어의 입출고 속성을 YMS에서 시간대별로 뒤집는다. 섞는 것보다 훨씬 낫다. 어느 시간대든 교통이 한 방향으로 흐르기 때문이다. 도어가 충분한 대형 현장은 그냥 선을 그으면 된다. 입고 블록, 출고 블록, 그리고 피할 수 없는 끼어들기용 완충 도어 몇 개를 사이에 둔다.
한 가지 더: 반품과 예외는 주력 도어에서 떼어내라. 반품과 문제 화물용으로 도어 1~2개를 떼어내라. 반품 트레일러 한 대가 출고 도어 앞에 눌러앉아 그 뒤에서 출고 라인 전체가 기다리는 사태를 막는다. 반품 트레일러 한 대 때문에 오퍼레이션 전체가 멈추는 걸 너무 많이 봤다. 누구도 도어를 예약해두지 않았기 때문이다.
가장 빠른 화물은 도어에 가장 가까운 곳에 산다
도어 로직의 마지막 층은 트럭과 무관하다. 화물이 얼마나 열심히 일하느냐의 문제다. 빈도가 가장 높은 고객, 회전이 가장 빠른 SKU일수록 피킹 구역과 출고 스테이징에 가장 가까운 도어가 어울린다. 지게차 한 번의 운반이 짧아진다. 하루 수백 번이면 인건비 절감은 진짜 돈이다.
운영은 어렵지 않다. 3개월 출고 데이터를 뽑아 고객과 카테고리를 빈도 순으로 매기고, 상위 20%에 가장 가까운 도어를 고정하고, 나머지는 유동으로 둔다. 피크 시즌에 품목 구성이 바뀐다? 다시 매긴다. YMS에서는 배차 담당자가 매일 들여다보는 게 아니라 스케줄에 따라 재계산되는 규칙으로 만들 수 있다.
대부분이 계산에서 빼먹는 숨은 비용도 있다. 체류료(detention)다. 트럭이 야드에서 보내는 여분의 1시간은 청구서의 한 줄이 된다. 도어가 잘 돌면 트럭이 회전하고, 운송사들은 기꺼이 화물을 받는다. 도어가 막히면 매일 줄이 서고, 좋은 운송사들은 조용히 우리 화물을 안 받기 시작하고, 결국 프리미엄을 받는 업체만 남는다. 이 비용은 YMS 리포트에는 절대 안 나타나지만, 월 운송비에는 나타난다.
도어를 정했으면, 잘못됐을 때의 비용을 누군가 감시해야 한다. 매주 세 가지를 확인한다. 지게차가 우회하고 있지 않은가(도어-스테이징 평균 거리가 늘지 않았는가), 콜드체인이 어딘가 끊기지 않았는가(온도관리 화물의 도어-쿨러 시간), 야드가 막히지 않았는가(호스틀러 대기열 시간). 숫자가 추하면 도어 배분을 다시 해야 한다는 신호다.
배차 사무실 벽에 붙일 짧은 체크리스트: 리퍼가 실제로 쿨러 도어에 있는가? 플랫베드는 전용 도어 블록을 갖고 있는가? 입고와 출고는 분리되어 있는가? 고빈도 화주는 가장 가까운 도어를 확보하고 있는가? 호스틀러가 어딘가 줄을 서고 있는가? 다섯 개 중 두 개에 답하지 못하면 도어 규칙을 다시 써야 한다.
내일 당장 할 수 있는 것: 도크 도어 레이아웃을 인쇄해 모든 도어에 라벨 세 개를 붙인다. 어떤 트레일러를 받는지, 어떤 화물을 움직이는지, 입고인지 출고인지. 일주일 돌리고, 배차가 할당을 덮어쓸 때마다 지도에 표시한다. 7일 후, 덮어쓰기 표시가 가장 많은 도어를 보라. 그곳의 규칙이 잘못된 것이다. 거기부터 고쳐라. 표시 투성이 지도가 어떤 YMS 설정 매뉴얼보다 더 많은 진실을 알려줄 것이다.
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.





