/GC_QM_Working_Management

GC녹십자 QM 공수관리 프로젝트 RPA

Primary LanguagePython

💊GC녹십자 QM공수관리 프로젝트

※ 본 프로젝트는 IT프로젝트가 아닌 컨설팅 프로젝트였으며, 프로젝트 수행 중 만든 RPA에 대한 기록임

본 문서에 회사 기밀과 관련된 정보(프로젝트 수행 배경, 데이터 분석 결과 등)는 제외하고 오로지 RPA 제작에 대한 배경 및 진행과정만 서술함

프로젝트 기간: 20.02.17 ~ 20.07.30(약 6개월)

RPA 개발 기간: 약 1개월(1인 개발)

=> Python 초보였고, 실무에 적용하여 사용해야하다보니 고객사쪽 보안에 걸리는 문제도 있었으며, 개발 도중 고객사의 요구가 계속해서 추가되었기에 간단한 프로그램이었지만 기간이 오래 걸렸음

🖼️배경

Excel Worksheet 기반 QM조직(품질 조직 - QM, QE, QA, QC) 구성원들의 공수(일한 시간)를 측정하는 과제를 진행함

324명의 30일 간 하루 8시간 이상의 공수에 대해 10분 단위로 어떤 일을 했는지 개인이 기록하게 하였음

당초 PM이 과거 경험에 미뤄봤을 때, 응답율은 60%대로 예상하였고, 작업량이 많지 않을 것이라 예상함(야근 또한 크게 고려하지 않음)

그러나 1주차 이후 응답율을 보았을 때, 거의 전원에 가까운 사람이 자세하게 응답하였고, Q조직 특성상 야간 상주 인원도 존재하여 생각보다 집계해야할 데이터와 작업량이 매우 많아짐

당초 Excel Worksheet를 VBA를 활용해 사용자들이 쉽게 기록을 할 수 있도록 만들었기에 PM은 이번에도 VBA를 활용해 이 많은 양의 데이터를 집계할 수 없는지 나에게 의견을 구하셨고, 이에 나는 프로그래밍을 통해 간단하게 해결할 수 있을 것이라 대답하였음

🐢경과

처음에는 VBA를 통해서 쉽게 할 수 없을까 방법을 찾아보다가, Python3 기반의 Openpyxl을 활용하기로 함

도중에 원하는 대로 잘 안돼서 다른 라이브러리를 사용할까하다가 다행히 문제를 해결하였음

단순히 엑셀의 값(value)만 읽어오는 것이 아니라 특정 셀에 색칠된 정보까지 읽어와야하는 등 해당 시트에 존재하는 거의 모든 데이터는 빠뜨리지 않고 받아와야만 했음

초보가 처음으로 실제 동작하는 프로그램을 개발하다보니 막히는 부분도 많았고 작업 진행도 더뎌서 도중에 사람이 수작업으로 다 집계해야하는 것 아니냐는 우려가 발생하였음

다행히 공식 문서와 StackOverFlow 등을 활용해 직면하였던 문제를 해결할 수 있었고, 정상적으로 작동하는 프로그램을 만들 수 있었음

👍결과

예상과 달리 실제 99.7%의 응답율을 보여주었음(1명을 제외하고 모두 응답함)

데이터 집계 또한 성공적으로 할 수 있었고, 가공도 반자동으로 가능하게끔 프로그램을 추가하였음

집계된 데이터를 통계적으로 분석한 결과 매우 유의미한 데이터였음을 증명하였음(Worksheet분석과 Worksampling결과 비교 등)

고객사로부터 결과에 대해 많은 긍정적인 반응을 얻었음 => 지금 현재 가장 기억에 남는 칭찬은 '품질 조직 말고 본사 및 타 공장 전체 조직 대상으로도 한번 해보는 것이 어떻느냐', '데이터가 자세하고 굉장히 인상적이고 결과가 의미있는 것 같다' 등

🤔회고

당시 나는 파이썬으로 레벨 1수준의 알고리즘 문제도 겨우 푸는 수준이었는데, 우연찮게 일하게 된 직장의 첫 프로젝트에서 이렇게 프로그래밍을 활용해서 문제를 해결하게 될 줄 정말 꿈에도 몰랐다.

결과적으로 모든 것이 정말 잘 해결되었고 내가 만든 프로그램 덕분에 굉장히 좋은 결과를 얻을 수 있어서 뿌듯함을 많이 느꼈다.

지금 생각해보면, 진지하게 개발자로서의 진로를 다시 한 번 생각해보게 된 계기가 되지 않았나 싶다.

프로그램 소스 코드를 보면 정말 별거 없지만, 당시에 나는 많은 노력을 들여가며 문제를 해결하려고 노력하였고, 디버깅 및 테스트도 열심히 하였다.

물론 지금의 실력과 비교했을 때, 종이 한장 차이밖에 나지 않을 것이라 생각한다. 하지만 지금의 내가 당시 상황으로 돌아간다면, 코드를 짜고 프로그램을 구성할 때, 단순히 작업 플로우만 생각하지 않고, 코드의 재사용성 및 모듈화를 조금 염두해두고 만들지 않을까라는 생각을 해본다.