[현장 업무 앱 만들기] 최종편
안녕하세요! AiApp을 만드는 엠바스의 신입 개발자입니다.
지난 편 마지막에 새로 만드는 것 없이 정리만 하는 편을 하나 더 두겠다고 적어 두었는데, 이번 편이 그것입니다. 열 편 동안 만든 것은 사무실과 현장이 같이 쓰는 앱입니다. 화물을 엑셀로 올리고, 현장 단말기로 찍어 검수하고, 사무실에서 기간별로 세어 서류로 내려받는 데까지 왔습니다.
코드는 한 줄도 쓰지 않았고 개발 용어도 쓰지 않았습니다. 그러니 제가 한 일은 요청을 적어 보낸 것뿐. 열 편을 지나며 요청 문장은 계속 짧아졌고, 대신 안에 넣는 것이 달라졌습니다. 이번 편의 물음은 거기서 나왔습니다. 무엇을 적어 보내면 원하는 것이 나오는가.
여섯 가지로 정리됩니다. 순서는 실제로 쓸 때의 순서에 가깝게 놓았습니다.
방법을 빼고 원하는 모습만 적기
가장 크게 달라진 것이 이 자리입니다. 현장 앱을 설치형으로 만들 때 어떻게 만드는지는 한 글자도 적지 않았습니다. 적은 것은 세 문장. 현장에서 쓰는 사람들은 창고를 돌아다니며 기기로 쓴다, 지금은 주소를 매번 입력해서 들어간다, 바탕화면에 아이콘이 하나 생겨서 누르면 바로 검수 화면이 뜨면 좋겠다.
돌아온 결과는 아이콘으로 열면 주소창이 없는 화면이었고, 검수 담당자는 고르는 화면을 거치지 않고 현장 화면에 바로 도착했습니다. 뒤쪽 두 가지는 제가 적지 않은 것.
현장 사진을 올리는 경로도 같았습니다. 사진이 크기 걱정 없이 올라가고 관리자 화면에서 열리게 해 달라고만 적었고, 사진을 어디에 두고 무엇을 남길지는 계획서가 정리해 왔습니다. 방법을 적으면 그 방법 안에서만 답이 옵니다. 원하는 모습을 적으면 그것을 만족시키는 길을 찾아서 옵니다.
한 번에 한 갈래만 요청하기
현장에서 쓸 준비로 네 가지를 채울 때, 넷을 한 번에 적지 않고 하나씩 나눠 보냈습니다. 서로 다른 화면을 건드리는 일을 한꺼번에 보내면 어느 요청이 어디에 반영됐는지 나중에 짚기가 번거롭습니다.
갈래를 나누면 확인이 쉬워집니다. 요청 하나에 화면 한두 개가 대응하니 눌러 볼 자리도 그만큼 좁아지고, 다시 요청할 때 무엇을 보태야 하는지도 바로 보입니다. 한 갈래가 끝나고 다음 갈래로 넘어가는 편이 결국 빠릅니다.
계획 모드를 켜는 자리와 끄는 자리
계획 모드를 켜면 요청을 성공 기준 몇 가지로 정리하고, 방향을 셋 정도로 나눠 그중 하나를 추천해 줍니다. 열 편을 해 보니 켜는 자리와 끄는 자리가 갈립니다.
새 갈래를 처음 열 때는 켭니다. 쌓인 검수 결과를 한자리에 모을 때도, 겹친 이름을 정리할 때도, 고친 흔적이 남게 할 때도 방향부터 받았습니다. 방향마다 무엇을 함께 봐야 하는지가 적혀 오는데, 제가 앱의 데이터 모양을 적어 보낸 적이 없는데도 그렇습니다.
이미 만들어진 화면에 두세 줄 보태는 것이라면 끕니다. 되살릴 때도 한 번 물어봐 달라, 검수 기록이 몇 건 같이 돌아오는지 알려 달라 같은 요청. 세 편에서 같은 형태로 보냈고 매번 그 자리만 바뀌어 돌아왔습니다.
지우지 말라는 조건 먼저 붙이기
업무 앱에서 가장 자주 적은 조건입니다. 끝난 선적계획은 삭제하는 대신 사용 안 함으로 표시하게, 화물은 지우는 대신 안 쓰는 것으로 표시하고 필요하면 다시 쓸 수 있게, 이미 들어 있는 값은 그대로 두게, 바로잡을 때는 원래 기록을 두고 새 기록을 덧붙이게.
이 한 줄을 앞에 붙이면 구조가 그렇게 나옵니다. 화물 상세에는 등록과 안 쓰기와 복원이 색으로 갈려 쌓이는 자리가 생겼고, 검수 결과에는 바꾼 값과 사무실 표시가 시간순으로 남는 자리가 생겼습니다. 코딩 없이 앱 만들기로 업무 앱을 만들 때 나중에 근거로 쓰이는 것이 무엇인지는 그 업무를 아는 사람만 압니다. 그래서 요청에 같이 적습니다.
같은 이름을 쓰는 것부터 구분하기
숫자를 세는 화면을 만들려고 앉았을 때, 집계보다 먼저 정리할 것이 보였습니다. 화물을 등록할 때 고르는 목록과 현장에서 검수할 때 고르는 목록이 이름이 비슷하고, 한 항목은 양쪽에 다 들어 있는 상태.
두 개가 섞이지 않게 정리해 달라고 적었더니 이름을 두 쪽으로 갈라 왔고, 양쪽에 있던 항목은 각각 문맥이 드러나는 이름을 받았습니다. 바뀐 자리는 한 화면이 아니었습니다. 현장 화면, 화물 상세, 목록의 진척 표시, 검수 이력, 내려받은 파일의 제목 줄까지 같은 말로 정리됐습니다.
이름이 갈리기 전에는 어떤 숫자를 뽑아도 무엇을 센 것인지 말할 수 없습니다. 집계를 요청하기 전에 이름부터 갈라 두는 것이 순서.
결과가 다르면 한 칸 더 구체화하기
받아 본 결과가 머릿속 그림과 다를 때가 있습니다. 검수 결과를 서류로 내려받을 때 처음에는 엑셀 파일로 받게 해 달라고만 적었습니다.
두 번째 요청에서 바꾼 것은 두 가지뿐입니다. 파일 형식을 확장자까지 적었고, 범위를 화면 하나가 아니라 내려받기 버튼이 있는 곳 전부로 묶었습니다. 되물음 없이 세 화면이 한꺼번에 바뀌었고, 제목 줄과 칸 너비까지 잡혀서 왔습니다.
다시 말할 때 채우는 것은 방법이 아니라 원하는 결과의 해상도입니다. 어떤 도구를 쓰라거나 어느 자리를 고치라는 말은 두 번째에도 넣지 않았습니다. 무엇이 달랐는지만 한 칸 더 적으면 됩니다.
여섯 가지를 지키면 남는 자리
여섯 가지를 지켜 요청하면 남는 것이 하나 있습니다. 사람이 정해야 하는 값입니다.
검수한 시각으로 주간과 야간을 갈라 달라고 적었을 때, 바로 만들어 주는 대신 경계 시각을 어떻게 잡을지 먼저 물어 왔습니다. 선택지 세 개와 직접 적는 칸이 함께 왔고, 각 선택지 아래에는 그 값으로 정하면 몇 시 검수가 어느 근무로 분류되는지까지 적혀 있었습니다. 교대 시각은 현장마다 다르고, 한 번 잡으면 그 뒤 숫자가 전부 그 기준을 따라갑니다.
무엇을 적어 보내면 원하는 것이 나오는가. 열 편의 답은 방법을 적지 않는 쪽이었습니다. 원하는 모습과 남아야 할 것과 쓰는 말을 정해서 보내면, 만드는 방법은 찾아서 오고 정할 값은 물어봐 줍니다.
여기까지가 열한 편에 걸친 연재입니다. 코딩 없이 채팅으로만 현장 업무 앱 한 벌을 만들어 본 기록이었고, 끝까지 읽어 주셔서 고맙습니다.




