응답과 출동은 다르다 — 현장 긴급출동 체계를 앱으로 옮기며 정한 규칙들

1편에서 Claude와 3시간 만에 현장 긴급출동 앱을 만든 이야기를 했다. 이번 글은 그 3시간 중 가장 중요했던 부분, 현장의 출동 규칙을 앱에 옮기는 과정이다.

AI는 말한 대로 만든다. 그래서 처음 만들어진 구조는 그럴듯했지만 현장과 맞지 않는 부분이 있었다. 그걸 하나씩 고쳐 나간 기록이 이 글이다. 앱을 만들지 않더라도, 장애 출동이나 당직을 운영하는 관리자라면 참고가 될 만한 기준들이다.

“응답했다고 출동하는 게 아니다”

처음 만들어진 흐름은 단순했다. 장애공지를 보내면 직원이 [출동 가능] 또는 [불가]로 응답한다. 그런데 이대로라면 가능하다고 누른 사람이 모두 현장으로 출발할 수 있다.

현장은 그렇게 움직이지 않는다. 관리자가 누구를 보낼지 정하고, 그 사람이 간다고 확인해야 누가 출동하는지 알 수 있다. 내 지시 없이 여러 명이 한꺼번에 출발하면 안 된다. 그래서 흐름을 이렇게 바꿨다.

  1. 장애공지 → 직원은 [출동 가능/불가]로 응답. 가능을 누르면 “관리자 지시 전까지 대기” 안내
  2. 관리자가 가능 응답자 중에서 골라 출동 지시
  3. 지시받은 직원 폰에 다시 알람 → [출동하겠습니다] 또는 [출동 불가]
  4. 배정되지 않은 사람에게는 “출동 인원 배정 완료 · 출동하지 마세요”를 소리 없이 전달
  5. 지시 후 3분이 넘도록 확인이 없거나 출동 불가를 누르면 대시보드에 빨갛게 표시
  6. 원청 전달 문구는 출동을 확인한 사람 기준으로만 만들기

대시보드 위쪽의 숫자 칸에도 “출동 이동 중” 인원을 따로 넣었다. 그 칸을 누르면 원청에 보낼 문구가 바로 뜬다. 이름, 전화번호, 차량번호, 주소, 도착 예정 시간까지 들어 있어서 카톡에 붙여넣기만 하면 된다.

알림음 — 예쁜 멜로디 대신 사이렌과 음성

처음 알림음은 휴대폰 기본 멜로디 같은 소리였다. 테스트해 보니 너무 아름다워서 긴급 상황처럼 들리지 않았다. 너무 시끄럽지 않으면서 바로 알아들을 수 있는 소리가 필요했다.

그래서 2음 사이렌 → “긴급 장애 공지입니다. 출동 가능 여부를 응답해 주세요”라는 음성 안내 → 다시 사이렌 순서로 바꿨다. 최대 10초 동안 울리고, 응답하거나 끄면 멈춘다. 무음 모드에서도 알람처럼 전체화면으로 뜬다.

누구에게 울릴 것인가 — 시간대별 공지 대상

장애는 밤에도 주말에도 난다. 그렇다고 모든 공지를 모든 직원에게 울리면 쉬는 사람까지 깨우게 된다. 그래서 시간대별로 받는 사람을 나눴다.

시간대공지를 받는 사람
주간 (평일 08~18시)[근무 시작]을 누른 직원
평일 야간 (18시~다음 날 08시)당직자: 접속 1명, 외선 1명, 공무 1명
주말 (08시~다음 날 08시)당직자: 접속 2명, 외선 2명, 공무 1명
초긴급시간과 관계없이 전 직원
시간대별 공지 대상

당직표는 한 달 달력으로 만들어, 날짜별 칸에서 직원 이름 버튼만 누르면 배치되게 했다. 당직자는 앱에서 [당직 근무 시작]을 따로 누르고, 시작 30분 전에 미리 알림을 받는다. 당직이 끝나면 자동으로 종료된다. 대시보드 위쪽에는 지금 시간대와 공지를 받을 인원이 표시되고, 당직자가 비어 있으면 경고가 뜬다.

야간·주말 당직표 — 한 달 달력에 날짜별 접속·외선·공무 당직 칸
야간·주말 당직표. 빈 칸의 +를 눌러 직원을 고르면 바로 배치된다

