블로그 목록
success근태 관리사원증 인식기슬랙 연동모바일 앱

사원증 한 장을 두 시스템이 읽습니다: 자율 휴게 관리 구축기

"휴게시간을 자율로 바꿨는데, 실제로 얼마나 쓰는지를 알 방법이 없습니다." 저희가 받은 요구는 이 한 문장이었고, 처음 나온 답은 이미 깔려 있는 출입 통제 기록을 쓰자는 것이었습니다. 그 답을 버리고 인식기를 새로 만들기까지, 그리고 만든 뒤에 새로 나온 문제들에 대한 기록입니다.

OpenIoT

OpenIoT 플랫폼팀

조회 16
사원증 한 장을 두 시스템이 읽습니다: 자율 휴게 관리 구축기

국내 스킨케어 브랜드의 사무실에 자율 휴게시간 관리 시스템을 구축하고 운영을 시작했습니다. 수백 명 규모의 임직원이 쓰고 있습니다. 결과만 보면 사원증을 대면 시간이 기록되는 단순한 시스템인데, 거기까지 가는 동안 두 번 방향을 바꿨습니다.


자율로 바꾸는 순간 근거가 사라집니다

이 회사는 휴게시간을 정해진 시간대에 묶지 않고 구성원이 알아서 쓰도록 운영하고 있었습니다. 제도는 자리를 잡았는데, 실제 사용 현황을 확인할 수단이 없다는 것이 남은 문제였습니다.

다 같이 정해진 시간에 쉬던 때에는 따로 확인할 것이 없었습니다. 각자 알아서 쓰기 시작하는 순간부터 아무 기록도 남지 않고, 그때부터 양쪽이 동시에 곤란해집니다.

기록이 없으면
회사제도가 의도대로 돌아가는지 판단할 근거가 없습니다
구성원자기가 이번 달에 얼마를 썼는지 스스로도 알지 못합니다

자율로 두되 최소한의 근거는 남기고 싶다. 요구를 한 줄로 줄이면 이것이었고, 인원이 수백 명이라 누가 눈으로 세는 방식은 애초에 후보가 아니었습니다.

한 가지 전제를 먼저 잡고 시작했습니다. 휴게시간 측정은 가계부와 성격이 비슷합니다. 덜 쓰라고 만드는 것이 아니라 얼마를 썼는지 본인이 알기 위해 쓰는 것인데, 이 전제가 흔들리는 순간 같은 시스템이 감시 장치로 읽힙니다. 뒤에서 알림을 어디로 보낼지 오래 고민한 것도 결국 이 전제 때문이었습니다.


이미 있는 기록을 쓰자는 답이 먼저 나왔습니다

첫 안은 설비를 늘리지 않는 쪽이었습니다. 사원증을 찍고 드나드는 기록이 출입 통제 시스템에 이미 쌓이고 있으니, 집계 로직만 얹으면 된다는 계산입니다. 저희도 여기서 출발했습니다.

계산해 보니 성립하지 않았습니다. 출입 통제는 보안과 출입 관리를 목적으로 설계된 기록이라, 외근이든 미팅이든 휴게든 전부 같은 모양으로 남습니다. 나가고 들어온 시각만 있고 왜 나갔는지가 없으니, 그 기록으로 산정한 숫자는 휴게시간이 아니라 자리 비운 시간입니다.

방식추가 설비막힌 지점
기존 출입 통제 기록 재활용없음외근, 미팅, 휴게가 전부 같은 모양으로 남습니다
앱에서 시작과 종료를 직접 입력없음누르는 것을 잊으면 그날 기록이 통째로 비고, 비는 순간 집계가 사실과 달라집니다
휴게 전용 인식기를 따로 설치있음설비가 늘어나는 대신, 남는 기록이 전부 휴게 목적의 태깅입니다

"출입 기록에 목적을 표시해 두면 되지 않나요"

