화요일 아침 8:05, WES가 그날 첫 대형 웨이브를 릴리스했다. 10분 뒤 현장은 아수라장이었다: 2층 작업자들이 1층용 작업 목록을 들고 있고, 1층 인원은 가장 먼 슬로우 무버 존으로 파견되고, 엘리베이터 앞에는 줄이 서 있고, 포장 스테이션에는 쇼트 주문이 쌓여 있었다. 이건 한 창고의 운 나쁜 하루가 아니다. 한 층과 세 개의 피킹 존을 넘어서면, 웨이브가 제대로 분할되지 않았을 때 얻게 되는 각본이 바로 이것이다.

2019년 나는 달라스 외곽의 280,000 평방피트 의류 DC를 운영했다: 2개 층, 6개 피킹 존. 피크 주에는 주문량이 3배로 뛰었지만, 웨이브는 여전히 옛날 방식으로 떨어졌다——주문 통째로, 한꺼번에. 한 주문의 라인이 두 층에 걸친 세 개 존에 흩어지기도 했다. 작업자들은 카트를 밀고 건물 전체를 돌아다녔고, 엘리베이터는 멈추지 않고 돌아갔다. 그날 저녁 나는 한 아이가 3 유닛 때문에 아래층으로 뛰어 내려갔다가 빈손으로 돌아오는 걸 봤다. 그 아이 잘못이 아니다. 작업이 그렇게 순서가 정해져 있었다. 그날 밤 정시 출하가 무너졌고, 메자닌에 서서 한 가지를 배웠다: 다층 건물에서는 웨이브를 릴리스하는 게 아니다. 자르는 거다.

만능 웨이브, 그리고 그것을 걸어서 치른 작업자

WES의 웨이브 템플릿 대부분은 주문 우선순위, 출하 시간, 캐리어 마감 시간을 본다——지리만 빼고. 시스템은 "어차피 같은 건물 안이잖아"라고 생각한다. 시스템은 걸을 필요가 없으니까. 작업자의 하루는 보통 반반으로 갈린다: 절반은 실제로 제품을 만지는 시간, 절반은 걷고 엘리베이터를 기다리는 시간. 층이 자연스러운 절단점이다. 엘리베이터 한 번 타는 데 몇 분이 든다. 층을 두 번 오가는 웨이브는 마진 전부를 통행료로 낸다.

여기 고전적인 함정이 있다: 캐리어 마감 시간 기준으로 웨이브를 묶는 것. 합리적으로 들린다——마감을 맞추자는 거잖아? 근데 마감 시간은 지리하고 아무 상관이 없다. "오늘 출하 필수" 주문으로 웨이브를 가득 채워도 작업은 여전히 전 존에 흩어진다. 마감은 우선순위다. 분할 로직이 아니다. 둘은 템플릿에서 분리해 둬라.

더 나쁜 건 수직 캐파다. 엘리베이터, 리프트, 층간 컨베이어——처리량은 고정되어 있고, 강철에 새겨져 있다. 웨이브 주기가 그것에 맞지 않으면 초현실적인 장면이 나온다: 제품은 위층에 묶여 있고, 작업자는 아래층에서 손을 놓고 있다. 누가 놀고 있는 게 아니다. 다들 기다리고 있는 거다. 많은 창고는 이걸 인력 부족으로 읽고 사람을 때려 붓는다——추가 채용, 추가 근무——그러다 깨닫는다: 고용한 건 "걷기"였고, 화물은 여전히 엘리베이터 앞에서 줄을 서 있다는 걸.

그리고 조용한 낭비가 있다: 한 웨이브에 장비와 사람을 섞는 것. 풀 파렛트 지게차 작업과 카트 기반 낱개 피킹은 완전히 다른 리듬으로 돈다. 지게차는 엘리베이터를 기다리고 통로를 비우고; 사람은 지게차가 비켜 주길 기다린다. 하나의 웨이브가 둘 다를 인질로 잡는다. "주문 완전성"으로 웨이브를 묶는 건 우아하게 들린다. 실제로는 상호 교착이다.

층이 먼저, 존이 다음, 장비가 셋째

내 절단 순서는 수년째 안 바뀌었다: 먼저 층으로 자르고, 층 안에서 존으로 자르고, 존 안에서 장비로 자른다. 원칙상 하나의 웨이브는 하나의 층에 머문다——층간 이동은 컨베이어와 엘리베이터로 한꺼번에, 작업자의 다리가 아니라. 상식처럼 들린다. 그런데 층 필터 하나 없는 웨이브 템플릿을 본 적이 있다.

