본문으로 건너뛰기
SupplyCore
운영 · 7 min

운영 중단 없이 유통 소프트웨어를 교체하는 방법

유통 업무를 돌아가게 하는 시스템을 교체하는 일은 운영 부서가 맡을 수 있는 가장 위험한 프로젝트 중 하나입니다. 주문 하나가 사라지거나, 재고 수치가 틀리거나, 현장이 일주일간 혼란에 빠지면, 새 도구는 진가를 발휘하기도 전에 신뢰를 잃습니다. 그럼에도 매년 수천 개의 유통사가 큰 사고 없이 마이그레이션을 마칩니다. 그 차이는 결코 운이 아니라 방법입니다. 이 가이드는 병행 운영, 깨끗한 데이터, 단계적 전환, 롤백 계획이라는 검증된 접근법을 제시하여, 매 순간 운영을 멈추지 않고 소프트웨어를 교체하는 방법을 설명합니다.

마이그레이션은 왜 실패하는가

실패의 가장 흔한 원인은 빅뱅식 일괄 전환입니다. 금요일 밤에 기존 시스템을 끄고 새 시스템을 켜면, 월요일 아침에 회사 전체가 동시에 미지의 환경을 마주하게 됩니다. 검증되지 않은 흐름, 누락된 접근 권한, 잘못 이해된 화면 등 사소한 문제 하나가 안전망 없이 모든 창고로 순식간에 번집니다. 원래는 사소한 사고로 끝났을 일이 모든 고객의 눈에 보이는 위기로 변합니다.

두 번째 원인은 조용하지만 파괴적인 더러운 데이터입니다. 중복 고객, 유령 제품, 일관성 없는 측정 단위, 오래된 주소. 기존 시스템은 관성으로 이를 허용했지만, 새 시스템은 이를 거부하거나 더 나쁘게는 그대로 옮겨버립니다. 카탈로그와 고객 파일을 먼저 정리하지 않고 "있는 그대로" 마이그레이션해서는 절대 안 됩니다.

소홀히 한 교육이 그림을 완성합니다. 준비되지 않은 팀이 사용하는 우수한 소프트웨어는, 잘 숙달된 평범한 소프트웨어보다 더 빠르게 나쁜 결과를 냅니다. 마지막으로, 많은 기업이 롤백 계획 없이 출발합니다. 무언가 잘못되었을 때 되돌아갈 문서화된 방법이 없으면, 의사결정 대신 공황이 자리를 차지합니다.

이 모든 실패를 관통하는 공통점은 같습니다. 마이그레이션을 점진적인 운영 프로젝트가 아니라 일회성 기술 이벤트로 취급한다는 것입니다. 다음 섹션들은 그 반대를 제안합니다.

병행 운영 전략

병행 운영이란 정해진 기간 동안 기존 시스템과 새 시스템을 동시에 가동하는 것입니다. 구체적으로는 2주에서 4주 동안, 수주, 입고, 출고, 청구 등 모든 핵심 업무를 두 도구 모두에 입력합니다. 일시적인 추가 부담이지만, 이는 진짜 안전망의 대가입니다. 어느 순간에도 고객을 응대할 능력을 잃지 않습니다.

이 방법의 핵심은 일일 대사(reconciliation)입니다. 매일 하루가 끝날 때, 몇 가지 단순한 지표—주문 건수, 총 청구액, 재고 이동, 재고 실사 차이—로 두 시스템을 비교합니다. 차이는 실패가 아니라 정보입니다. 잘못된 매핑, 잘못 번역된 업무 규칙, 또는 바로잡아야 할 사용자 조작을 드러내 줍니다. 각 차이와 그 해결 과정을 문서로 남깁니다.

전환은 결코 달력에 의존해서는 안 되며, 미리 정의한 측정 가능한 신뢰 기준에 의존해야 합니다. 예를 들어, 임계값을 넘는 청구 차이가 사흘 연속 없을 것, 분실 주문이 0건일 것, 입력 시간이 정상으로 돌아왔을 것, 출고 오류율이 안정적일 것 등입니다. 이 기준이 충족되지 않는 한, 무리하게 전환하기보다 병행 기간을 연장합니다.

이 기간에는 인간적인 미덕도 있습니다. 두려움을 습관으로 바꿔 줍니다. 팀은 실제 데이터로 새 도구를 배우지만, 신뢰가 확립될 때까지 기존 시스템이 진실의 원천으로 남아 있으므로 되돌릴 수 없는 위험은 없습니다. SupplyCore에서는 CSV 및 JSON 내보내기/가져오기공개 REST API가 이 이중 입력과 두 데이터셋의 자동 비교를 수월하게 해 줍니다.

데이터 마이그레이션: 정제, 매핑, 검증