이 지점에서 나온 절충안입니다. 나갈 때 휴게인지 아닌지 한 번 눌러 두면 같은 기록으로 구분할 수 있지 않느냐는 것이었습니다.

방법 자체는 성립합니다. 다만 표시하는 주체가 결국 사람이라, 바쁜 날에는 빠지고 빠진 기록은 나중에 복구할 방법이 없습니다. 한 번이라도 빠뜨리면 안 되는 절차를 사람의 주의력에 맡기면 그 절차는 언젠가 반드시 깨진다고 보고, 애초에 표시할 일이 생기지 않는 쪽으로 방향을 바꿨습니다.

두 번째 안인 앱 입력을 버린 이유도 같습니다. 누르는 사람이 있어야 성립하는 구조는 전부 같은 자리에서 무너집니다.


기록 하나에 목적 두 개를 얹지 않기로 했습니다

전용 인식기를 따로 두기로 정했습니다. 고객사도 기존 출입 통제 시스템은 그대로 유지하는 쪽을 택했는데, 이미 돌아가고 있는 보안 체계를 건드리면 검토 범위가 출입 정책 전체로 번지기 때문입니다. 휴게시간 측정 하나를 붙이려다 보안 담당자와 출입 정책부터 다시 논의하게 되면, 그 시점에는 이미 다른 프로젝트입니다.

한 장의 사원증을 두 시스템이 각각 읽습니다. 위쪽은 기록 하나에 목적 두 개를 얹었고, 아래쪽은 목적마다 기록을 따로 남깁니다. 나중에 숫자가 이상할 때 그것이 측정 오류인지 실제 사용인지 가려낼 수 있느냐가 이 차이에서 갈립니다.

그러면 사원증을 새로 발급해야 하느냐

정하자마자 바로 따라온 질문이었습니다. 실무에서 비용이 튀는 지점은 대개 여기입니다. 카드를 전부 바꾸면 재발급과 회수, 분실 대응까지 딸려 오고, 그때부터는 측정 하나 붙이자고 시작한 일이 아니게 됩니다.

기성 인식기를 사서 붙이는 쪽을 먼저 봤습니다. 개발할 것이 줄어드니 당연히 먼저 검토한 안입니다. 문제는 사원증 규격이 회사마다 다르다는 점이었고, 설치를 마친 뒤에 읽히지 않는 카드가 나오면 그 시점에는 되돌릴 방법이 마땅치 않았습니다.

그래서 인식기를 직접 만들었습니다. 고객사가 쓰고 있던 사원증을 먼저 읽어 본 다음 그 규격에 맞춰 제작했으므로 카드는 한 장도 바꾸지 않았습니다. 사무실 출입구 양측 2개 구역에 인식기 4대를 설치하고, 그 장비에서 수집한 기록만으로 휴게시간을 계산합니다. 개발 기간은 늘었지만 카드 교체 리스크는 없앴습니다.

순서를 뒤집은 것이 이 구간의 요점입니다. 기성품을 고르고 카드가 읽히기를 바라는 대신, 카드를 먼저 읽어 보고 거기에 맞춰 만들었습니다. 회로 설계와 기판 제작, 펌웨어를 직접 하는 팀이라 고를 수 있었던 순서이고, 그렇지 않았다면 「사원증은 그대로」라는 조건부터 다시 협의했을 것입니다.

쓰던 사원증을 그대로 대는 모습입니다. 카드를 바꾸지 않아도 되도록 이 규격에 맞춰 인식기를 만들었습니다.

쓰던 사원증을 그대로 대는 모습입니다. 카드를 바꾸지 않아도 되도록 이 규격에 맞춰 인식기를 만들었습니다.

설치는 사무실 출입구 벽면에 붙이는 방식입니다. 기존 출입 통제 기기와 나란히 놓이지만 서로 연결돼 있지는 않습니다.

사무실 출입구에 설치된 휴게 전용 인식기입니다. 옆의 출입 통제 설비는 그대로 두고 이 장비만 새로 붙였습니다.

