애자일 플래닝 포커에서 피보나치 시리즈가 사용되는 이유는 무엇입니까? [닫은]


94

애자일 소프트웨어 개발에서 사용자 스토리의 상대적 크기를 추정 할 때 팀 구성원은 사용자 스토리의 크기를 1, 2, 3, 5, 8, 13, ...로 추정해야합니다. 따라서 추정 된 값은 피보나치 시리즈와 유사해야합니다. 하지만 왜 그런지 궁금합니다.

Wikipedia 의 http://en.wikipedia.org/wiki/Planning_poker 에 대한 설명은 신비한 문장을 담고 있습니다.

피보나치 수열을 사용하는 이유는 더 큰 항목을 추정 할 때 내재 된 불확실성을 반영하기 위함입니다.

그러나 더 큰 품목에 내재 된 불확실성이 있어야하는 이유는 무엇입니까? 측정 횟수를 줄이면 불확실성이 높아지지 않습니까? 같은 이야기를 추정하는 사람이 적다는 의미입니까? 더 큰 이야기에서 불확실성이 더 높다고하더라도 피보나치 수열의 사용을 의미하는 이유는 무엇입니까? 그것에 대한 수학적 또는 통계적 이유가 있습니까? 그렇지 않으면 추정을 위해 피보나치 시리즈를 사용하는 것이 CargoCult 과학처럼 느껴집니다.


9
아마도 피보나치 수열이 "멋지다"기 때문일 것입니다. 모든 지수 시퀀스가 ​​작동합니다. 2^n숫자의 간격이 너무 멀 수 있으므로 피보나치 수열을 사용하지 않는 이유는 c*phi^n무엇입니까?
interjay

'is cool'에 +1. 나는 항상 피보나치에 푸시 기이에 싶었던 전에 프로그래머와 함께 작업 한 - 항상 자신의 '일'이었다
KevinDTimm


2
이 질문은 주제에서 벗어난 것 같습니다.
Adriano Repetti 2014

답변:


78

피보나치 시리즈는 지수 추정 척도의 한 예일뿐입니다. 지수 척도가 사용되는 이유는 정보 이론에서 비롯됩니다.

추정을 통해 얻은 정보는 추정의 정밀도보다 훨씬 느리게 증가합니다. 사실 그것은 대수 함수로 성장합니다. 이것이 더 큰 품목에 대해 더 높은 불확실성에 대한 이유입니다.

지수 척도 (정규화)의 가장 최적의 기준을 결정하는 것은 실제로 어렵습니다. 피보나치 척도에 해당하는 염기는 최적 일 수도 있고 아닐 수도 있습니다.

다음은 수학적 정당성에 대한 자세한 설명입니다. http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html


4
이것은 내가 바라던 더 깊은 설명입니다. 이 답변에 감사드립니다.
asmaier

"[a] 약간의 추정 노력은 많은 도움이되고 [a] 큰 추정 노력은 거의 도움이되지 않습니다." 훌륭한 기사
ptim

40

피보나치 수열의 처음 6 개 숫자 중 4 개는 소수입니다. 이것은 여러 사람이 병렬로 작업 할 수 있도록 작업을 더 작은 작업으로 균등하게 분할 할 수있는 가능성을 제한합니다. 그렇게하면 작업 속도가 작업하는 사람 수에 비례하여 확장 될 수 있다는 오해로 이어질 수 있습니다. 2 ^ n 시리즈는 이러한 문제에 가장 취약합니다. 실제로 피보나치 수열은 작은 작업을 하나씩 재 추정하도록합니다.


7
그것은 흥미로운 관점입니다. 그런데 왜 일련의 소수 1,2,3,5,7,11 ...이 피보나치 수열 대신 추정에 사용되지 않습니까?
asmaier

2
그것은 훌륭한 아이디어입니다. 사실, 그것들은 대략 [1.5-2.0] ^ n 시리즈를 생성하는 것들만 선택할 수있을 정도로 자주 발생합니다. 피보나치 수는 머리에서 다시 만드는 것이 더 쉽다는 것은 인정하지만, JIRA와 같은 도구를 사용하면 모든 값 집합을 지정할 수 있습니다.
KillerInsect 2012

5
다른 점은 추정치 사이의 거리입니다. 추정하는 시간이 길수록 확실성이 떨어집니다. 3-5와 5-7 사이는 동일한 차이이며 동일한 확실성을 의미합니다. 그러나 8에서 13 사이 (더 큰 간격)를 선택해야 할 때는 자신이 얼마나 확실한지 실제로 검토해야합니다.
Chris

@asmaier 나는 그것이 이야기를 추정 할 때 일반적으로 사용되는 작은 샘플에 대해 소수가 선형 인 피보나치 숫자가 지수이기 때문이라고 생각합니다
icc97

17

이 애자일 블로그 에 따르면

"왜냐하면 그들은 우리 인간이 의미있는 규모의 변화를인지 할 수있는 것과 거의 같은 속도로 성장하기 때문입니다."

