고라이브 8개월 후, 품목 마스터에는 1,700개가 넘는 중복 설명이 쌓여 있었고, 피킹 정확도는 99.6%에서 97.1%로 떨어져 있었다. 지난해 Rancho Cucamonga에 있는 3PL 창고의 오너가 이 숫자를 내 앞에 내밀며 물었다. 우리가 잘못된 WMS를 산 걸까요?

우리는 함께 시스템 로그를 살펴봤다. 시스템은 괜찮았다. 문제는 데이터였다. 한 SKU가 세 번이나 생성되어 있었다. 영업은 주문을 빨리 넣으려고 "Bluetooth earbuds - black"이라고 등록했고, 고객 서비스는 백오더 처리에 쫓기며 "BT earbud blk"라고 다시 만들었고, 수신 리드는 급한 마음에 세 번째 코드를 만들었다. 세 사람, 세 개의 설명, 하나의 실제 상품. 피커들은 RF 총을 들고 로케이션 앞에 서서, 화면에 뜬 세 개의 이름을 바라보며 어느 것을 집어야 할지 몰랐다.

고라이브 당시에는 데이터가 깨끗했다. 프로젝트 팀은 두 달을 들여 데이터를 정리했고, 도입 컨설턴트들은 모든 SKU 레코드를 검토했다. 하지만 6개월 후에는 아무도 소유자가 아니었다. IT는 마스터 데이터는 사업부의 일이라고 했고, 오퍼레이션은 시스템은 IT의 일이라고 했다. 결국 아무도 안 하는 일이 되었다. 데이터는 매주 조금씩 썩어갔고, 시스템은 매달 사용하기 어려워졌으며, 오너는 돈을 낭비한 건 아닌지 의심하기 시작했다.

돈이 낭비된 건 아니었다. 없던 건 역할이었다.

규칙부터 정하자: 누가 만들고, 누가 수정하고, 누가 들어가는가

대부분의 중소 규모 창고에는 마스터 데이터 관리자가 없다. SKU 생성 권한은 열댓 명의 손에 흩어져 있다. 영업은 주문을 빨리 넣으려고 SKU를 만들고, 고객 서비스는 보충을 밀어붙이려고 만들고, 수신 리드는 물어보는 것보다 빠르니까 만든다. 권한이 넓게 퍼질수록 아무도 책임을 느끼지 않는다.

내 조언은 단도직입적이다. 생성 권한을 두세 명에게로 되돌리고, 그 중 한 명을 데이터 스튜어드로 지명하라. 최고의 후보자는 보통 WMS 슈퍼 유저이거나, 두 가지 역할을 겸하는 수신 슈퍼바이저다. 그는 하루 종일 실물을 만지고, 설명이 틀리면 피커들이 가장 먼저 소리치는 사람이 그다. 그래서 제대로 하려는 자연스러운 동기가 생긴다.

세 가지를 종이에 써서 벽에 붙여라. 신규 SKU를 만들 수 있는 사람이 누구인지. 로케이션 속성과 로트 규칙 변경을 승인하는 사람이 누구인지. 묵은 지저분한 데이터를 누가, 어떤 일정으로 정리하는지. 종이에 써라. 구두 합의의 유통기한은 약 석 달이다.

이런 질문을 받는다. 우리는 서른 명 규모의 작은 회사인데, 전담 역할은 과하지 않나요? 전임일 필요는 없다. 겸임이면 된다. 하지만 "겸임"이 "내킬 때 하는" 뜻이 되면 안 된다. 직무 기술서에 명시되어야 하고, 매달 반나절을 그 일을 위해 확보해야 한다. 직무 기술서에 없는 일은 실행되지 않는다.

게이트키퍼가 없는 스튜어드는 여전히 감에 의존하니, 인테이크 체크리스트도 필요하다. 우리 리스트는 이렇다. SKU 코드는 규칙으로 생성하고, "임시"라며 손으로 입력하지 않는다. 설명에는 브랜드, 스펙, 단위를 반드시 포함한다. "파란 거", "큰 상자"는 안 된다. 길이, 너비, 높이, 무게는 필수이며 실제 저울에서 재야 한다. 공급사가 제공한 카톤 치수는 열 번 중 아홉 번은 틀리기 때문이다. 바코드 규칙은 고정이다. 한 SKU에 하나의 코드, 새 포장이면 새 코드. ABC 분류는 처음에 가판정을 하고, 세 달치 물동량 데이터를 보고 재검토한다. 로트와 유효기간 요건은 첫날 정한다. 나중에 추가하는 게 가장 고통스러운 되돌림이기 때문이다. 적치 전략도 인테이크 때 정한다. 파렛 풀 적치인지 피스 피킹인지. 그것이 어느 존에 들어가는지를 결정한다.

핸드 스캐너로 로케이션 라벨을 확인하는 수신 리드

체크리스트는 꼼꼼해 보인다. 실제로는 5분 정도만 추가된다. 하지만 생각해 보라. 나쁜 SKU 하나가 수신, 적치, 피킹, 순환 실사 네 개의 하류 공정을 오염시킨다. 나중에 고치는 비용은 인테이크 때 제대로 할 비용의 백 배가 든다. 어려운 계산이 아니다.