사무실 출입구에 설치된 휴게 전용 인식기입니다. 옆의 출입 통제 설비는 그대로 두고 이 장비만 새로 붙였습니다.

결과를 보는 곳이 세 갈래입니다. 본인은 자기 기록만 보면 되고 관리 부서는 전체를 봐야 하는데, 한 화면에 둘을 담으면 어느 쪽에도 맞지 않는 구성이 나옵니다. 앱을 설치하지 않은 사람도 모바일 웹으로 같은 내용을 확인할 수 있게 했습니다.

모바일 웹을 따로 둔 것은 앞에서 잡아 둔 전제와도 이어집니다. 자기 기록을 보려면 앱부터 깔아야 하는 구조면, 안 깐 사람은 자기 숫자를 모른 채로 집계만 당하는 상태가 됩니다. 그 상태가 길어지면 시스템이 감시로 읽히기 시작합니다.

임직원 앱 홈 화면입니다. 오늘 쓴 45분과 남은 45분, 마감까지 남은 40분이 한 화면에 있습니다. 초과한 날과 종료 태깅이 없는 날은 지난 기록에 따로 표시됩니다.

임직원 앱 홈 화면입니다. 오늘 쓴 45분과 남은 45분, 마감까지 남은 40분이 한 화면에 있습니다. 초과한 날과 종료 태깅이 없는 날은 지난 기록에 따로 표시됩니다.

홈에서 한 단계 들어가면 그날의 태깅 내역이 그대로 보입니다. 집계된 숫자만 보여주고 끝내지 않은 것은, 숫자가 이상할 때 본인이 어디서 어긋났는지 짚을 수 있어야 하기 때문입니다.

현재 휴게 상태 화면입니다. 시작과 완료 태깅이 시각과 함께 남아 있어, 집계가 어떤 기록에서 나왔는지 본인이 직접 확인할 수 있습니다.

현재 휴게 상태 화면입니다. 시작과 완료 태깅이 시각과 함께 남아 있어, 집계가 어떤 기록에서 나왔는지 본인이 직접 확인할 수 있습니다.


정하고 나서 네트워크가 문제로 올라왔습니다

인식기를 만들고 나니 다음 문제가 나왔습니다. 사무실 네트워크는 생각보다 자주 끊깁니다.

끊긴 동안 찍은 태깅이 사라지면 그날 집계는 그대로 틀어지고, 그때부터는 관리자가 손으로 보정하는 절차가 생깁니다. 앞에서 그렇게 공들여 없앤 「사람이 개입하는 지점」이 뒷문으로 다시 들어오는 셈입니다.

인식기가 기록을 장비 내부에 저장했다가, 연결이 복구되면 자동으로 서버에 전송하도록 만들었습니다. 인식기를 직접 만들고 있었기 때문에 넣을 수 있었던 기능이기도 합니다. 기성품이었다면 네트워크가 끊긴 동안의 동작은 그 제품이 정해 둔 대로 따라갈 수밖에 없었을 것입니다.

끊긴 구간에 찍은 태깅도 사라지지 않습니다. 사람이 다시 입력하거나 관리자가 손으로 맞추는 절차를 만들지 않기 위한 구성입니다.


마지막까지 고민한 것은 알림이었습니다

기술적으로 가장 쉬운데 가장 오래 붙잡고 있었던 항목입니다. 허용된 휴게시간을 초과하면 알림을 보내야 하는데, 이 알림을 어디로 어떻게 보내느냐가 제도에 대한 인상을 거의 혼자 결정합니다.

같은 내용이라도 공개 채널에 뜨면 공지가 되고, 초과한 다음에 오면 통보가 됩니다. 시스템이 하는 일은 똑같은데 받는 사람의 해석만 달라집니다.

초과 안내는 슬랙 개인 메시지로만 보내고, 허용 시간 종료 10분 전에 사전 알림을 하나 더 넣었습니다. 10분으로 잡은 것은 너무 이르면 받고도 잊어버리고 너무 늦으면 이미 조정할 수 없기 때문입니다. 자리에서 일어나 돌아올 수 있는 정도의 간격이 필요했습니다.