그래 맞아. 본질적으로 매우 높은 수준의 초기 단계 크기 조정 (범위 지정 아님) 운동 (가치가 있음)에 합법성 (피보나치! 수학!)의 분위기를 더하기 때문이라고 생각합니다.

하지만 티셔츠 사이즈를 사용하면 동일한 결과를 얻을 수 있습니다.


1
이 답변은 2 개월 전 @kaj답변 과 거의 동일합니다 (동일한 링크와 동일한 인용문 참조) .
icc97

1
저는이 사람이 인용 한 방식이 정말 마음에 들었습니다. 즉시 이해하게 해주었습니다.
nishantbhardwaj2002

15

일정한 상대 오차로 모든 시간을 표현할 수 있도록 지수적인 무언가를 원합니다. 추정치의 정확성도 추정치에 비례 할 가능성이 매우 높습니다.

그래서 당신은 뭔가를 원합니다 : a) 정수 b) 지수 c) 쉬움

이제 왜 피보나치 대신 12 4 8입니까? 내 생각 엔 피보나치가 느리게 자라기 때문이라고 생각합니다. 그것은 goldratio ^ n이고 goldratio = 1.61 ...


3
"당신의 추정치의 정확성도 당신의 추정치에 비례 할 가능성이 매우 높습니다." 이것은 통계의 규칙입니까, 아니면 인간이 일반적으로하는 일입니까? 피보나치 수를 사용하는 경우 추정의 상대 오차가 약 f (n-1) / f (n) = 1-goldenratio = 61 %라고 가정합니다. 따라서 사람이 5를 추정하면 사람들은 이것이 약 3의 상대 오차를 의미한다고 가정하므로 복잡성이 크게 증가하면 8 이상에 불과합니다. 그러나 상대 오차가 약 60 %로 가정되는 이유는 무엇입니까? 이것은 단지 경험의 법칙입니까?
asmaier 2012

1
내 의견에 대한 답변 : Mike Cohn (2005 년 11 월). "Agile Estimating and Planning"은 다음과 같이 말합니다. "연구 결과 우리는 한 자릿수 이내의 항목을 가장 잘 추정하는 것으로 나타났습니다 (Miranda 2001; Saaty 1996)".
asmaier

1
Miranda (2001) : "짝을 이루는 비교를 사용하여 주관적 추정치를 개선하기"는 말합니다. "동료들 사이에서 비공식적 인 설문 조사를 실시했습니다. 다른 국가와 산업계와 학계에서 온 30 명이 척도에 대한 정보를 제공했습니다. 결과는 크기와 소프트웨어 도메인의 구두 설명은 Saaty보다 표 3에 표시된 설명에 더 가깝습니다. " 이 표에서 기본 크기의 125 %이면 "약간 더 크게", 기본 크기의 175 %이면 "더 크게"라고합니다.
asmaier

1
다음 피보나치 수는 이전 피보나치 수의 161 %이므로 Mirandas 표에서 "약간 더 큼"과 "더 크게"사이에 해당합니다. 이 비공식적 인 설문 조사가 우리가 피보나치 수를 사용하는 이유의 근원 인 것 같습니다. 왜냐하면 그 비율은 우리가 무언가 더 크다고 말할 때 의미하는 것과 더 가깝기 때문입니다.
asmaier 2015 년

@asmaier이 댓글을 별도의 답변으로 추가해야한다고 생각합니다. 우수하거나 링크 된 PM.SE 질문에 유감스럽게도 잠겨 있습니다.
icc97

7

피보나치 수열은 프로젝트 기획 포커에 사용되는 몇 가지 중 하나 일뿐입니다.

대규모 작업 단위를 정확하게 추정하는 것은 어렵고 숫자가 너무 "현실적"인 경우 몇 시간이 아닌 며칠 간의 토론에 엉망이되기 쉽습니다.

http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ 의 설명이 마음에 듭니다. 즉, 피보나치 시리즈는 직관적으로 구별 할 수있는 일련의 숫자를 나타냅니다. 다른 크기로 그들 사이.


4

몇 가지 이유로 피보나치를 사용합니다.

  • 작업이 커질수록 세부 사항을 파악하기가 더 어려워집니다.
  • 작업 추정은 팀원이 작업을 완료하는 데 걸리는 시간입니다.
  • 팀의 모든 사람이 특정 작업에 대해 동일한 경험을 갖는 것은 아니므로 불확실성도 추가됩니다.
  • 인간은 더 크고 잠재적으로 더 복잡한 작업에 피로를 느낍니다. 컴퓨터의 경우 두 배의 복잡한 작업이 두 배로 해결되지만 개발자에게는 더 많은 시간이 소요될 수 있습니다.

우리가 모든 불확실성을 더할 때 우리는 실제 시간이 무엇인지 확신하지 못합니다. 이 작업이 이미 추정 한 다른 작업보다 크거나 작은 지 측정 할 수만 있다면 더 쉽게 끝납니다. 작업의 크기 / 복잡성을 높이면 불확실성의 영향도 증폭됩니다. 이전에 5 시간으로 예상했던 것보다 두 배 더 큰 작업에 대해 13 시간으로 예상하는 것을 기쁘게 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.