스토리 포인트

Story Point

개념

작업 하나의 크기를 시간이 아니라 팀이 미리 정한 기준 작업과 견줘 매긴 숫자입니다.

등장 배경

작업 크기를 시간으로 부르던 시절이 있었습니다. 며칠이면 되냐고 물으면 3일이라고 답합니다. 그런데 같은 일을 다른 사람이 맡으면 6일이고, 들어온 지 한 달 된 사람이 맡으면 2주입니다. 같은 작업에 세 답이 붙으니 여러 항목을 더한 합계가 무엇을 뜻하는지 알 수 없었습니다.

말하는 쪽에도 부담이 생겼습니다. 사람이 시간을 입으로 부르면 그 말이 약속이 되고, 지키지 못하면 책임이 됩니다. 3일이라고 말한 뒤 6일이 걸린 사람은 다음부터 모든 일에 두 배를 붙여 부릅니다. 안전해지지만 그 숫자로는 계획을 세울 수 없고, 듣는 쪽은 부풀려진 값임을 알면서 다시 깎습니다.

두 문제의 뿌리는 같습니다. 시간은 누가 하느냐에 따라 달라지고 개인의 약속으로 읽힙니다. 그래서 추정 대상을 시간에서 크기로 바꿨습니다. 크기는 누가 하든 같고, 팀이 함께 정하니 개인의 약속이 되지 않습니다. 스토리 포인트가 그 크기를 적는 단위입니다.

작동 방식

기준이 될 작업 하나를 정해 두고 나머지를 그것과 견줘 숫자를 붙입니다. 규칙은 다섯입니다.

  1. 기준을 하나 못 박습니다. 팀이 다 아는 작업을 골라 3이라고 정합니다. 로그인 화면 만들기를 3으로 두면, 새 항목이 그보다 두 배쯤 크면 5, 절반쯤이면 2가 됩니다. 이 기준은 팀 안에서만 통하는 약속이라 다른 팀의 3과 같은 양이 아닙니다.
  2. 쓸 수 있는 값은 1·2·3·5·8·13 처럼 간격이 벌어지는 수열입니다. 5와 8 사이에 6과 7이 없는 것이 일부러 만든 제약입니다. 큰 작업일수록 알 수 있는 것이 적으니, 8인지 9인지를 고민하는 대화를 애초에 못 하게 막아 둔 것입니다.
  3. 크기에는 셋이 들어갑니다. 해야 하는 일의 양, 얼마나 얽혀 있는지, 그리고 모르는 것이 얼마나 많은지입니다. 양은 적어도 처음 해 보는 일이면 포인트가 높게 나올 수 있고, 잘못된 추정이 아닙니다.
  4. 혼자 정하지 않습니다. 각자 카드를 내밀어 값을 맞춰 가는 플래닝 포커가 대표적인 방법이고, 두 사람이 2와 8을 내면 숫자를 평균 내지 않고 왜 다르게 봤는지를 먼저 묻습니다. 한쪽이 모르고 있던 조건이 그 자리에서 나옵니다.
  5. 13 이상이 나오면 쪼갭니다. 대개 여러 일이 한 항목에 묶여 있다는 신호이고, 쪼개지 않으면 주기 안에 끝나지 않습니다.

숫자를 모아 쓰는 자리는 한 주기의 합계입니다. 팀이 한 주기에 실제로 끝낸 포인트 평균을 벨로시티라 하고, 다음 주기 계획의 합계를 그 평균과 견줘 무리인지 봅니다. 포인트는 계획의 재료이고 뜻은 그 비교에서만 생깁니다.

쓰이는 곳

한 주기에 무엇을 얼마나 담을지 정하는 계획 회의가 첫 자리입니다. 사용자 관점에서 원하는 바를 한 문장으로 적은 요구 단위를 유저 스토리라 하는데, 그 목록에 포인트를 붙이고 합계를 최근 평균과 나란히 놓습니다. 평균이 32이고 담은 합계가 40이면 그 자리에서 무엇을 뺄지 정합니다.

두 번째는 쪼갤 항목을 찾는 자리입니다. 13이나 21이 붙은 항목은 내용을 다시 보게 되고, 대개 두세 개로 갈라집니다. 이 신호가 포인트를 매기는 일의 실제 소득 중 절반입니다.

