뭔가 불만을 느끼고 있는 듯 한 동료가 내 행동이 잘못됐다며 얘기를 했는데, 그것이 어찌해서 잘못인지는 잘 설명을 못 해주고 있다. 그래서 문제가 뭔지, 내 행동이 어떤 피해를 발생시켰는지 물어봤으나, 말은 돌고 돌아 그 본질을 건드리진 못했다.
그러다 보니, 앞 뒤를 이해하기 어려운 와중에 내 행동이 잘못됐다는 결론으로 나게 된 듯 하다. 여전히 나는 아직도 내 행동이 무슨 피해를 발생시키며 왜 그것이 잘못인지 이해하지 못하는 상태다.
지금은 앞으로 있을 스프린트의 결과물을 만들기 위해서, 다양한 가능성을 타진해볼 필요가 있다고 스스로 판단하여 어제 아침에 얘기한 작업 말고, 다른 일을 하였고, 상당한 가능성을 발견하였다.
기쁜 소식이라 생각하고 daily meeting 시간에 그 얘기를 하였으나, 그것이 그 동료를 심히 불쾌하게 만든 모양이다. 같이 하기로 한 일을 하지 않으려면 미리 알려줬어야 하는 것 아니냐는 이야기이다.
한편으로 일리가 있으나, 지금 우리가 하는 일이 무엇인지 알고 나면 굳이 미리 알려줄 필요가 없었다는 사실을 깨달을 것이다. 어제 우리가 하자고 했던 일은 hardware abstraction layer 의 샘플 예제를 가져다가 적당히 가지치기해서, 필요한 최소의 스켈레톤만 남겨보자는 작업이다.
그 작업의 결과물이 둘 다 상당부분 겹칠 수 있어, 굳이 둘이서 할 필요가 없는 일이다. 해당 작업을 해보자는 시점에서는 나도 딱히 다른 접근방법을 찾지 못해서 동의를 했으나, research 가 진행되면서 한 단계 위의 소프트웨어 스택에서도 구현 가능하지 않냐는 의문이 생겼고, 그것을 확인하다 보니 어제 하루가 다 지나간 것이었다.
프로젝트의 초석을 놓는 작업이니 신중해야 한다만, 그것은 결정의 신중함을 말하는 것이지 행동의 신중함을 뜻하는 것은 아니다. 오히려 지금은 이리 들이박고, 저리 들이박으며 우리 팀의 행동 폭을 최대한 확보해야 놓아야 하는 시기이다.
결과적으로 한 단계 위의 소프트웨어 스택에서 구현이 충분히 가능해 보이며, 굳이 바퀴를 재 발명할 필요가 없어 보인다는 것이 현재 나의 결론이다.
이런 결론에도 불구하고, 합의된 사항을 따르지 않고 돌발행동을 해서 기분이 나쁘다는 동료의 입장을 나는 이해할 수 없다. 내가 돌발행동을 함으로써 프로젝트의 진행이 늦어졌다거나, 그로 인해 자신에게 더 많은 일감이 생겼다면 이해할 수 있으나, 애초의 얘기된 바와 다른 방향으로 접근해보는 것이 그리 비난 받을 일은 아니라고 본다. 게다가 그 결과까지 긍정적이라면 오히려 반가워해야 하는 이야기 아닌가.
개발 팀에서 모든 행동은 좋은 제품을 만드는 것에 집중되어야 한다. 그로 인해 사람을 잃어버린다면 정말 곤란하겠지만, 누군가가 기분이 나쁘다는 이유만으로 뭔가를 제약할 수는 없는 노릇이다. 그 기분 나쁨의 시그널 캐칭이 제품으로 연결될 수 있어야 비로소 정당화될 수 있을 것이다.