임직원 본인에게만 가는 사전 알림입니다. 남은 시간과 함께 무엇을 하면 되는지까지 한 줄로 적어, 받은 사람이 판단할 것을 남기지 않았습니다.

임직원 본인에게만 가는 사전 알림입니다. 남은 시간과 함께 무엇을 하면 되는지까지 한 줄로 적어, 받은 사람이 판단할 것을 남기지 않았습니다.

알림이 끝나기 전에, 본인에게만 도착합니다. 앞에서 잡아 둔 전제가 실제로 지켜지는 자리가 여기였습니다.

관리 쪽으로 가는 알림은 성격을 다르게 잡았습니다. 개인에게 가는 것은 자기 시간에 대한 안내이고, 관리 쪽으로 가는 것은 팀 단위 집계입니다. 누가 얼마를 썼는지가 아니라 몇 명이 썼고 몇 건이 초과였는지만 남기면, 같은 데이터로 운영 현황은 파악하면서 개인을 지목하지는 않게 됩니다.

관리 쪽으로 가는 일일 요약입니다. 사용과 미사용, 초과 건수만 세어 보내고 개인 이름은 들어가지 않습니다.

관리 쪽으로 가는 일일 요약입니다. 사용과 미사용, 초과 건수만 세어 보내고 개인 이름은 들어가지 않습니다.


인식기를 새로 단 것은 그대로 비용입니다

지금까지 적은 것은 저희가 고른 쪽의 이야기이므로, 버린 쪽의 값도 같이 적어 두겠습니다.

설비를 늘리지 않는 두 방식을 버리고 고른 결과라, 장비와 시공이 그대로 들어갔습니다. 출입 기록을 재활용했다면 없었을 비용입니다. 기록의 성격을 지키는 대가로 인식기 4대와 설치 공사를 치렀다고 보시는 편이 정확합니다.

인식기를 자체 제작한 선택에도 대가가 있습니다. 기성품을 샀다면 며칠이면 끝났을 구간에 회로 설계와 기판 제작, 펌웨어 개발이 들어갔습니다. 사원증을 교체하지 않아도 된다는 조건이 없었다면 저희도 이 선택을 하지 않았을 것입니다.

확인되지 않은 것도 적어 둡니다. 교대 근무나 재택이 섞인 근무 형태에서의 운영 데이터는 아직 없고, 사무실이 여러 곳으로 나뉜 경우도 검증하지 않았습니다. 도입 효과를 나타내는 수치 역시 제시하지 않습니다. 이 시스템의 목적은 사용량을 줄이는 것이 아니라 자율 운영의 근거를 남기는 것이라, 애초에 효과 지표를 두지 않았기 때문입니다.


다음은 근무 형태가 다른 사업장입니다

지금 보고 있는 것은 사무실 구조와 출입구 수에 따라 장비 구성을 바꾸는 일, 기업마다 다른 휴게 정책을 설정으로 빼는 일, 그리고 사내 계정과 메신저 연동을 넓히는 일입니다. 이번 건은 슬랙을 썼지만 다른 도구를 쓰는 곳에서는 알림 경로부터 다시 잡아야 합니다.

인원이 적으면 이 구조가 필요 없느냐는 질문을 종종 받는데, 저희 답은 인원보다 출입구 수와 근무 형태를 먼저 보시라는 것입니다. 사람이 적어도 출입구가 여러 곳이면 장비 수는 그대로 필요하고, 인원이 많아도 통로가 한 곳이면 구성은 단순해집니다. 도입을 검토하신다면 출입구를 몇 곳 지나는지부터 세어 보시면 대략의 규모가 나옵니다.


IoT 서비스,
지금 바로 시작하세요

디바이스 연결부터 대시보드까지 올인원

무료 플랜으로 부담 없이 체험