Skip to content
isdnetworks
Go back

스무 곳에 있던 같은 등록 기능

관리자 작업 일정표를 봤는데 항목이 스무 개 남짓이었다. 각 항목의 내용 칸을 정렬해 diff를 떠 보니 서로 상당히 비슷했다.

Table of contents

Open Table of contents

상황 — 내용은 같고 위치만 다른 항목들

diff에 걸린 것은 어느 화면에 붙이는지뿐이었다. 붙이는 대상 자체는 세 종류로 모였다.

그러니까 스무 개의 작업이 아니라 세 종류를 스무 곳에 붙이는 일이었다. 항목 수가 작업량을 그대로 보여 주는 것이 아니었다.

화면이 스무 개인 이유

CodeIgniter 컨트롤러가 스무 개로 나뉘어 있는지도 생각해 봤다. 기능만 보면 몇 개로 합칠 수 있어 보인다.

다만 화면마다 쓰는 부서가 다르면 그것이 나뉘어 있는 이유가 된다. MySQL의 권한 표에서 부서별로 갈리는 항목이기도 하다. 기능이 같다는 것만으로 합칠 수 있다고 판단하면 안 되는 자리였다.

겹치는 부분을 공통으로 뺀다

화면을 합치지 않더라도 붙이는 코드는 공통으로 뺄 수 있다. 세 종류를 CodeIgniter 라이브러리로 한 번씩 만들고 스무 개 컨트롤러가 그것을 부르면 된다.

그러면 나중에 그 기능을 고칠 때 한 곳만 손대면 된다. 스무 곳에 각각 만들면 grep으로 스무 곳을 다시 찾아 고쳐야 하고 그중 몇 개가 빠진다. 일정표에는 스무 줄이지만 실제로 만들 것은 셋이라는 점이 이 정리의 요지였다.

비고 칸에 반복된 말

비고 칸도 diff를 떠 보니 같은 말이 여러 항목에 반복되고 있었다. 확인이 필요하다거나 담당자에게 물어봐야 한다는 문구였다.

이런 항목은 우리가 아무리 일해도 그 확인이 안 오면 시작할 수 없다. 그러니 우리 손에 달린 항목과 남에게 받아야 하는 항목은 성격이 다르다. 일정표에 그 구분이 표시돼 있으면 무엇부터 요청해야 하는지가 바로 나온다.

미결을 그대로 적어 두는 편이 낫다

아직 안 정해진 것이 비고에 그대로 적혀 있는 항목도 몇 개 있었다. 정리해서 감추는 것보다 이렇게 두는 편이 낫다고 봤다.

읽는 사람이 그것을 보고 물어볼 수 있기 때문이다. 감추면 안 정해졌다는 사실 자체를 모른 채로 진행하게 된다. 다만 일정 단위가 전부 하루로 통일돼 있어서 작업 크기의 차이는 안 드러났다.

정리


Share this post on:

Previous Post
순서를 바꾸니 기다리는 시간이 달라졌다
Next Post
단계마다 숫자를 냈다