가장 통제하기 어려운 건 "임시 SKU"다. 성수기가 닥치고, 영업이 긴급 주문을 따내고, SKU는 아직 없고, 트럭은 이미 문 앞에 와 있다. 내 규칙은 이렇다. 임시 코드는 허용하되, 30일 안에 정식 SKU로 전환해야 하고, 만료 시 시스템이 알림을 준다. 전환할 때는 빠진 필드를 한 번에 다 채운다. 임시는 괜찮다. 썩는 건 안 된다.

첫 번째 방어선: 시스템이 막게 하라

사람은 게을러진다. 그래서 첫 번째 방어선은 시스템의 몫이다.

WMS에 검증 규칙을 잠가라. 필수 필드는 비워서 저장할 수 없다. 설명 필드에는 유사도 검사를 걸어 거의 중복인 경우 경고를 띄운다. 바코드는 데이터베이스 전체에서 유일하고, 중복은 즉시 거부된다. 무게나 치수가 0이거나 말도 안 되는 값이면 차단된다. 이런 설정들은 사소해 보인다. 저급 오류의 약 80%를 발생하기 전에 막아준다.

한 수 더 강하게 가보자. SKU 생성과 "판매 가능"을 분리하는 것이다. 새로 만든 SKU는 기본값이 "검토 대기"이고, 데이터 스튜어드의 승인 후에야 라이브가 된다. 영업이 아무리 급해도 이 5분은 기다린다. 이 5분은 데이터 품질과 사업 속도의 트레이드오프다. 내 결론은, 이 5분의 가치가 있다는 것이다. 썩은 SKU 하나를 세상에 풀어놓으면 하류에는 골칫거리만 생기기 때문이다.

두 번째 방어선: 사람이 표본 점검한다

시스템은 나쁜 형식을 막을 수 있다. 하지만 올바른 형식에 담긴 잘못된 내용, 즉 스펙이 틀린 완전한 설명은 막을 수 없다. 그건 사람이 필요하다.

방법은 전수 감사가 아니라 표본 조사다. 전수 감사는 현실적이지 않다. 매주 신규 생성 또는 수정된 SKU 20개를 뽑아, 스튜어드가 실물과 대조해 점검한다. 설명이 맞는지, 치수가 정확한지, 바코드가 스캔되는지. 문제가 있으면 누가 만들었는지 추적해 그 자리에서 고친다.

거기에 월간 로케이션 속성 표본 조사를 얹어라. 로케이션 속성이 가장 빨리 썩는다. 파렛 풀 전용으로 표시된 로케이션에 6개월 후에는 낱개가 가득 차 있고, "성수기 출입 금지" 표시 로케이션은 지난달에 들어온 지게차 기사에게는 아무 의미가 없다. 로케이션 50곳을 표본 조사하고, 현실과 다른 건 고치고, 왜 그런지 기록하라. 처음부터 잘못 설정된 건지, 나중에 누군가 잘못 쓴 건지. 이 둘은 대책이 다른 별개의 문제다.

표본 조사의 위험은 형식화다. 내 거친 처방은 이렇다. 표본 조사 로그에는 발견된 문제 수를 반드시 기록한다. 석 달 연속 "문제 제로"라는 건 표본 조사 자체가 고장 났다는 뜻이다. 실제 창고에서 문제 제로는 거의 일어나지 않는다.

세 번째 방어선: 월급과 연결하라

첫 두 방어선이 갖춰졌는데도 데이터가 계속 썩는다면, 이유는 딱 하나다. 나쁜 데이터를 만드는 사람들이 그걸 체감하지 않는 것.

그래서 세 번째 방어선은 책임이다. 마스터 데이터 정확도를 부서 KPI에 넣어라. 또는 더 직접적으로, 마스터 데이터 문제로 인한 피킹 오류와 오출고를 데이터를 만든 사람에게 귀속시켜라. 벌금이 아니다. 성과 평가에 반영되는 오류 기록이다. 누군가의 생계와 연결되기 전까지 데이터 품질은 우선순위 목록을 오르지 않는다.

스튜어드에게도 당근이 필요하다. 그는 매달 반나절을 들여 데이터를 닦는데, 아무도 몰라주고, 연말 평가는 아무것도 안 한 경우와 똑같이 나온다. 다음에는 안 할 것이다. 나는 그에게 "마스터 데이터 정확도"를 별도의 보너스 항목으로 넣어준다. 데이터가 깨끗할수록 숫자가 크다. 당근은 클 필요가 없다. 존재해야 한다.

세 방어선을 합치면 이렇다. 시스템이 80%를 막고, 사람의 표본 조사가 새는 걸 잡고, 책임이 동기를 바로잡는다. 어느 하나만으로는 은탄환이 될 수 없다. 합치면 효과가 있다.

내일 아침, 두 가지를 하라. 첫째, WMS의 SKU 생성 권한을 열댓 명에서 두세 명으로 되돌려라. 둘째, 인테이크 체크리스트를 인쇄해 수신 사무실 벽에 붙여라. 이 두 가지만. 일단 그 외엔 아무것도 하지 마라. 한 달 후에 피킹 오류율을 확인하라. 숫자가 말해줄 것이다.

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