불확실성의 원뿔
Cone of Uncertainty
개념
같은 일이라도 일찍 추정할수록 실제와 벌어지는 폭이 넓어진다는 것을 시간축 위에 그린 모형입니다.
등장 배경
일정에 관한 말이 언제 나온 것인지를 아무도 따지지 않던 시절이 있었습니다. 착수 회의에서 개발팀이 3개월쯤 걸리겠다고 말하면 그 숫자가 회의록에 남고, 로드맵에 옮겨지고, 영업이 고객에게 전하는 날짜가 되었습니다. 그리고 넉 달째에 아직 안 끝나 있으면 3개월이라고 말한 사람이 약속을 어긴 사람이 되었습니다.
억울한 쪽은 대개 그 사람입니다. 착수 회의 시점에 알 수 있던 것이 딱 그만큼이었기 때문입니다. 어떤 화면이 몇 개인지, 외부 결제사와 연동이 붙는지, 기존 데이터를 옮겨야 하는지가 아직 하나도 정해지지 않은 상태에서 나온 숫자였습니다. 같은 사람이 두 달 뒤에 다시 추정하면 훨씬 정확한 답을 내놓습니다. 사람이 나아진 것이 아니라 그 사이에 정해진 것이 늘었을 뿐입니다.
페이지덱에서도 이 일이 있었습니다. 규원이 이사회에서 기업용 권한 관리 기능이 언제 나오느냐고 물었고 지현이 대략 3개월이라고 답했습니다. 그 숫자는 그날 투자자 자료에 박혔고, 두 달 뒤 연동 범위가 드러나면서 5개월로 바뀌었습니다. 규원이 왜 두 배 가까이 늘었느냐고 물었을 때 지현에게 필요했던 것은 변명이 아니라, 3개월이라는 말이 어느 시점에 나온 숫자였는지를 설명할 도구였습니다.
작동 방식
원뿔은 가로축에 일의 진행을, 세로축에 추정과 실제의 비율을 놓고 그린 그림입니다. 왼쪽 끝은 아직 아무것도 정해지지 않은 착수 시점이고 오른쪽 끝은 일이 끝난 시점입니다. 왼쪽에서는 위아래 폭이 크게 벌어져 있고 오른쪽으로 갈수록 좁아지면서 실제값 하나로 모입니다. 그래서 옆으로 누운 원뿔 모양이 됩니다.
폭이 얼마나 넓은지를 숫자로 보면 이렇습니다.
- 무엇을 만들지만 정해진 착수 시점에서는 실제 소요가 추정의 4분의 1에서 4배 사이에 들어옵니다. 3개월이라고 말했다면 실제는 3주일 수도 있고 1년일 수도 있다는 뜻입니다.
- 요구사항이 확정되고 설계가 끝난 뒤에는 폭이 0.8배에서 1.25배 정도로 줄어듭니다. 여기서 3개월이라고 말했다면 2개월 반에서 넉 달 사이로 봅니다.
- 절반쯤 만들어 본 뒤에는 남은 일에 대한 오차가 훨씬 더 작아집니다. 이미 비슷한 일을 이 팀이 이 코드 위에서 해 봤기 때문입니다.
여기서 가장 자주 빠뜨리는 것은 원뿔이 저절로 좁아지지 않는다는 사실입니다. 폭을 줄이는 것은 흐른 시간이 아니라 그동안 정해진 것들입니다. 화면 목록을 확정하고, 연동할 결제사를 고르고, 데이터를 옮길지 말지를 결정하면 그만큼 좁아집니다. 아무것도 정하지 않은 채 3주가 지나면 폭은 처음 그대로이고, 대신 남은 시간만 3주 줄어 있습니다.
그래서 이 모형을 쓰는 실제 방법은 둘입니다. 하나는 숫자 하나 대신 범위로 말하는 것이고, 다른 하나는 그 숫자가 어느 시점에 나온 것인지를 함께 적어 두는 것입니다. 2개월에서 5개월이라고 말하는 쪽이 3개월이라고 말하는 쪽보다 정직하고, 듣는 쪽도 그 폭을 보고 지금 결정해도 되는 일인지 판단할 수 있습니다.
쓰이는 곳
가장 넓은 쪽에 서는 자리는 분기나 연간 계획입니다. 아직 쪼개지 않은 덩어리 수십 개를 놓고 순서를 정하는 자리라 정밀한 숫자가 나올 수 없습니다. 이럴 때 S와 M과 L 같은 등급으로 거칠게 나누는 티셔츠 사이징을 쓰는 것은 정밀도가 모자라서가 아니라, 원뿔의 그 지점에서 얻을 수 있는 정밀도가 원래 그만큼이기 때문입니다.
좁은 쪽에 서는 자리는 한 주기의 계획입니다. 요구사항이 정해진 항목을 기준 작업과 견줘 매기는 상대 추정으로 크기를 잡고, 더할 수 있는 눈금인 스토리 포인트로 적은 뒤, 팀이 최근에 실제로 끝낸 양의 평균인 벨로시티와 견줘 담을 만큼만 담습니다. 여기서 나온 숫자는 분기 계획의 숫자와 무게가 다릅니다. 같은 로드맵 문서에 나란히 적혀 있어도 그렇습니다.
바깥에 약속할 때도 이 구분이 필요합니다. 페이지덱에서 수아가 고객에게 날짜를 말해야 할 때, 원뿔의 넓은 쪽에 있는 기능이면 날짜 대신 분기를 말하고 설계가 끝나는 시점에 다시 알려 드리겠다고 덧붙입니다. 좁은 쪽에 있는 기능이면 날짜를 말합니다.
마지막은 추정을 다시 하는 리듬입니다. 원뿔은 추정을 한 번 하고 끝내면 쓸모가 없습니다. 무언가 정해질 때마다 폭이 줄었으니 숫자를 갱신한다는 약속이 함께 있어야 합니다. 페이지덱은 설계가 끝나는 날을 갱신 시점으로 정해 두었습니다.
실무 용례
"지금은 원뿔 넓은 쪽이라 3개월로 못 박기 어렵습니다. 2개월에서 5개월로 드릴게요."
범위로 답하겠다는 뜻이고, 동시에 이 숫자를 대외 약속으로 쓰지 말라는 신호입니다.
"설계 끝나면 다시 추정해서 드릴게요. 그때는 폭이 훨씬 좁습니다."
지금 숫자를 정확하게 만들려 애쓰는 대신 갱신 시점을 정해 두자는 제안입니다.
"이거 킥오프 때 나온 숫자인데 아직도 그대로 쓰고 계신 거죠?"
원뿔이 좁아지는 동안 문서의 숫자가 따라오지 않았다는 지적입니다.
페이지덱의 로드맵 문서에는 기능마다 숫자 옆에 그 숫자가 나온 시점이 함께 적혀 있습니다. 지현이 이 칸을 만든 뒤로 회의의 모양이 달라졌습니다. 예전에는 규원이 3개월이라더니 왜 5개월이냐고 물었다면, 지금은 이 숫자가 착수 시점 것인지 설계 이후 것인지를 먼저 봅니다. 착수 시점 숫자면 아직 폭이 넓다는 뜻이니 투자자 자료에는 분기 단위로만 적습니다.
흔한 오해
시간이 지나면 원뿔이 알아서 좁아진다고 읽는 경우가 가장 많습니다. 그림에서 가로축이 시간이니 자연스러운 오해입니다. 하지만 폭을 줄이는 것은 흐른 시간이 아니라 그 사이에 없어진 모르는 것들입니다. 요구사항을 확정하지 않고 두 달을 보내면 두 달 전과 똑같은 폭으로 마감을 맞게 됩니다. 이 오해를 그대로 두면 팀은 기다리기만 하다가 마감 2주 전에야 일정이 두 배로 틀렸다는 사실을 알게 됩니다.
추정이 틀려도 된다는 근거로 쓰는 것도 흔합니다. 오차가 네 배까지 난다고 적혀 있으니 그렇게 읽힙니다. 그러나 이 모형이 요구하는 것은 오차를 눈감아 달라는 것이 아니라 오차 폭을 밝히라는 것입니다. 3개월이라고만 말하고 틀리는 것과 2개월에서 5개월이라고 말하고 그 안에 드는 것은 다른 일입니다. 폭을 밝히지 않고 원뿔을 방패로 쓰기 시작하면, 듣는 쪽은 숫자를 아예 믿지 않게 되고 그때부터는 범위를 말해도 소용이 없습니다.
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16