ORL#1

‘결정을 한다’는 것에 대해 최근에 생각을 많이 하고 있다. 결정을 내리는 것에는 여러 카테고리가 있을 수 있는데 예를 들어 어떤 제품을 만들 때 어떤 기능을 이 제품에 담을지에 관한 결정이라든지 혹은 소프트웨어를 만들면서 왜 이런 구조로 설계를 했는지 등이 있을 수 있다.

그런데 중요한 것은 ‘왜 이런 결정을 내렸는가?’에 대해서 깊게, 그리고 여러가지 측면에서 생각하지 않고 판단을 내리고 행동에 옮길 때가 많다. 이러한 사고 패턴은 문제라고 생각하고 이러한 패턴은 타고나는 것이 아니라 하나의 습관이라고 생각한다.

그래서 어떠한 결정을 내릴 때 결정에 대한 근거를 가볍게 시간이 날 때마다 기록으로 남겨놓으면 어떨까 했다. 여기서 기록을 남기는 ‘결정’은 코드와 관련된 결정으로 국한한다. ORL은 만든 단어인데 Opinion, Reason Log의 약자다. 운이 좋게도 내 주위엔 코드에 관해서 이런저런 의견을 주고 받을 수 있고 코멘트를 남겨줄 수 있는 사람들이 있다. 어떠한 피드백을 받을 때마다 쉽게 수긍할 때도 있지만 내 생각은 조금 다르고 이러한 의도로 코드를 작성하였다고 가벼운 토론이 일어날 때도 있다. 이러한 토론에 대한 내용은 그냥 기억에서 잊어버리기에는 너무도 아까워서 ORL에 남겨보려고 한다.

ORL을 통해 다음과 같은 효과를 기대하고 있다.

  • 코드를 작성할 때 볼 수 있는 다양한 관점에 대해서 학습할 수 있다.
  • 코드는 결국 크게 보면 여러 패턴의 집합이라고 생각한다. 이 패턴에 대해서 학습할 수 있고 판단 기준이 된다.

어떠한 양식으로 남길지는 아직 정하지 않았지만 차차 자연스럽게 정해질 것이라고 생각한다.