가설 검증 없이 6개월을 쓴 시리즈 하나
가설을 적어두는 일과 가설을 검증하는 일은 다른 일입니다.
이 두 가지가 같은 일이라고 착각한 채로 6 개월을 쓴 시리즈가 있어서, 왜 검증 단계를 통째로 건너뛴 것인지를 들여다보려고 합니다.
가설은 적어둔 게 분명합니다. 시리즈를 시작할 때 "이 도구의 사용자 풀이 이 정도 크기일 것이다", "이 키워드의 검색량이 이 정도일 것이다" 라는 가정들이 노션 어딘가에 있었습니다. 숫자가 옆에 적혀 있었고, 6 개월 뒤에 그 숫자가 맞는지를 확인하겠다는 일정도 같이 적혀 있었습니다.
6 개월이 지난 시점에 그 숫자를 다시 들여다보지 않았다는 게 문제의 자리입니다.
검증 시점이 적혀 있었는데, 그 시점이 오면 다른 작업이 더 급한 자리에 있었습니다. 새 사이트를 띄우는 작업, 기존 사이트의 버그를 고치는 작업이 위에 있었습니다. 검증은 "이번 주말에 보면 되지" 라는 흐름으로 미뤄지고, 6 개월이 지나서야 우연히 발견되었습니다.
왜 검증을 미뤘는가를 자기 안에서 굴려보면, 비겁한 답에 닿습니다.
검증을 하면 가설이 틀린 것으로 나올 가능성이 높다는 걸 알고 있었습니다. 가설이 맞으면 시리즈를 계속 굴리는 결정이 정당화되고, 틀리면 시리즈를 접는 결정이 따라옵니다. 접는 결정은 띄워둔 변종들을 보내야 한다는 결정이고, 그 무게가 무거웠습니다. 검증을 안 한 채로 시리즈를 굴리는 동안은 그 무게가 안 들어옵니다. 검증을 미루는 게 결정의 무게를 미루는 도구로 쓰였습니다.
이 진단이 자기 변호처럼 읽힐 수 있어서 한 줄 더 적어둡니다.
결정의 무게를 미루는 게 의식적인 선택이었다면 그건 그것대로 한 가지의 운영 스타일일 수 있습니다. 무의식적이었다는 게 더 무거운 부분입니다. 검증을 미루는 동안 본인은 가설이 검증되고 있다고 믿고 있었습니다. 사이트가 굴러가고 있고 트래픽이 매주 들어오니까, 가설이 어느 정도 작동하고 있다는 감각이 자동으로 만들어졌습니다. 들어오는 트래픽의 크기를 가설이 예측한 크기와 비교해본 적이 없었습니다.
이 부분이 가설 검증 누락의 핵심 메커니즘입니다.
가설을 적어두고 굴리기 시작하면, 굴러가는 것 자체가 가설의 검증처럼 보이기 시작합니다. 사이트가 죽지 않고 돌아가니까 가설이 어느 정도 맞다는 신호로 자기 안에서 처리됩니다. 사이트가 돌아가는 건 가설과 무관할 수 있는데, 그 무관함을 가설의 검증으로 해석하는 사고의 단축이 6 개월 동안 작동했습니다.
이걸 적은 다음에 한 가지를 짚어둡니다. 이 글의 진단이 너무 깔끔하다는 점입니다. "결정의 무게가 무거워서" 라는 답으로 묶으면 깔끔한데, 깔끔한 만큼 사후의 묶음에 가깝습니다. 6 개월 동안 진짜 무엇이 검증을 막았는지는 그 6 개월의 일주일 단위로 들여다봐야 보입니다. 어떤 주에는 다른 작업이 더 급했고, 어떤 주에는 그냥 잊었습니다.
한 가지 패턴은 단단히 적어두려고 합니다. 가설을 적은 노트에 검증 시점을 같이 적어둔 게 검증을 보장하지 못했다는 점입니다. 시점을 적는 작업과 시점이 왔을 때 실제로 검증을 굴리는 작업 사이에 한 단계의 강제가 빠져 있었습니다. 강제가 사람의 의지로 작동한다고 가정한 게 6 개월 누락의 구조적 자리입니다.
마지막에 한 가지가 걸립니다. 검증을 했어도 결과가 같았을 가능성도 작지 않습니다. 검증의 가치는 빠른 정정이 아니라 정정의 가능성을 살려두는 데 있고, 그 가능성의 절대값을 계산하는 게 어렵습니다.