세 번째는 분기 단위의 대략적인 감입니다. 남은 항목의 포인트 합을 주기 평균으로 나누면 몇 주기가 필요한지 나옵니다. 날짜를 약속하는 데 쓰는 값이 아니라 계획이 분기 안에 들어가는지 보는 값입니다.

쓰지 않는 자리가 더 중요합니다. 사람별 포인트 합계로 누가 일을 많이 했는지 보는 것, 팀끼리 숫자를 비교하는 것, 회사 밖에 성과로 보고하는 것은 모두 이 단위가 감당하지 못하는 용도입니다. 기준이 팀 안에서만 통하는 약속이라는 성질이 세 용도를 전부 막습니다.

실무 용례

"이거 8이에요? 저는 3으로 봤는데요."

숫자가 아니라 서로 다르게 이해한 부분을 드러내려는 질문입니다.

"13이 붙었으면 쪼개죠. 한 주기에 안 끝납니다."

크기 자체를 쪼개라는 신호로 읽은 것입니다.

"1 포인트가 몇 시간이냐고 물으시면 답이 없습니다."

시간으로 환산하는 질문을 되돌린 말입니다.

페이지덱은 기준 작업을 하나 정해 두고 씁니다. 목록 화면에 필터 하나 추가하기가 3입니다. 새 항목을 매길 때 태오가 이 작업과 견줘 값을 부르고, 다른 사람과 두 단계 이상 차이가 나면 그 자리에서 이유를 맞춰 봅니다.

한 번은 같은 항목에 2와 13이 나온 적이 있습니다. 한 사람은 화면만 고치는 일로 봤고 다른 사람은 데이터 구조를 바꿔야 하는 일로 봤습니다. 지현이 요구사항을 다시 읽어 보니 두 해석이 다 가능하게 적혀 있었고, 문장을 고친 뒤에 다시 매기자 둘 다 5를 냈습니다. 숫자를 맞춘 것이 아니라 문장을 맞춘 것입니다.

흔한 오해

1 포인트가 몇 시간인지 정해 두려는 경우가 가장 많습니다. 숫자니까 환산할 수 있을 것 같고, 환산해 두면 날짜로 바꿔 말할 수 있어 밖에서 묻는 사람에게 편합니다. 그런데 환산표를 만든 순간 이 단위는 시간으로 되돌아갑니다. 1 포인트를 4시간으로 정해 두면 사람들은 자기가 걸릴 시간을 4로 나눠 포인트를 부르게 되고, 사람마다 달라지는 값이라는 원래 문제가 그대로 돌아옵니다. 반년 뒤에는 같은 항목에 3과 8이 붙고 합계는 다시 뜻을 잃습니다.

정확하게 매기는 것이 목표라고 보는 시각도 자주 나옵니다. 추정이니 맞히는 것이 목적처럼 느껴지고, 그래서 한 항목에 20분을 쓰며 5인지 8인지 다툽니다. 이 단위가 실제로 만드는 값은 숫자가 아니라 그 자리에서 나오는 대화입니다. 2와 13이 갈린 순간에 드러나는 것은 한쪽이 모르던 조건이고, 그것을 찾는 데 이 방법의 쓸모가 있습니다. 숫자를 정밀하게 맞추는 데 시간을 쓴 팀은 회의가 두 시간으로 늘어나고, 정밀해진 숫자로 세운 계획이 실제와 어긋나는 정도는 달라지지 않습니다.

자주 헷갈리는 용어

용어무엇에 붙는 값인가스토리 포인트와의 차이
벨로시티한 주기 전체이 단위로 만든 합계의 평균입니다. 포인트는 항목에, 이 값은 주기에 붙습니다
티셔츠 사이징작업 하나숫자 대신 S·M·L 등급을 씁니다. 더할 수 없어 계획 합계를 못 만들지만 처음 시작하는 팀이 부담 없이 씁니다
노 에스티메이트붙이지 않음크기 매기기를 접고 항목을 고르게 잘라 개수로 관리합니다. 추정 시간을 아끼는 대신 잘게 자르는 규율이 필요합니다

같이 보면 좋은 페이지

연관 용어

마지막 업데이트 2026-09-16