장애는 한 번에 끝나지 않는다 — 추가 공지

현장에 가 보면 상황이 바뀐다. 규모가 커져 사람이 더 필요하기도 하고, 위치가 바뀌기도 하고, 자재가 필요하기도 하다. 그래서 진행 중인 장애에 추가 공지를 보낼 수 있게 했고, 종류마다 알림 방식을 다르게 했다.

  • 참고사항·자재 요청: 짧은 알림음만
  • 증원 요청: 대상 인원에게 다시 출동 가능 여부를 묻고 사이렌
  • 위치 변경: 출동 인원에게 알람과 함께 새 위치로 길 안내

같은 장애번호로 공지를 다시 보내려고 하면 경고가 뜨고, 기존 장애의 추가 공지로 연결되게 했다. 같은 장애가 두 건으로 따로 집계되는 일을 막기 위해서다.

현장에서 — 도착, 안전 점검, 복구 완료

출동한 직원은 앱에서 단계를 하나씩 누르며 진행한다. 현장 도착을 누르면 바로 작업 전 안전 점검이 뜬다. 보호구 착용, 작업구역 안전표지, 맨홀 가스·산소 측정, 고소·맨홀 2인 1조, 차량 주정차 위치 다섯 가지다. 복구가 끝나면 원인과 조치를 남기고, 당일 처리가 어려우면 지연 사유를 보고한다.

직원 앱 — 현장 도착, 작업 전 안전 점검 5항목, 복구 작업 중 화면
현장 도착 → 안전 점검 → 복구 완료. 앱 없이 출동한 사람도 장애 종료 때 관리자가 이름을 입력할 수 있다

기록이 쌓이면 보이는 것 — 복구 이력

카톡방으로 운영할 때는 기록이 흩어졌다. 이제는 공지, 출동 지시, 출동 확인, 현장 도착, 복구 완료 시각이 장애번호별로 자동으로 남는다. 평균 응답 시간, 이동 시간, 복구 시간을 사람별로 볼 수 있고 엑셀로 내려받을 수 있다.

같은 장비나 같은 국사에서 30일, 90일 안에 다시 장애가 난 횟수도 집계되게 했다. 자주 고장 나는 곳을 찾는 데 쓰기 위해서다. 시스템을 쓰기 전의 지난 장애 문자도 여러 개를 한꺼번에 붙여넣어 이력에 넣을 수 있게 했다.

장애 복구 이력 화면 — 장애번호별 공지·지시·도착·복구 시각과 소요시간 집계
장애 복구 이력. 장애번호·국사로 검색하고 엑셀로 내려받을 수 있다 (장애 정보는 가림)

정리 — 규칙은 현장을 아는 사람이 정한다

3시간 동안 AI는 내가 말한 것을 빠르게, 그리고 정확하게 만들었다. 하지만 “응답과 출동은 다르다”, “쉬는 사람을 깨우면 안 된다”, “알림음은 바로 알아들어야 한다” 같은 기준은 AI가 먼저 말해 주지 않았다. 현장에서 일해 본 사람만 알 수 있는 것들이다.

AI로 업무 도구를 만들려는 관리자라면, 코드보다 먼저 우리 현장의 규칙을 문장으로 정리해 두는 것을 권하고 싶다. 그게 정리돼 있으면 나머지는 AI와 함께 빠르게 만들 수 있다. 개발하면서 막혔던 기술적인 부분은 3편에 정리했다.

자주 묻는 질문

Q. 출동 가능으로 응답한 사람이 전부 출발하면 안 되나요?

우리 현장에서는 안 된다. 관리자가 장애 위치와 인원 상황을 보고 누구를 보낼지 정해야 한다. 그래서 응답과 출동 지시를 두 단계로 나누고, 배정되지 않은 사람에게는 “출동하지 마세요”를 따로 보낸다.

Q. 야간에 모든 직원에게 공지가 가나요?

아니다. 야간과 주말에는 당직자에게만 간다. 초긴급으로 보낼 때만 시간과 관계없이 전 직원에게 울린다.

Q. 안전 점검을 꼭 앱에서 해야 하나요?

현장 도착 후 바로 체크리스트가 뜨게 해서, 바쁜 상황에서도 기본 안전 수칙을 한 번 더 확인하게 했다.


오늘도 한걸음 👣
gujaeun.kr

댓글 남기기