마이그레이션은 기존 시스템에서의 전체 내보내기로 시작합니다. 가능하면 CSV 또는 JSON 형식으로, 고객, 공급업체, 제품 카탈로그, 가격, 재고, 미결 주문, 최근 이력을 내보냅니다. 이 내보내기 파일이 여러분의 원자재입니다. 황금률은, 기존에서 새 시스템으로 절대 곧바로 가져오지 않는 것입니다. 반드시 정제와 검증이라는 중간 단계를 거칩니다.

정제는 우선 중복 제거부터 다룹니다. 같은 고객이 세 가지 철자로 세 번 등록되어 있거나, 동일 품목에 제품 코드가 두 개이거나, 측정 단위가 뒤섞여 있는 것—이것들이 나중에 재고와 청구를 오염시키는 오류입니다. 병합하고, 형식(코드, 단위, 통화)을 표준화하고, 새 시스템의 필수 항목을 채우며, 죽은 데이터는 옮기는 대신 보관합니다.

매핑이란 항목별로 각 데이터가 대상 시스템에서 무엇이 되는지를 결정하는 것입니다. 어느 원본 항목이 어느 SupplyCore 항목으로 들어가는지, 어떤 값이 변환되는지, 어떤 규칙이 적용되는지. 이 대응표는 마이그레이션의 계약서이며, IT 부서만이 아니라 현업 책임자와 함께 검토하고 승인합니다.

검증은 테스트 세트와 무결성 점검에 의존합니다. 먼저 대표 표본을 가져와 합계가 맞는지(고객 수, 재고 금액, 미수 잔액) 확인하고, 몇 건의 주문을 처음부터 끝까지 재현한 뒤 범위를 넓힙니다. SupplyCore의 AI 에이전트REST API는 이상과 잔여 중복을 자동으로 탐지하는 데 도움을 주지만, 최종 검증은 서로 대사되는 수치에 근거해 내리는 사람의 결정으로 남습니다.

창고별 단계적 전환

네트워크 전체를 한 번에 켜는 대신, 단계적 전환은 배포를 거점별로 나눕니다. 먼저 파일럿 창고를 고릅니다. 가장 크지도, 가장 중요하지도 않지만 업무 흐름을 대표하고, 의욕 있는 팀과 변화를 이끌 수 있는 현장 책임자가 있는 곳입니다. 이 거점이 최초의 조정들을 흡수하며, 여기서는 실수가 한정된 범위에 머뭅니다.

파일럿은 그 어떤 실험실 테스트도 드러내지 못하는 것을 밝혀내는 역할을 합니다. 실제 습관, 오래된 고객의 특수 사례, 라벨 인쇄, 운송사와의 연동. 마주친 모든 문제는 수정되어, 이후 거점에 쓰일 전개 지침서에 문서화됩니다. 파일럿은 어느 하루 "작동한다"고 성공이 아니라, 예외적 개입 없이 며칠간 돌아갈 때 성공입니다.

이어서 다른 시나리오를 아우르도록 선택한 두세 개의 추가 창고로 구성된 웨이브가 옵니다. 이 단계에서는 축적이 이뤄집니다. 파일럿의 수정 사항은 이미 반영되어 있고, 교육은 다듬어졌으며, 진행/중단 기준은 알려져 있습니다. 조직의 학습 곡선은 웨이브를 거칠수록 가팔라집니다.

네트워크 전체로의 전면 확대는 모델이 검증되고 안정된 뒤에야 이루어집니다. 이 접근법에는 결정적 이점이 있습니다. 어느 순간에도 회사의 대부분은 알려진 시스템—기존이든 새것이든—위에서 돌아가며, 운영 전체가 동시에 같은 위험에 노출되는 일이 결코 없습니다.

역할별로 팀을 교육하기

실패하는 교육은 모두를 똑같이 대하는 교육입니다. 운전기사, 창고 작업자, 영업 담당, 경리 담당은 같은 소프트웨어를 쓰는 것이 아닙니다. 같은 도구 안에서 네 가지 서로 다른 소프트웨어를 씁니다. 각자는 자신의 동선—실제로 다루는 화면—을 배워야 하며, 그 외에는 필요 없습니다. 창고 작업자를 경리 기능으로 뒤덮으면, 정작 자기 업무를 제대로 기억하지 못하게 됩니다.

그래서 역할별 계획을 세웁니다. 영업 담당은 제품 검색, 재고 가용성, 수주 입력, 가격과 할인. 창고 작업자는 입고, 적치, 피킹, 출고, 재고 실사. 운전기사는 배송 경로, 배송 증빙, 반품. 경리는 청구, 수금, 대사, 세무. 경영진은 대시보드와 관리 지표. 각 동선에는 저마다의 전용 자료가 마땅합니다.

효과가 있는 형식은 긴 이론 시연이 아니라, 회사의 실제 사례를 바탕으로 한 짧고 실용적인 세션입니다. 초점을 맞춘 한 시간과, 뒤이어 병행 운영 중에 곧바로 이어지는 실습은, 하루 종일 지켜보는 것보다 더 잘 각인됩니다. 작업 자리에 붙여둔 한 장짜리 요약지가, 아무도 펼치지 않는 백 페이지짜리 매뉴얼보다 낫습니다.

