"일은 끝내는거지 크게 벌리는게 아니다." "일이 잘 진행되고 있을때도 보고가 필요하다."
이건, 꼭 나 들으라고 하는 말 같아서...
지난 금요일부로 백수가 됐다. 마지막으로 일일 스탠드업 미팅을 하면서 팀원들에게 두 가지 잔소리를 잛게 - 듣는 사람은
길었을지도 - 했다. 스탠드업 미팅을 하면서 그런 구질구질한 얘기는 하면 안되는데 따로 얘기하기도 그렇고 해서 그냥 저질렀다.
나쁜 얘기는 아니니 여기에도 적는다.
1. 일은 끝내는거지 크게 벌리는게 아니다.
코딩을 하다보면 기존에 잘못한 부분이 안보려고 해도 보일때가 있다. 한참 전에 짠 코드를 보면 고치고 싶은 부분이
한두군데가 아닌 경험을 누구나 해봤을 것이다. 이럴때 나타나는 반응은 크게 3가지 정도라 생각된다. 하나, 무시한다. 둘, 할
일 목록에 추가한다. 셋, 하던 일과 같이 수정한다. 좋은 행동은 제외하고 해서는 안될 경우를 골라보자. 논란이 있겠지만 난
세번 째를 절대로 하지말아야 할 행동으로 꼽는다.
잘못된 걸 고치는게 왜 나쁜데? 우선 그 일은 지금하기로 약속된 일이 아니다. 간단히 수정될 것처럼 보이고 실제로 간단히
수정되는 경우도 있지만, 아닌 경우가 더 많다. 그로인해 지금하기로 한 일을 못하는 건 정말 최악의 선택이다. 간단한 수정으로
끝날 일이라도 지금 할 일을 더 빨리 끝내고 그 후에 짧은 시간을 투자하는게 맞다. 바로 지금 자신에게 주어진 일이 무엇인지
절대로 잊지 말아야한다.
다른 하나는 사람이
다룰수 있는 복잡도와 기억에 한계가 있다는 점이다. 두 가지 일을 동시에 진행하면 허둥대기만하고 꼭 빼먹는게 생긴다. 두 가지
목표를 동시에 완벽하게 이루겠다는 건 대부분 헛된 욕심이다. 소프트웨어 개발의 기저에 깔린 사상이 분할 정복(Divide and
Conquer)으로 복잡도를 낮추는 것임을 잊지 말자.
2. 일이 잘 진행되고 있을때도 보고가 필요하다.
여기에는 논란거리가 있을 수 없다. 그냥 사실대로 자주 보고하면 된다. 문제는 이 간단한 걸 지키지 못하는 사람이 많다는 점이다. 두 가지 경우만 얘기를 하자.
우선 혼자 어떻게 해보려고 마지막까지 버티다가 못했는데요하고 터트리는 경우다. 그러고는 최선을 다했다고 우기는데 그건
절대로 최선이 아니다. 윗사람에게 문제점을 말하는 간단한 일조차 안하고서 어떻게 최선을 다 했다고 말하는가. 이런 경우
용서해서는 안된다.
다른 하나는 하루이틀 지연을 대수롭지 않게 생각하는 경우다. 이미 습관이 되서 보고조차 필요없다고 생각하고 문제가 될거란 생각도 안한다. 그러나 사실은 약속을 어긴 것이고 일을 제대로 하지 못한 것이다.
항상 사실을 있는 그대로 보고해야한다. 그러나 보고가 면죄부는 아니라는 사실도 꼭 기억하고 있어야한다. 정확한 보고는 최소한의 보험에 불과할 뿐이다.