Story points vs 시간
Source: Dev.to
번역을 진행하려면 전체 텍스트를 제공해 주시겠어요?
코드 블록, URL 및 마크다운 형식은 그대로 유지하면서 본문만 한국어로 번역해 드리겠습니다.
소프트웨어 개발 작업 추정
시간 단위 추정의 문제
“틀림없이, 우리 모두는 언젠가 작업을 추정해 달라고 요청받거나 요청받을 것입니다. 자연스럽게 머릿속에 떠오르는 생각은 시간을 추정하는 것입니다 – 결국 우리는 모두 무언가가 얼마나 걸리는지 알고 있으며, 이는 일상에서 모든 인간이 사용하는 측정 단위이기 때문입니다.”
소프트웨어 개발에서 시간(시간 단위) 으로 추정하면 다음과 같은 문제가 발생할 수 있습니다:
- 개인 압박: 팀 구성원들의 추정을 평균내면, 평균 시간은 실제 우리가 필요로 하는 시간보다 낮게 나올 수 있습니다.
- 불신: 평균 시간 안에 작업을 마치지 못하면, 자신이 충분히 능력이 없다고 느끼고 성과 문제로 오해될까 두려워집니다.
스토리 포인트: 무엇이며 왜 도움이 되는가?
- 시간을 측정하지 않고, 상대적 노력과 복잡도(그리고 보듯이 불확실성)를 측정합니다.
- 작업에 5 포인트가 있다고 말하면, 1 포인트 작업보다 다섯 배 더 복잡하다는 의미입니다.
- 상대적이기 때문에 추정은 누가 수행하느냐에 덜 의존하며, 합의에 도달하기가 쉬워집니다.
스토리 포인트를 통한 합의
예를 들어 내가 3 포인트를, 마리아가 2 포인트를 추정했다고 가정해 보겠습니다. 평균을 내거나 임의로 선택하는 대신 다음과 같이 진행할 수 있습니다:
- 작업의 불확실성 논의.
- 아직 의문이 있으면 3 포인트로 올리고, 불확실성이 적어 보이면 2 포인트에 머무릅니다.
- 언제든지 추정을 정제할 수 있음을 기억합니다(후에 재추정 섹션 참고).
노력 및 불확실성 표현
| 스케일 | 설명 |
|---|---|
| 티셔츠 사이즈 | XS, S, M, L, XL, XXL – 덜 정확하고, 보정하기 쉬움. 팀이 새롭거나 정보가 적을 때 이상적. |
| 2의 거듭 | 1, 2, 4, 8, 16 – 각 값이 이전 값의 두 배가 되며, 더 큰 불확실성을 반영합니다. |
| 피보나치 수열 | 1, 2, 3, 5, 8, 13 – 값이 커질수록 불확실성 증가를 나타냅니다. |
| 짧은 선형 스케일 | 1‑5 또는 1‑10 – 불확실성이 낮아 보일 때 매력적이지만, 중간값(예: 6 vs 7)에 대한 논쟁을 일으킬 수 있습니다. |
내가 아는 추정 전략
- 티셔츠 사이즈 (XS‑XXL).
- 2의 거듭제곱 (1, 2, 4, 8, 16).
- 피보나치 (1, 2, 3, 5, 8, 13).
- 선형 스케일 (1‑5 또는 1‑10).
각각 장단점이 있으며, 선택은 도메인에 대한 정보 수준과 팀의 성숙도에 따라 달라집니다.
캘리브레이션 스프린트 (Sprint 0)
- 목표: 레벨 1 실제 작업으로 선택한 스케일을 검증한다.
- 프로세스: 팀이 작은 작업 몇 개를 선택해 완료하고 실제 노력을 초기 추정치와 비교한다.
- 결과: 얻은 경험을 바탕으로 나머지 백로그의 추정치를 조정한다.
작업 재추정
| 시점 | 해야 할 일 |
|---|---|
| 계획 전 | 의식의 첫 15 분 동안 다음 스프린트에 포함될 작업을 다듬습니다 (별도의 ad‑hoc 회의는 필요하지 않습니다). |
| 스프린트에 가까운 작업 | 팀이 새로운 기준에 비해 크게 어긋났다고 느낄 경우 재추정합니다. |
| 백로그에 먼 작업 | 지금은 재추정할 필요 없습니다; 작업이 진행되기 전에 범위가 변경될 수 있습니다. |
팀 속도
- 속도 = 스프린트당 평균 완료 포인트.
- 예시: 속도가 30 포인트/스프린트라면, 큰 기능에 필요한 스프린트 수를 스토리 포인트를 합산하여 예측할 수 있습니다.
스토리 포인트와 개인 생산성
- 사용하지 스프린트가 끝난 스토리 포인트를 개인 생산성 지표로 사용.
- 이유:
- 작업은 복잡도와 상황이 다릅니다.
- 포인트는 팀의 추정치이며, 개인 성과를 나타내는 척도가 아닙니다.
예시 회사에서는 마리아가 20 포인트를, 후안이 10 포인트를 완료했다고 비교했을 때, 그들의 성과에 대해 잘못된 결론에 이르게 되었습니다.
결론
- Story points는 상대적으로 추정하게 해 주어 미리 정해진 시간 수치를 맞추려는 압박을 줄인다.
- 불확실성과 복잡성에 대한 합의에 도달하는 것이 핵심이다.
- 보정 스프린트와 지속적인 재추정은 백로그의 정확성을 유지한다.
- 팀 속도는 계획에 유용한 지표이며, 포인트 기반 개인 생산성은 아니다.
이 문서는 스토리 포인트를 이용한 추정과 애자일 팀을 위한 모범 사례에 대한 주요 아이디어를 요약한다.
스토리 포인트를 이용한 추정
“또는 개인의.”
비록 자랑스럽지는 않지만, 당시 몇몇 개발자들(저 포함)이 추정을 부풀려 자신을 보호했던 기억이 있습니다. 바로 여기서 스토리 포인트를 이용한 추정 도구가 효용을 잃게 됩니다.
추정은 추측이다. 정확한 과학은 아닙니다. 그럼에도 불구하고, 목표는 비즈니스가 제품 전달에 대한 약속을 할 수 있도록 가능한 한 최선을 다하는 것입니다.
생각해 볼 질문
- 여기까지 읽었다면, 내가 말한 것에 대해 어떻게 생각하나요?
- 스토리 포인트를 사용해 본 적이 있나요?
- 아니면 다른 추정 방식을 선호하나요?
- 왜 그렇나요?