가위바위보에서 무엇을 내면 이길 확률이 높을까? 이에 관한 답으로 수십 편의 논문이 나와있다. 논문의 내용은 논리적이며 설득력 있게 쓰여있다. 측정과 계산 역시 포함되어 있다. 그럼에도 우리는 이를 신뢰하지 못한다.
기술 선택의 과정
기술 선택의 과정에서도 비슷한 일은 벌어진다. 몇년 전에 상태 관리 라이브러리를 선택하며 잘못된 결정을 내렸던 순간이 떠올랐다.
당시에 우리 팀은 Redux에 불만이 많았다. 비대한 리듀서, 상태를 쓰려면 셀렉터를 정의해 엮어야하고, 서비스의 비동기 상태 관리도 어려워… 그러다 페이스북에서 갓 나온 Recoil에 나는 사로잡혔다.
원자 단위로 상태를 관리한다는 컨셉이 좋았다. 상태의 선언과 사용이 쉽고, 합성도 가능하고, 페이스북 팀이 만들었기에 신뢰도 있었다. 우리 팀의 문제를 해결해줄 수 있겠다는 느낌이 들었다. 그래서 개념 증명(Proof Of Concept)을 시작했다.
이것저것 측정하고 비교했다. 성능 향상을 수치화하고, 코드가 얼마나 간결해지는지도 보고, 실제로 적용한 코드도 같이 보며 이야기했다. 좋은 것 같다는 말이 나왔고 도입을 결정했다.
하지만 결론적으로 이는 잘못된 선택이 되었다. Recoil로 정의된 상태는 되려 API, 전역 상태 등 이것저것 물린 괴물이 되었다. 라이브러리 메인테이닝도 멈췄다. 지금은 걷어낼 생각에 머리가 아프다.
측정의 함정
측정할 수 없으면 관리할 수 없다. ‘피터 드러커의 명언’으로 불리는 말이다. 재밌는 것은 그가 이런 말을 한 적이 없다는 것이다. 열정, 헌신은 조직의 중요한 변수이다. 이는 측정 가능한가? 측정했다 한들 현실과의 괴리가 없다고 말할 수 있는가?
토머스 쿤은 지동설, 상대성이론 등 지금은 믿어 의심치않는 이론을 당대의 과학자들이 문전박대하는 이유에 관한 연구를 진행했다. 그러면서 이렇게 주장한다.
사람들은 자신에게 익숙하고 유리한 쪽의 의견에 가중치를 둔다. 선택은 개인적 요인과 주관적 요인이 합쳐져 이뤄진다.
Recoil 도입을 돌아보면, 도입하고 싶은 마음이 너무 컸던 나머지 유리한 의견에 더 열려있었다. 개념 증명도 단순한 것만 했기에 실제와의 괴리가 컸을 것이다. 이러한 상태에서 측정을 하면 한쪽에 유리하게 나올 수 밖에 없다.
측정은 중요하지만 측정만으로는 부족하다. 나는 그때 측정의 함정에 빠졌다는 것을 알아차리게 되었다. 측정의 함정에서 빠져나오려면 어떻게 해야할까?
요즘은 두 가지를 더 해보려고 하고 있다.
적절한 유예
하나는 적절한 유예를 두는 것이다. 기술의 교체와 도입은 대부분 발등에 불이 떨어질만큼 급한 일이 아니다. 또한, 프론트엔드 생태계가 빠르게 변화하기에 가까운 시점에 더 좋은 풀이가 나올 수도 있다.
최근에 팀에서 스타일 라이브러리 리서치를 진행하면서 이렇게 말했던 것이 기억난다. (이쪽도 요즘 Tailwind, Panda 등 만만치 않은데...)
“지금까지 확인한 건 이렇게 될 것 같아요. 다만 좀 확신이 부족한데… 이때 다시 한 번 재방문해서 결정해볼까요?”
적절한 유예를 통해 호기심을 식히고 더 많은 답을 찾아보자.
인과를 거꾸로 뒤집기
다른 하나는 인과를 거꾸로 뒤집는 것이다. ‘Recoil을 도입해서 상태 관리의 불편함을 해소한다’는 답이 1개만 나올 수밖에 없다. 이를 거꾸로 뒤집으면 어떻게 될까.
‘상태 관리가 불편한데 어떻게 해볼 수 있을까요?’라고 뒤집어보면 Recoil의 도입은 여러 옵션 중 하나가 된다. 이것이 중요하다. 문제가 구체화되면서 선택 가능한 옵션이 많아지는 것이다.
위의 질문을 통해 상태 관리의 어떤 점이 불편한지 사례를 물어볼 수 있을 것이다. 편하게 만들고 싶은지, 없애고 싶은지, 재활용을 늘리고 싶은지 구체화할 수도 있다. 우리가 공감하는 기준을 만들 수 있는 것이다.
팩트에 살고 팩트에 죽는 세상이다. 하지만 그 어떤 팩트도 주관성이 담길 수 밖에 없다. 그건 우리가 사람이기 때문이다. 그렇기에 사람은 통찰을 발견할 수 있기 때문이다.
측정의 함정에 빠지지 않기 위해서는 의도적인 노력이 필요하다. 스스로 물어보자. 이 문제가 풀렸을 때 어떤 상태가 되길 바라는지. 이른바 ‘설명 가능한 주관’의 시작이다.
설명 가능한 주관을 추구할 때, 비로서 우리는 측정에 맹목적이지도, 판단의 옳고그름으로 싸우지 않을 것이다. 취향처럼 이해하며 보다 중요한 문제를 찾을 수 있지 않을까.