층 절단 다음은 존과 작업 모드다. 파렛트 작업은 파렛트 작업끼리, 낱개는 낱개끼리, 냉장고나 케이지가 필요한 건 별도 웨이브로. 특혜가 아니라 리듬이다. 카트 작업자와 지게차 운전자에게 한 대의 엘리베이터를 두고 싸우게 하는 건 자초한 정체다.

다층 창고에서 존별로 작업하는 작업자들

세 번째 규칙: 면적이 아니라 밀도로 자르는 것. 지도에서는 크게 보이는데 하루에 몇 십 라인만 나오는 존도 있다. 그런 존에 웨이브를 따로 주면 작업자는 반쯤 빈 카트로 돌아온다. 내 방식은 WES의 모든 존 템플릿에 최소 임계값(라인 수 또는 유닛 수)을 두는 거다. 못 미치면 웨이브는 자동으로 이웃 존과 합쳐진다. 만능 숫자는 없다. 카트 용량과 존 한 바퀴 도는 시간에 달렸다. 2주간의 시행착오로 찾는다.

얼마나 잘게가 지나친가? 그게 장인정신이다. 너무 굵으면 시계는 이동 시간에 녹아내린다. 너무 잘게면 웨이브는 부스러기로 깨진다——포장 스테이션은 제품과 사람을 기다리고, 주문은 합류 지점에서 멈춰 선다. 나는 이걸 웨이브 기아라고 부른다. 테스트는 한 가지 질문이다: 포장 스테이션이 기다리며 한가해진 적이 있는가? 있으면 너무 잘게 쪼갠 거다. 작업자들이 매일의 마라톤을 불평하면 너무 굵은 거다. 양쪽 다 조용하면 제대로 자른 거다.

잘라내고, 포장 앞에서 다시 합쳐라

웨이브를 분할해도 주문은 온전하게 남는다. 한 주문의 라인이 두 존에 흩어졌다——어디서 재회하나? 포장 앞의 합류 구역에서. 피킹 통로 안에서는 절대 안 된다. 작업자들끼리 서로 찾게 하는 건 가장 비싼 합류 방식이다.

합류 설계는 복잡하지 않다: 포장 앞에 버퍼 레인이나 케이지 카트를 두고, 웨이브별 매니페스트에 각 주문이 몇 유닛 부족한지 정확히 보여준다. 쇼트 주문은 포장에 들어가지 않는다; 카트에서 기다린다. 매니페스트는 WES가 소유하고, 오래 묵은 쇼트에는 알람을 울리게 해라——사람 눈보다 싸다. 층간 엘리베이터 앞 공간에도 버퍼 위치가 필요하고, 컨베이어는 웨이브 번호별로 분기한다. 그래야 2층 화물과 1층 화물이 롤러 위에서 한 덩어리로 엉키지 않는다.

시스템 측면에서는 존별로 웨이브 템플릿을 만들고, 각각에 존 속성(층, 존, 장비 유형, 최소 라인 수)을 담는다. 릴리스 순서도 중요하다——존 내 웨이브를 먼저 떨어뜨려 모든 존을 움직이고, 존 간 합류 웨이브는 마지막에 둔다. 제품이 포장에 도착할 때쯤이면 대부분의 주문은 이미 완성되어 있고, 앉아서 기다리지 않는다.

덤 하나: 작업자는 어차피 위층으로 걸어 올라가니까, 가는 길에 보충 작업을 끼워 넣는 건 좋은 경제다. 근데 한 가지 엄격한 선을 그어라——보충을 웨이브 피킹과 같은 잣대로 평가하지 말 것. 지표를 섞으면 작업자는 쉬운 이동만 골라 먹고, 힘든 웨이브는 썩어 간다. 재작업 비용으로 치르게 된다.

내일 교대 전에 할 한 가지

큰 재설계는 잊어라. 내일 교대 전에 가장 많이 쓰는 웨이브 템플릿을 복제하고, 존 조건을 하나 추가해라——"2층 전용"——그리고 한 교대만 돌려 봐라. 층간 작업 할당이 몇 건 사라지는지 세어 봐라. 비용 제로, 설정 10분이다. 그 교대 뒤에 포장에서 쇼트 주문이 눈에 띄게 줄었다면, 다른 층과 존에도 같은 처방을 넓혀라, 한 번에 한 템플릿씩. 웨이브 분할은 항상 한 번 자르고, 한 번 보고, 다음 절단을 어디에 넣을지 정하는 것이다.

영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.