거점별, 직무별로 몇 명의 사내 리더를 양성해 두면 도움이 됩니다. 더 빨리 익혀 다른 이들의 첫 번째 의지처가 되는 동료들입니다. 특정한 요구에 대해서는, SupplyCore가 프랑스어 네이티브 지원시간당 125달러의 맞춤 작업 시간 블록을 제공하여, 무거운 프로젝트를 벌이지 않고도 화면을 맞춤화하거나 흐름을 조정하거나 맞춤형 교육 자료를 만드는 데 활용할 수 있습니다.

롤백 계획과 진행 / 중단 기준

진지한 마이그레이션 프로젝트는 자기 자신의 실패를 미리 대비합니다. 롤백 계획은 단 하나의 질문에 답하는, 문서화된 시나리오입니다. 어느 날 아침 새 시스템을 쓸 수 없게 되면, 한 시간 안에 어떻게 업무를 재개할 것인가. 전환 기간 내내의 정직한 답은, 기존 시스템을 읽기 전용으로 이용 가능하게 유지하는 것입니다. 진행 중인 주문은 계속 조회할 수 있고, 이력은 접근 가능하며, 필요하면 그곳에 중요한 작업을 다시 입력할 수도 있습니다.

롤백 계획은 서랍에 넣어둔 문서가 아닙니다. 누가 결정하고, 누가 실행하며, 어떤 순서로, 복귀 시 어떤 데이터를 재동기화해야 하는지를 명시합니다. 대피 훈련처럼, 전환 전에 최소 한 번은 테스트합니다. 한 번도 예행연습하지 않은 롤백은 의도에 지나지 않습니다.

각 단계마다—데이터 마이그레이션 완료, 파일럿 완료, 각 웨이브 이전, 전면 확대 이전—명시적인 진행 / 중단(go / no-go) 결정을 내립니다. '진행'은 결코 느낌이 아니라, 미리 정한 정량적 기준에 근거합니다. 합계가 대사되었을 것, 분실 주문이 0건일 것, 처리 시간이 기준 이내일 것, 오류율이 임계값 미만일 것, 팀이 교육을 받고 자신감을 가졌을 것. 저지 기준이 단 하나라도 충족되지 않으면 '중단'이며, 나아가기 전에 바로잡습니다.

이 틀은 결정을 감정의 영역에서 사실의 영역으로 옮깁니다. 아무도 '지금이 적기'라고 느낄 필요가 없습니다. 숫자가 결정합니다. 바로 이것이, 어느 순간에도 깔끔한 되돌리기가 가능하다는 것을 알고서, 운영 부서가 차분하게 변화에 나설 수 있게 해 줍니다.

현실적인 일정: 주 단위로

SupplyCore 도입은 네트워크 규모와 흐름의 복잡성에 따라 보통 2주에서 6주에 걸쳐 구성됩니다. 표준 프로세스를 갖춘 단일 거점 유통사는 하단에, 연동과 특수 사례를 가진 다중 창고 네트워크는 상단에 위치합니다. 중요한 것은 절대적인 기간이 아니라, 각 단계의 논리적 연결입니다.

1주차 — 범위 설정과 데이터. 목표를 정렬하고, 역할과 리더를 파악하며, 기존 시스템의 내보내기와 정제를 시작합니다. 매핑 문서를 작성하고 환경을 준비합니다. 이와 병행하여, 진행 / 중단 기준과 롤백 계획을 명문화합니다. 2주차 — 가져오기와 검증. 첫 데이터셋을 가져오고, 무결성 점검을 돌리며, 테스트 주문을 재현하고, 합계가 대사될 때까지 매핑을 바로잡습니다. 첫 역할별 교육이 시작됩니다.

3~4주차 — 파일럿과 병행. 파일럿 창고가 병행 운영에 들어갑니다. 이중 입력, 일일 대사, 조정. 기존 시스템은 읽기 전용으로 진실의 원천으로 남습니다. 신뢰 기준이 며칠 연속 유지될 때에만 파일럿을 전환합니다. 전개 지침서에는 마주친 실제 사례가 채워집니다.

5~6주차 — 웨이브와 전면 확대. 파일럿을 발판 삼아, 후속 창고를 웨이브로 전개합니다. 축적된 경험 덕분에 교육과 병행 기간이 압축되어 전면 확대에 이릅니다. 완전한 전환 이후에도 얼마간 기존 시스템을 읽기 전용으로 접근 가능하게 유지하다가, 신뢰가 확정적으로 확립되면 폐기합니다. 이 모든 과정 내내, 프랑스어 네이티브 지원, AI 에이전트, 그리고 적응 작업 시간 블록이 일정을 탈선시키지 않으면서—그리고 운영을 결코 멈추지 않으면서—예상치 못한 일을 흡수할 수 있게 해 줍니다.