주요글: 도커 시작하기
반응형

일정을 체크하다보면 다음과 같은 대화가 오고 갈때가 많습니다.

관리자: "OOO 기능 얼마나 했어?"
개발자: "거의 다 했어요. 한 80% 정도 한거 같아요."

하지만 개발업무는 벽돌쌓기와 다릅니다. 벽돌은 쌓는 족족 업무 진행률이 올라가지만, 개발은 코딩량이 많아진다고 해서 업무 진행률이 올라가는 것은 아닙니다. 개발에 있어 완료는 0% 아니면 100% 뿐입니다.

예를 들어, 게시판 목록을 보여주는 기능을 구현한다고 해 보죠. 개발자가 DB에 접속해서 테이블로부터 데이터를 가져오는 것 까지 기능을 구현했다고 해 봅시다. 그렇다면 이 기능은 얼마나 완성된 것일까요? 고객에게 보여줄 수 있는 건 없습니다. 만약 80~90%라는 믿음을 고객에게 준다면 고객은 곧 그 기능이 완성될 것 처럼 생각하며 대충 완성된 기능까지만이라도 보자고 덤빌 것입니다. 하지만, 보여줄 수 있는 건 없습니다. 즉, 사용자 입장에서는 0% 완성된 것이나 마찬가지입니다.

게다가 디버깅 시간까지 생각해보면 지금까지 80~90%를 만드는 데 걸린 시간만큼 나머지 10~20%의 시간이 걸릴지도 모를 일입니다. 이 경우 고객은 "곧 완성된다던 기능이 도대체 몇일이 되도록 그 상태 그대로냐?"를 연발하며 투덜댈겁니다. (개발자는 나머지 10% 기능 때문에 거짓말하는 믿지 못할 사람으로 찍히게 될지도 모르겠네요)

고객의 일정에 대한 불만과 불신을 주지 않으려면, 완성 안된 기능에 대해서 50%니 80%니 하는 등의 수치를 심어주어서는 안 됩니다. 안 된 기능에 대해서는 오직 '0%'만 심어주어야 합니다. 그래야 고객으로부터 그리고 상급자로부터 신뢰를 잃지 않을 수 있습니다.

이렇게 질문하는 분도 있을 겁니다.

"기능 하나를 구현하는데 2주일이 걸리는데 그렇다면 나는 2주일 동안 0%로 머물려야 하는겁니까? 뭔가 일을 했다는 걸 어떻게 알려줄 수 있나요?"

이런 문제가 있긴 하죠. 뭔가 계속 해 나가고 있는데 일정표에는 아무것도 하지 않는 것으로 표시될테니,, 참,, 깨림하죠. 이런 문제를 해결하기 위해서 해야 할 일이 구현할 기능을 세부작업으로 나누는 것입니다. 게시판 목록을 보여주는 기능이라면 다음과 같이 분리될 수 있겠죠.

  • DB에서 게시판 글 읽어오기
  • 결과 화면에 출력하기

따라서, 일정 표에는 이 두가지를 게시판 목록 기능에 함께 표시합니다.

 게시판 글 목록   비완성 
 상세 DB에서 게시판 글 읽어오기  완성
   결과 화면에 출력하기 비완성 

구현할 기능을 상세하게 나눠놓으면 완성/비완성 여부 뿐만 아니라 기능을 구현하기 이해 일을 하고 있다는 것도 확인시킬 수 있습니다.

괜히 일했다는 걸 알리기 위해서 80%, 90% 등의 애매한 수치를 들이대지 말고, 위와 같이 세부적으로 나눠 0% 아니면 100% 식으로 일정을 관리해보세요. 이 방식을 잘 활용한다면 적어도 고객으로부터 "거의 다 됐다던 기능이 아직도 그 모양이에요?"라는 소리는 듣지 않게 될겁니다.


+ Recent posts