자동화는 시간을 아끼는 일이 아니라 누락 지점을 줄이는 일이다
자동화의 핵심은 몇 분을 절약하는 데 있지 않습니다. 반복 작업의 누락과 편차를 줄여 신뢰할 수 있는 개발 흐름을 만드는 일입니다.
나는 자동화를 좋아한다. 정확히는, 신경 쓸 일이 줄어든 상태를 좋아한다.
정해진 시간에 무언가를 실행하고, 잘 끝났는지 확인하고, 그 결과를 다른 곳에 옮겨 적는 일은 하나씩 보면 별것 아니다. 대부분 몇 분이면 끝난다. 문제는 그 몇 분짜리 일이 머릿속에서 좀처럼 사라지지 않는다는 데 있다. 아직 하지 않은 일을 기억해야 하고, 하고 나서는 제대로 처리됐는지 확인해야 한다. 일은 짧은데 책임은 하루 종일 남는다.
그래서 자동화할 일을 찾을 때 걸리는 시간만 보지는 않는다. 그 과정에서 사람이 몇 번이나 기억해야 하는지, 몇 번이나 실수할 수 있는지를 본다. 한 시간 걸리는 단순 작업보다 5분이면 끝나지만 매번 신경 써야 하는 작업이 더 먼저 눈에 들어올 때도 있다.
판매는 한 번인데 기록은 여러 번이었다
2021년 경희대학교 시각디자인과 졸업전시 웹사이트와 운영 시스템을 맡았다. 웹사이트를 구현하고 AWS 서버를 관리하는 것이 원래 역할이었는데, 전시가 시작된 뒤에는 굿즈 판매 과정이 눈에 밟혔다.
굿즈 하나가 팔리면 판매 내역을 적고 재고를 줄여야 했다. 전체 매출에 반영하고, 판매 주체별 정산 금액도 계산해야 했다. 각각은 어렵지 않았지만 하나의 판매를 여러 장부에 반복해서 기록하는 방식이었다.
한가할 때는 문제가 잘 드러나지 않는다. 천천히 적고 다시 확인하면 된다. 관람객이 몰리면 달라진다. 판매 내역은 적었는데 재고를 줄이지 않을 수 있고, 전체 매출에는 반영했지만 정산 장부에서 빠뜨릴 수도 있다. 입력하는 도중 누군가 말을 걸면 방금 어디까지 적었는지 헷갈린다.
이럴 때 흔히 나오는 대책은 “다음부터 빠뜨리지 않도록 주의해 주세요”다. 당장 다른 방법이 없을 때는 필요한 말이지만, 해결책이라고 보기는 어렵다. 사람이 더 꼼꼼해야만 정확해지는 과정은 바빠질수록 쉽게 무너지기 때문이다.
그래서 별도 요청을 받기 전에 Excel 장부를 만들어 먼저 제안했다. 판매 내역을 한 번 입력하면 재고, 전체 매출, 판매 주체별 정산, 마감 결과가 각 시트에서 계산되도록 했다. VBA나 별도의 프로그램은 사용하지 않았다. Excel 함수로 충분했다. 캐셔 PC 한 대에서 담당자가 차례대로 입력하는 현장이었으니 여러 사람이 동시에 접속하는 시스템도 필요하지 않았다.
기술적으로 대단한 작업은 아니었다. 그래도 현장에서 생기는 문제는 분명히 줄였다. 이전에는 한 번 판매할 때마다 여러 장부를 빠짐없이 수정해야 했다면, 이제는 판매 내역만 정확히 입력하면 됐다. 같은 사실을 옮겨 적는 횟수가 줄면서 누락될 만한 자리도 함께 줄었다.
장부는 도입된 뒤 전시가 끝날 때까지 사용됐다. 마감 정산이 쉬워졌고, 남은 재고와 부족한 굿즈도 빠르게 파악할 수 있었다. 당시에는 웹사이트가 프로젝트의 중심이라고 생각했지만, 현장에서 더 직접적으로 쓰인 것은 Excel 파일이었다. 무엇으로 만들었느냐보다 실제 운영이 어떻게 달라졌느냐가 중요하다는 것을 실감한 경험이었다.
짧게 끝나지만 계속 따라다니는 일
비슷한 문제는 이후에도 자주 나타났다.
매장별로 폴더를 복제해 운영하던 키오스크 프로젝트에서는 수정 사항을 각 매장 폴더에 따로 반영해야 했다. 파일을 복사하고 확인하는 데 오랜 시간이 걸리지는 않았다. 다만 매장이 늘어날수록 찜찜함이 남았다. 혹시 한 곳을 빼먹지는 않았을까. 실제로 패치를 놓치면 매장마다 서로 다른 버전이 실행될 수 있었다. 결국 변경 사항을 한꺼번에 반영하는 동기화 스크립트를 만들었다. 몇 분을 아끼기보다 모든 폴더를 수정했는지 기억하고 확인하는 일을 없애고 싶었다.
개인적으로 만든 복권 구매 봇도 크게 다르지 않았다. 복권을 사는 데 걸리는 시간이 아까웠다기보다 구매 여부와 추첨 결과, 잔액, 오류 상태를 계속 챙기는 일이 귀찮았다. 구매 자체보다 구매 전후를 추적하는 일이 더 오래 머릿속에 남았다. 그래서 정기 구매부터 결과 확인과 알림까지 하나의 흐름으로 묶었다.
Excel 장부와 키오스크 동기화 스크립트, 복권 구매 봇은 겉모습이 모두 다르다. 그래도 만든 이유를 거슬러 올라가면 비슷한 지점에 닿는다. 일이 끝난 뒤 다음에 무엇을 해야 하는지 사람이 계속 기억해야 했다. 나는 그 연결을 시스템 안으로 옮기고 싶었다.
자동화하지 않는 편이 나을 때도 있다
반복되는 일을 모두 자동화할 필요는 없다. 한 번 하고 끝날 일을 자동화하느라 하루를 쓰는 건 재미있는 개인 프로젝트가 될 수는 있어도 효율적인 업무는 아닐 수 있다. 자동화한 도구도 업무가 바뀌면 함께 고쳐야 한다.
그래서 반복 횟수만 세기보다 실수할 지점을 살펴본다. 같은 내용을 여러 군데 입력해야 하는가. 실행할 시점을 누군가 기억해야 하는가. 한 단계를 빠뜨리면 최종 결과가 달라지는가. 결과를 확인하려고 여러 시스템을 돌아다녀야 하는가. 작업자가 바뀔 때마다 품질 차이가 커지는가.
이런 문제가 겹친다면 짧은 작업도 자동화할 가치가 있다. 반대로 가끔 한 번 하고, 실수해도 쉽게 되돌릴 수 있는 일이라면 체크리스트만으로 충분할 수 있다. 자동화한다고 해서 반드시 프로그램을 새로 만들 필요도 없다. 졸업전시에서는 Excel 함수로 충분했고, 더 복잡한 시스템을 만드는 편이 오히려 현장에 맞지 않았다.
결국 중요한 것은 코드를 얼마나 많이 쓰느냐가 아니다. 사람이 판단해야 할 일과 정해진 절차대로 반복하면 되는 일을 구분하는 것이다. 답이 정해져 있는데도 누군가 기억하고 옮기고 확인해야 한다면 시스템이 맡을 여지가 있다. 반대로 상황의 맥락을 읽고 예외를 판단해야 하는 부분까지 억지로 자동화하면, 편해지기는커녕 관리할 것만 늘어난다.
주의하겠다는 말 다음에 할 일
실수가 생기면 우선 다음부터 주의하겠다고 말한다. 필요한 태도지만, 같은 실수가 반복된다면 거기에서 멈추면 안 된다. 누가 잊었는지만 볼 게 아니라 왜 잊기 쉬웠는지도 봐야 한다. 확인을 하지 않은 것인지, 애초에 확인할 곳이 지나치게 많았던 것인지도 구분해야 한다.
입력은 가능하면 한 번만 받고, 나머지 결과는 그 입력에서 계산한다. 정해진 시간에 해야 하는 일은 시스템이 시작하게 한다. 실패할 수 있는 작업은 진행 상태를 남겨 어디까지 처리됐는지 확인할 수 있게 한다. 이런 장치를 하나씩 더하면 사람이 특별히 긴장하지 않아도 일이 굴러가기 시작한다.
언제나 꼼꼼한 사람만 사용할 수 있는 시스템은 그다지 안정적이지 않다. 바쁘거나 피곤한 날에도 큰 문제 없이 돌아가야 한다. 실제 업무에서는 모두가 늘 최상의 상태일 수 없기 때문이다.
내게 자동화는 사람을 대신하는 기술이라기보다, 사람이 계속 신경 쓰지 않아도 되는 범위를 넓히는 방법이다. 한 시간짜리 작업을 1분으로 줄이는 것도 좋지만, 다섯 번 조심해야 했던 일을 한 번만 확인하면 되게 만드는 것도 그만큼 가치 있다.
READ NEXT
같은 주제의 글 더 보기
제 얼굴을 본뜬 SVG 프레젠터를 만들고, 프로그래머블 API와 TTS를 연동해 릴스 자동화 시스템에 넣었습니다. 팔과 손을 움직이던 첫 프로토타입부터 얼굴의 인상, 안경과 옷깃, 음성에 맞춘 동작을 다듬기까지 AI와 함께 겪은 시행착오를 정리했습니다.
Read EntrySpring·Kotlin 백엔드 구조를 다시 설계하며 UseCase, Domain, Repository의 책임과 상태 저장, 트랜잭션 경계를 정리한 기록입니다.
Read Entry
댓글 0
로그인 없이 익명으로 남길 수 있습니다.