← 목록으로 돌아가기

공장 불끄러 갔다가, 스마트 팩토리 건축가가 되어 돌아온 썰 푼다 (feat. UWS MES)

2026년 9월 18일 👀 11
#Project#Behind#AI_Generated
공장 불끄러 갔다가, 스마트 팩토리 건축가가 되어 돌아온 썰 푼다 (feat. UWS MES)
안녕하세요, RX SOFT PM팀의 이승민 본부장입니다. 경력? 음, 이 바닥에서 잔뼈 굵은 지 어언 15년, 셀 수도 없는 프로젝트들을 거쳐왔지만, 이번 UWS MES 프로젝트는 정말이지 저의 개발 인생에서 손꼽히는 ‘찐한 경험’이었네요. 옆자리 동료들에게 커피 한 잔 타주면서 "야, 이번엔 진짜 장난 아니었다…" 하고 시작하는 그 썰, 오늘 블로그에서 아주 재미있고 솔직하게 풀어볼까 합니다. RX SOFT는 단순히 고객이 원하는 기능을 코딩만 해주는 회사가 아닙니다. 저희는 고객의 비즈니스 근본적인 문제를 해결하고, 함께 성장하는 '컴퍼니빌더'를 지향하죠. 이번 UWS MES 프로젝트는 그 정신이 아주 제대로 발휘된 대작 중의 대작이었습니다. 고객사는 기존 생산 라인에서 발생하는 비효율과 로스로 인해 밤낮으로 골머리를 앓고 있었어요. "이승민 본부장님, 저희 공장이요, 정말 불이 난 것 같아요. 여기저기서 연기만 나고 어디서부터 손대야 할지 모르겠습니다." 처음 고객사 대표님을 만났을 때, 그분의 얼굴에는 피로와 함께 절박함이 그대로 묻어 있었습니다. 생산 계획은 종이와 엑셀 시트에 뒤섞여 있고, 재고는 창고 구석에서 먼지만 쌓여가고, 불량품은 매일매일 '로스'라는 이름으로 회사의 이익을 갉아먹는 상황이었죠. 저희 RX SOFT는 그 불을 끄는 소방수가 되어달라는 요청을 받았습니다. 하지만 불을 끄는 데 그치지 않고, 그 공장을 아예 '스마트 팩토리'로 재건축하는 청사진을 제시하는 것이 저희의 역할이었습니다. 생산 계획부터 재고, 로스 관리까지 통합해서 생산 효율을 극대화한다? 말은 쉽죠. 하지만 현실은 언제나 녹록지 않다는 것을 저는 15년의 경험으로 너무나 잘 알고 있었습니다. 저희 기획팀 박범수 팀장은 밤낮으로 고객사의 생산 현장을 파고들었습니다. 라인마다 어떤 기계가 몇 대 있는지, 각 기계의 처리 속도는 어떻고, 어떤 원재료가 들어가고, 어떤 공정에서 병목현상이 일어나는지, 심지어 작업자들의 근무 스케줄까지 싹 다 긁어모았죠. 고객사는 "아니, 그냥 우리가 몇 시부터 몇 시까지 이거 만들고 싶다고 하면 자동으로 착착 되는 거 아닌가요?" 하는 순진한 질문을 던졌지만, 박 팀장은 웃으면서 "대표님, 공장은 살아있는 유기체와 같습니다. 각 기계마다 성격도 다르고, 심지어 날씨나 작업자의 컨디션에 따라서도 효율이 달라지죠. 그걸 다 고려해야 진정한 최적화가 가능합니다!"라고 설득했습니다. 여기서 첫 번째 난관, 아니, 거의 '멘붕 직전의 쓰나미'가 몰려왔습니다. 첫 번째 에피소드: "이 기계는 자기 마음대로 쉬어요!" 기획 단계에서 고객사의 담당자분들과 회의를 하는데, 갑자기 고객사 생산팀장님이 한숨을 푹 쉬면서 이런 말씀을 하시는 겁니다. "이승민 본부장님, 저희 공장에 'A-101'이라는 구형 프레스 기계가 있어요. 얘가 고생을 많이 해서 그런지, 가끔 아무 이유 없이 몇 시간 동안 멈춰버리곤 합니다. 그런데 또 언제 그랬냐는 듯이 갑자기 다시 돌아가요. 이 스케줄링 시스템이, 이런 '변덕스러운 기계'의 특성까지 다 파악해서 생산 계획을 짜줄 수 있나요? 그냥 고장 났다고 치고 스케줄을 다시 짜면, 또 갑자기 돌아와서 라인이 엉망이 됩니다." 이 말을 듣는 순간, 저희 기획팀은 물론 개발팀 류현광 팀장, 박재현 팀장까지 모두 얼굴이 새파래졌습니다. 세상에, 기계가 '자기 마음대로 쉬는' 특성이라니요! 일반적인 MES는 정해진 스펙과 예상 가동률을 바탕으로 스케줄링을 하는데, 이건 거의 인공지능이 기계의 심리 상태를 분석해야 할 판이었죠. 농담이 아니라 정말 한동안 회의실에 정적이 흘렀습니다. "이게 과연 기술적으로 가능한 요구사항인가?" 하는 의문이 모두의 머릿속을 맴돌았습니다. 하지만 저희 RX SOFT는 여기서 주저앉을 사람들이 아니죠. ‘컴퍼니빌더’ 정신은 단순히 현재의 문제를 해결하는 것을 넘어, 미래의 불확실성까지 예측하고 대비하는 데 있습니다. PM팀 이승민 본부장인 제가 총대를 메고, 백엔드팀 박재현 팀장과 머리를 맞대고 고민했습니다. "기계의 '변덕'을 시스템이 어떻게 학습하고 예측할 수 있을까?" 수많은 자료를 찾아보고, 최신 기술 트렌드를 분석했습니다. 그리고 저희는 '예측 유지보수'와 '강화 학습'의 개념을 도입하기로 결정했습니다. A-101 기계의 가동 로그, 이상 징후 데이터(미세한 진동, 온도 변화 등)를 최대한 수집하고, 이를 바탕으로 '비정상 가동 중단 패턴'을 학습하는 모델을 만들기로 했습니다. 즉, 기계가 "나 지금 좀 쉬고 싶어…" 하는 신호를 보내기 전에 시스템이 먼저 "아, 이 녀석 또 슬슬 꾀병 부릴 준비 하는군" 하고 알아채는 거죠. 더 나아가, 이 예측된 '변덕'을 스케줄링에 실시간으로 반영하기 위해 'Loss Simulation Engine'을 고도화했습니다. 이미지에서 보셨다시피, 저희 UWS MES는 'WASM POWERED' 로스 시뮬레이션 엔진을 탑재했습니다. WebAssembly(WASM)의 초고속 연산 능력을 활용해서, A-101 기계의 갑작스러운 중단이 전체 생산 라인에 미치는 영향을 밀리초 단위로 시뮬레이션하고, 최적의 대안 스케줄을 즉시 제안할 수 있도록 만들었습니다. 예를 들어, A-101이 2시간 멈출 것으로 예상되면, 그동안 다른 여유 기계로 작업을 전환하거나, 우선순위가 낮은 작업을 당겨오는 식으로 유연하게 대응하는 겁니다. 솔직히 이 기능 구현하느라 박재현 팀장과 백엔드 팀원들은 한동안 야근과 주말 출근을 밥 먹듯이 했습니다. 저는 옆에서 커피와 간식을 공급하며 "박 팀장님, 역사에 남을 MES를 만듭시다!" 하고 응원하는 것밖에 할 수 없었죠. 하지만 결국 해냈습니다. 고객사 생산팀장님은 시스템이 A-101의 '변덕'까지 예측해서 스케줄을 짜주는 것을 보고 "이거 거의 신들린 시스템인데요?" 하며 감탄사를 연발하셨습니다. Project Image 이게 바로 저희 UWS MES의 핵심 대시보드 화면입니다. 복잡한 공장 현황이 한눈에 들어오도록 설계했죠. 'Active Production', 'Active Machines', 'Low Inventory Alerts', 그리고 핵심인 'Total Loss Rate'까지, 실시간으로 모든 상황을 파악하고 즉각적인 의사결정을 내릴 수 있도록 돕습니다. 저희 UI/UX본부 임정민 본부장님과 디자인팀 조수현 팀장이 정말이지 심혈을 기울였습니다. 처음 디자인 시안을 냈을 때, 고객사에서는 "이게 우리 공장이라고요? 이렇게 깔끔하고 보기 좋게 만들 수 있다니!"라며 놀라움을 금치 못했습니다. 현장의 복잡함을 최소화하고, 필요한 정보만을 직관적으로 보여주는 데 집중했죠. 단순히 예쁘기만 한 디자인이 아니라, '생산성을 높이는 디자인'을 목표로 했습니다. 하지만 아름다운 디자인만큼이나 중요한 것은 그 디자인 뒤에서 묵묵히 돌아가는 수많은 데이터와 로직입니다. 그리고 그 데이터를 현실 세계에서 시스템으로 끌어오는 과정에서 또 한 번의 '빅 이벤트'가 터졌습니다. 두 번째 에피소드: "구닥다리 기계들이 말을 안 들어요!" 개발 중반, 프론트팀 류현광 팀장이 "이승민 본부장님, 백엔드팀 박재현 팀장님, 큰일 났습니다. 저희가 스케줄링을 돌려보니 데이터가 뭔가 이상해요. 특정 기계의 생산량이 실제와 자꾸 차이가 납니다." 보고를 해왔습니다. 확인해 보니, 고객사의 일부 구형 생산 기기들이 데이터를 아주 '불친절하게' 내뱉고 있었습니다. 요즘 기계들은 대부분 API나 표준화된 통신 프로토콜로 데이터를 뽑아내지만, 이 고객사의 일부 설비는 20년도 더 된 유물 같은 기계들이었습니다. 데이터를 뽑아내긴 하는데, 마치 고대 유적에서 발견된 암호문처럼 구조화되지 않은 텍스트 파일로 툭 던져주거나, 심지어는 프린터로 출력된 종이를 스캔해서 '이게 데이터다!' 하고 우기는 경우도 있었습니다. 말 그대로 '생 데이터를 가공하지 않은 쓰레기 더미'에 가까웠죠. 이 데이터를 정제해서 MES 시스템에 올바르게 연동하는 것은 단순한 개발을 넘어선 거의 '고고학 발굴 작업'이었습니다. "아니, 이걸 어떻게 프로그램으로 해석해서 MES에 넣으라는 말입니까? 이건 사람이 일일이 보고 입력하는 게 더 빠를 지경이에요!" 백엔드팀의 박재현 팀장은 거의 절규에 가까운 목소리로 말했습니다. 저희 프론트팀과 백엔드팀은 멘붕에 빠졌고, 이대로는 정확한 생산량 추적이나 로스 관리 자체가 불가능한 상황이었습니다. 하지만 RX SOFT에는 '애자일하고 유연한 시니어 인력풀'이라는 비장의 무기가 있습니다. 저희는 즉시 유지보수팀 김성찬 팀장을 투입시켰습니다. 김 팀장님은 이 분야에서만 20년 가까이 경험을 쌓은, 그야말로 '레거시 시스템 마스터'였습니다. 김 팀장님은 고객사 현장에 직접 투입되어 며칠 밤낮으로 문제의 구형 기계들을 분석했습니다. 그리고 놀라운 사실을 발견했죠. 비록 텍스트 파일이지만, 그 안에 특정 패턴이 반복되고 있었던 겁니다. 마치 기계들이 자기들만의 은밀한 '언어'를 쓰고 있었던 것처럼요. 저희 팀은 김성찬 팀장님의 분석을 토대로, 이 '은밀한 언어'를 해독하는 특수 데이터 파싱 엔진을 개발했습니다. 단순히 정규식을 쓰는 수준을 넘어, 머신러닝 기반의 텍스트 패턴 인식 기술을 적용해서, 비정형적인 텍스트 데이터 속에서 필요한 생산량, 불량률, 가동 시간 등의 핵심 정보를 추출해내는 데 성공했습니다. 때로는 고객사 직원분들이 수기로 입력한 데이터를 검증하는 모듈까지 추가하며, 인간의 실수 가능성까지 최소화했죠. 마치 고대의 상형문자를 현대어로 번역하는 작업과 같았습니다. 이 과정에서 수십 번의 시행착오와 수정을 거쳤지만, 저희 팀원들은 "안 되는 건 없다!"는 RX SOFT의 DNA를 다시 한번 증명해 보였습니다. 이렇게 개발이 어느 정도 틀을 잡아가면, 저희 QA팀 안미려 팀장님의 '매의 눈'이 가동됩니다. 안 팀장님은 고객사 담당자보다 더 고객사의 생산 공정을 꿰뚫고 있는 듯했습니다. "이승민 본부장님, 여기서 생산량 숫자가 미세하게 튀네요. 데이터 흐름 다시 봐야 합니다! 이 기계의 불량률이 어제는 1%였는데 오늘은 1.2%로 나왔어요. 이게 정말 데이터 오류인지, 아니면 실제 생산 라인에 문제가 생긴 것인지 확인이 필요합니다." 단순 버그를 잡는 것을 넘어, 시스템이 고객사의 실제 비즈니스에 어떤 영향을 미치는지까지 파악하고 검증하는 모습은 늘 저에게 깊은 인상을 줍니다. 잦은 수정 요청과 버그 발생은 현실적인 고민이지만, RX SOFT는 이를 통해 더욱 완벽한 솔루션을 만들어나가는 거죠. 저희는 단순한 오류를 넘어 '사용자 경험'과 '비즈니스 임팩트' 관점에서 QA를 진행하며, 고객이 미처 생각지 못한 부분까지 개선합니다. 이것이 바로 RX SOFT만의 노하우이자, 저희가 프로젝트를 '완성'이 아닌 '성공'으로 이끄는 방식입니다. 결과적으로 UWS MES는 고객사의 생산 효율을 획기적으로 개선했습니다. 예측 불가능했던 로스율은 안정적으로 관리되고, 재고는 필요한 만큼만 유지되며 비용 절감 효과까지 가져왔습니다. 생산 계획은 더 이상 수작업의 고통이 아닌, 시스템이 제안하는 최적의 스케줄로 움직이기 시작했습니다. 무엇보다 고객사 대표님께서 "이제야 우리 공장에 빛이 들어오는 것 같다"고 말씀하셨을 때의 그 뿌듯함이란! RX SOFT는 단순한 소프트웨어 공급업체가 아니라, 고객사의 비즈니스 동반자로서, 함께 문제를 고민하고 해결하며 성장하는 '컴퍼니빌더'의 길을 걷고 있음을 다시 한번 확인한 프로젝트였습니다. 이번 UWS MES 프로젝트는 'AX_Showcase' 해시태그와 함께 저희 RX SOFT의 중요한 레퍼런스가 될 것입니다. 어떠신가요? 제 썰이 좀 재미있으셨나요? 저희 RX SOFT는 늘 이렇게 유쾌하고 진지하게, 그리고 뜨거운 열정으로 고객의 문제에 뛰어들고 있습니다. RX SOFT와 함께 다음 스마트 팩토리의 미래를 만들어가고 싶으신가요? 혹은 RX SOFT만의 차별화된 기술력과 '컴퍼니빌더' 정신이 궁금하시다면, 언제든 저희 홈페이지를 방문해 주세요. 저희의 다양한 포트폴리오를 확인하고, 함께 세상을 바꿀 프로젝트에 도전할 인재를 찾고 있습니다! RX SOFT 공식 홈페이지: https://rxsoft.co.kr/ 다음에 또 재미있는 썰로 찾아뵙겠습니다!

연관 포스팅