Tag: 의사결정

  • 좋은 의사결정은 좋은 결과가 아니다: 결정의 품질을 분리하는 법

    좋은 의사결정은 좋은 결과가 아니다: 결정의 품질을 분리하는 법

    우리는 결과로 결정을 평가한다. 프로젝트가 성공하면 “역시 옳은 판단이었다”고 말하고, 실패하면 결정을 내린 사람을 탓한다. 그러나 이 직관에는 치명적인 결함이 있다. 좋은 결정도 나쁜 결과를 낳을 수 있고, 형편없는 결정도 운 좋게 성공할 수 있다. 결과만 보면 우리는 운을 실력으로 착각하고, 잘못된 행동을 학습한다.

    이 글은 결정의 품질을 결과와 분리해 평가하는 사고 틀을 정리한다. 이는 포커 플레이어와 투자자들이 오래 사용해 온 개념이지만, 기술 조직의 일상적 판단에도 그대로 적용된다.

    결과 편향이라는 함정

    한 팀이 데이터 검증을 건너뛰고 기능을 출시했는데 운 좋게 문제가 없었다고 하자. 결과만 보면 “빠른 출시가 옳았다”는 교훈이 남는다. 그러나 그들은 사실 위험한 도박을 했고, 같은 행동을 반복하면 언젠가 크게 무너진다. 결과 편향은 이렇게 조직에 나쁜 습관을 칭찬으로 강화한다.

    2×2 매트릭스로 보는 결정과 결과

    결정의 질(좋음/나쁨)과 결과(좋음/나쁨)를 두 축으로 놓으면 네 칸이 나온다. 핵심은 “좋은 결정-나쁜 결과”와 “나쁜 결정-좋은 결과” 칸을 정직하게 식별하는 것이다. 전자는 위로해야 하고, 후자는 경계해야 한다.

    • 좋은 결정·좋은 결과: 당연히 칭찬, 그러나 운이 섞였는지 점검
    • 좋은 결정·나쁜 결과: 비난 금지, 과정의 정당성을 인정
    • 나쁜 결정·좋은 결과: 가장 위험한 칸, 절대 미화하지 않기
    • 나쁜 결정·나쁜 결과: 명확한 학습 기회

    결정 일지를 남겨라

    가장 실용적인 도구는 결정 일지다. 중요한 판단을 내릴 때 그 시점에 알고 있던 정보, 가정, 예상 확률, 대안을 짧게 기록한다. 몇 달 뒤 결과가 나왔을 때 일지를 다시 펼치면, 결과를 알고 난 뒤의 후견지명에 오염되지 않고 당시 결정의 품질을 평가할 수 있다.

    결정의 순간에 무엇을 알았는지를 기록하지 않으면, 우리는 매번 결과를 알고 난 뒤의 자신에게 평가받는다.

    확률적으로 생각하기

    좋은 결정은 “이게 맞다”가 아니라 “70% 확률로 이쪽이 낫다”는 언어를 쓴다. 확률로 말하면 30%의 실패가 와도 결정 자체를 부정하지 않게 된다. 조직 회의에서 단언 대신 확률 추정을 장려하면, 사후의 비난이 줄고 학습의 질이 올라간다.

    한계: 모든 결정에 적용할 필요는 없다

    이 프레임에도 반론이 있다. 사소하고 되돌릴 수 있는 결정에까지 일지를 쓰면 오히려 속도를 잃는다. 베조스가 말한 “양방향 문” 같은 가역적 결정은 빠르게 내리고 넘어가야 한다. 결정의 품질 분리는 비싸고 비가역적인 소수의 판단에 집중할 때 가장 큰 가치를 낸다.

    결국 핵심은 겸손이다. 좋은 결과를 자신의 실력으로만, 나쁜 결과를 타인의 잘못으로만 돌리는 본능에서 벗어날 때, 조직은 비로소 운과 실력을 구분하고 진짜 실력을 축적하기 시작한다. 결정의 품질을 결과로부터 떼어내는 훈련은 그 자체로 조직의 메타 역량이다.

  • 갚지 못한 기술 부채가 조직을 어떻게 무너뜨렸는가

    갚지 못한 기술 부채가 조직을 어떻게 무너뜨렸는가

    모든 팀은 기술 부채를 진다. 빠르게 출시하기 위해 임시방편을 쓰고, “나중에 정리하자”고 약속한다. 문제는 그 나중이 거의 오지 않는다는 것이다. 이 글은 우리 팀이 2년간 미뤄둔 데이터 파이프라인 부채가 결국 한 분기 전체를 삼킨 과정을 솔직하게 복기한 회고다.

    이 이야기를 공유하는 이유는 변명을 하기 위해서가 아니다. 부채가 쌓이는 메커니즘은 놀랄 만큼 보편적이어서, 우리의 실패가 다른 팀에게는 조기 경보가 될 수 있다고 믿기 때문이다.

    처음엔 합리적인 타협이었다

    시작은 정당했다. 제품 출시 마감이 코앞이었고, 우리는 검증 로직 없이 데이터 파이프라인을 빠르게 띄웠다. 당시 데이터는 하루 수천 건이었고, 문제가 생기면 손으로 고칠 수 있었다. 그때의 결정은 옳았다. 부채 자체가 죄는 아니다.

    이자는 복리로 붙는다

    죄는 부채를 관리하지 않은 데 있었다. 데이터가 하루 수백만 건으로 불어나는 동안 검증 로직은 여전히 없었다. 새 기능들이 그 위태로운 파이프라인 위에 하나씩 쌓였다. 임시방편 위에 또 임시방편이 올라가며, 부채의 이자는 단리가 아니라 복리로 불어났다.

    기술 부채의 가장 잔인한 점은, 갚지 않은 동안에도 이자가 매일 조용히 청구되고 있다는 것이다.

    붕괴의 날

    붕괴는 예고 없이 왔다. 한 상류 시스템이 데이터 형식을 미묘하게 바꿨고, 검증이 없던 우리 파이프라인은 잘못된 데이터를 조용히 흘려보냈다. 3주 뒤 경영진이 본 매출 지표가 실제와 크게 어긋났다는 사실이 드러났다. 그 사이 그 잘못된 숫자로 내려진 결정들을 되돌려야 했다.

    복구가 아니라 재건이었다

    우리는 한 분기 전체를 갈아 넣었다. 새 기능 개발을 전면 중단하고 파이프라인을 재설계했다. 만약 부채가 작았을 때, 즉 데이터가 적었을 때 검증을 넣었다면 며칠이면 끝났을 일이었다. 부채를 키운 대가는 그 일을 80배쯤 비싸게 만들었다.

    • 부채를 진 즉시 “상환 기한”을 백로그에 명시적으로 기록한다
    • 데이터 규모가 N배 커질 때 부채 비용도 N배 커진다고 가정한다
    • 검증과 모니터링은 기능이 아니라 보험이다, 작을 때 든다

    균형 잡힌 교훈

    그렇다고 모든 부채를 즉시 갚아야 한다는 결론은 위험하다. 그것은 또 다른 과잉이다. 폐기될지도 모르는 실험적 기능을 완벽하게 만드는 것은 낭비다. 핵심은 부채를 지지 않는 것이 아니라, 어떤 부채인지 의식하고 의도적으로 관리하는 것이다.

    지금 우리 팀은 분기마다 “부채 가시화” 시간을 갖는다. 미뤄둔 타협들을 목록으로 펼치고, 각각의 이자율을 추정하고, 상환할지 의도적으로 더 끌고 갈지 결정한다. 부채는 적이 아니다. 보이지 않는 부채가 적이다. 이 회고가 누군가의 파이프라인이 조용히 무너지기 전에 닿기를 바란다.

  • 6개월을 갈아 넣고 폐기한 프로젝트가 남긴 것

    6개월을 갈아 넣고 폐기한 프로젝트가 남긴 것

    우리는 6개월을 갈아 넣은 프로젝트를 출시 직전에 폐기했다. 야심찬 추천 시스템이었다. 팀의 자존심이 걸려 있었고, 경영진의 기대도 컸다. 그런데도 우리는 스스로 그것을 묻기로 결정했다. 이 글은 그 실패를 정직하게 복기한 회고다. 미화도, 과도한 자기비하도 없이.

    실패를 글로 쓰는 것은 불편하다. 그러나 성공담보다 실패담에서 배울 것이 훨씬 많다는 것을, 나는 이 프로젝트를 통해 뼈저리게 알게 됐다.

    모든 것이 순조로워 보였다

    시작은 완벽했다. 명확한 목표, 충분한 데이터, 유능한 팀. 우리는 정교한 추천 모델을 만들었고, 오프라인 평가 지표는 훌륭했다. 정확도가 기존 대비 크게 올랐다. 모두가 출시만 하면 성공이라 믿었다. 바로 그 자신감이 첫 번째 위험 신호였다.

    잘못된 질문에 완벽하게 답했다

    문제는 출시 직전 작은 사용자 테스트에서 드러났다. 우리의 추천은 통계적으로 정확했지만, 사용자에게는 “이미 알거나 이미 산 것”을 추천하고 있었다. 우리는 “클릭 확률이 높은 항목”을 정확히 예측했지만, 정작 비즈니스가 원한 것은 “새로운 발견”이었다. 우리는 잘못된 질문에 완벽하게 답한 것이다.

    틀린 문제를 정확히 푸는 것보다, 옳은 문제를 대충 푸는 것이 거의 항상 낫다.

    왜 6개월 동안 몰랐을까

    가장 아픈 질문은 이것이었다. 이걸 왜 6개월이 지나서야 알았을까? 답은 명확했다. 우리는 모델 정확도라는 대리 지표에 빠져, 실제 사용자와 비즈니스 목표에서 너무 일찍 멀어졌다. 6개월간 우리는 한 번도 진짜 사용자에게 결과를 보여주지 않았다. 측정하기 쉬운 지표가 측정해야 할 지표를 가렸다.

    • 대리 지표가 좋아도 진짜 목표와의 연결을 의심하라
    • 아무리 초기라도 실제 사용자 피드백을 미루지 마라
    • 비싸지기 전에 가장 큰 가정을 가장 먼저 검증하라

    폐기 결정이 가장 좋은 결정이었다

    역설적이게도 이 프로젝트에서 가장 잘한 일은 폐기 결정이었다. 매몰비용에 끌려 출시했다면, 사용자 경험을 해치고 더 큰 비용을 치렀을 것이다. 6개월을 버린 것은 아팠지만, 잘못된 방향으로 12개월을 더 가는 것보다는 훨씬 쌌다. 손실을 인정하고 멈추는 것도 실력이다.

    실패가 조직에 남긴 자산

    물론 이 회고가 “실패는 무조건 좋다”는 식의 낭만으로 읽히면 곤란하다. 피할 수 있었던 실패였고, 더 일찍 사용자를 만났다면 비용을 줄일 수 있었다. 실패 예찬은 위험하다. 중요한 것은 실패 자체가 아니라 실패에서 무엇을 추출하느냐다.

    이 프로젝트 이후 우리 팀은 모든 프로젝트 시작 시 “우리가 틀렸다면 어디서 가장 먼저 알 수 있을까”를 먼저 설계한다. 가장 비싼 가정을 가장 싸게 검증하는 습관, 그것이 6개월의 학비로 산 가장 값진 자산이다. 묻어버린 프로젝트는 사라졌지만, 그 교훈은 이후 모든 프로젝트를 더 단단하게 만들었다.