Por que a série Fibonacci é usada no pôquer de planejamento ágil? [fechadas]

94

Ao estimar o tamanho relativo das histórias de usuário no desenvolvimento ágil de software, os membros da equipe devem estimar o tamanho de uma história de usuário como sendo 1, 2, 3, 5, 8, 13, .... Portanto, os valores estimados devem ser semelhantes à série de Fibonacci. Mas eu me pergunto, por quê?

A descrição de http://en.wikipedia.org/wiki/Planning_poker na Wikipedia contém a frase misteriosa:

A razão para usar a sequência de Fibonacci é refletir a incerteza inerente na estimativa de itens maiores.

Mas por que deveria haver incerteza inerente em itens maiores? A incerteza não é maior se fizermos menos medições, ou seja, se menos pessoas estimarem a mesma história? E mesmo que a incerteza seja maior em histórias maiores, por que isso implica o uso da sequência de Fibonacci? Existe uma razão matemática ou estatística para isso? Caso contrário, usar a série de Fibonacci para estimativa parece ciência CargoCult para mim.

Asmaier
fonte
9
Provavelmente apenas porque a sequência de Fibonacci é "legal". Qualquer sequência exponencial funcionaria. 2^npode espaçar os números muito longe, então por que não usar a sequência de Fibonacci, que é sobre c*phi^n?
intervalo de
+1 para 'é legal'. Já trabalhei com programadores que sempre quiseram empurrar coisas estranhas para Fibonacci - sempre foi a 'coisa'
deles
2
Esta pergunta parece estar fora do assunto porque é sobre ...?
Adriano Repetti

Respostas:

78

A série de Fibonacci é apenas um exemplo de escala de estimativa exponencial. A razão pela qual uma escala exponencial é usada vem da Teoria da Informação.

As informações que obtemos fora da estimativa crescem muito mais devagar do que a precisão da estimativa. Na verdade, ele cresce como uma função logarítmica. Esse é o motivo da maior incerteza para itens maiores.

Determinar a base ideal da escala exponencial (normalização) é difícil na prática. A base correspondente à escala de Fibonacci pode ou não ser ótima.

Aqui está uma explicação mais detalhada da justificativa matemática: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html

isak gilbert
fonte
4
Esta é uma explicação mais profunda que eu esperava. Obrigado por esta resposta.
asmaier
“[Um] pequeno esforço de estimativa ajuda muito e [um] grande esforço de estimativa ajuda pouco” ótimo artigo
ptim
40

Dos seis primeiros números da sequência de Fibonacci, quatro são primos. Isso limita as possibilidades de dividir uma tarefa igualmente em tarefas menores para que várias pessoas trabalhem em paralelo. Fazer isso pode levar ao equívoco de que a velocidade de uma tarefa pode ser dimensionada proporcionalmente ao número de pessoas que trabalham nela. A série 2 ^ n é mais vulnerável a esse problema. A sequência de Fibonacci, de fato, força um a re-estimar as tarefas menores uma por uma.

KillerInsect
fonte
7
Esse é um ponto de vista interessante. Mas por que então a série de números primos 1,2,3,5,7,11, ... não é usada para estimar em vez da série de Fibonacci?
asmaier
2
É uma excelente ideia. Na verdade, eles ocorrem com frequência suficiente para selecionar apenas aqueles que criam aproximadamente uma série [1,5-2,0] ^ n. Os números de Fibonacci são reconhecidamente mais fáceis de recriar a partir da cabeça, mas ferramentas como o JIRA permitem especificar qualquer conjunto de valores.
KillerInsect de
5
O outro ponto é a distância entre as estimativas. Quanto maior o tempo de estimativa, menos certeza haverá. Entre 3-5 e 5-7 é a mesma diferença, implicando a mesma certeza. Mas quando você tem que escolher entre 8 e 13 (uma lacuna maior), isso o força a realmente examinar o quão certo você tem.
Chris,
@asmaier Eu acho que é porque os números de fibonacci são exponenciais, enquanto os números primos são lineares para a pequena amostra que é normalmente usada para estimar histórias
icc97
17

De acordo com este blog ágil

"porque eles crescem aproximadamente na mesma taxa em que nós, humanos, podemos perceber mudanças significativas em magnitude."

Okay, certo. Acho que é porque eles adicionam um ar de legitimidade (Fibonacci! Matemática!) Ao que é, em essência, um exercício de dimensionamento de estágio inicial de alto nível (não de escopo) (que tem valor).

Mas você pode obter os mesmos resultados usando o tamanho da camiseta ...

Ibrahim Bashir
fonte
1
Esta resposta é quase exatamente a mesma (faz referência ao mesmo link e a mesma citação) que a resposta de @kaj que foi dois meses antes.
icc97
1
Eu realmente gostei da maneira como essa pessoa citou. me fez entender instantaneamente.
nishantbhardwaj2002
15

Definitivamente, você deseja algo exponencial, de modo que possa expressar qualquer quantidade de tempo com um erro relativo constante. A precisão da sua estimativa também é muito provável que seja proporcional à sua estimativa.

Então você quer algo: a) com inteiros b) exponencial c) fácil

Agora, por que Fibonacci em vez de 1 2 4 8? Meu palpite é que é porque fibonacci fica mais lento. Está em goldratio ^ n, e goldratio = 1,61 ...

fulmicoton
fonte
3
"A precisão da sua estimativa também é muito provável que seja proporcional à sua estimativa." Isso é uma regra nas estatísticas ou é algo que os humanos normalmente fazem? Se você usar números de Fibonacci, você assume que o erro relativo de uma estimativa é de cerca de f (n-1) / f (n) = 1-goldenratio = 61%. Portanto, se estimarmos 5, as pessoas presumem que isso implica um erro relativo de cerca de 3, portanto, um aumento significativo na complexidade seria apenas 8 ou mais. No entanto, por que o erro relativo é considerado em cerca de 60%? Isso é apenas uma regra prática?
asmaier
1
Para responder ao meu próprio comentário: Mike Cohn (novembro de 2005). "Agile Estimating and Planning" diz: "Estudos têm mostrado que somos os melhores em estimar coisas que caem dentro de uma ordem de magnitude (Miranda 2001; Saaty 1996)".
asmaier
1
Miranda (2001): "Improving Subjective Estimates Using Paired Comparisons" diz: "Realizei uma pesquisa informal entre colegas; 30 pessoas de diferentes países e da indústria e da academia forneceram dados para a escala. Os resultados sugerem que a correspondência entre tamanho e a descrição verbal no domínio do software está mais próxima daquela mostrada na Tabela 3 do que da de Saaty. " E nesta tabela vemos que algo é denominado "ligeiramente maior" se tiver 125% do tamanho base e é denominado "maior" se tiver 175% do tamanho base.
asmaier
1
O próximo número de Fibonacci é 161% do antigo número de Fibonacci, então ele se encaixa entre "um pouco maior" e "maior" na tabela de Mirandas. Parece que essa pesquisa informal é a raiz do motivo pelo qual usamos os números de Fibonacci, porque sua proporção é mais próxima do que queremos dizer se dissermos que algo é maior.
asmaier
@asmaier Acho que você deve adicionar esses comentários como uma resposta separada, eles são excelentes, ou talvez na pergunta PM.SE vinculada, pois infelizmente está bloqueada.
icc97
7

A sequência de Fibonacci é apenas uma das várias usadas no pôquer de planejamento de projeto.

É difícil estimar com precisão grandes unidades de trabalho e é fácil ficar atolado em discussões de horas x dias se seus números forem muito "realistas".

Gosto da explicação em http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ , ou seja, a série Fibonacci representa um conjunto de números que podemos distinguir intuitivamente entre eles como magnitudes diferentes.

Kaj
fonte
4

Eu uso o Fibonacci por alguns motivos:

  • Conforme a tarefa fica maior, os detalhes se tornam mais difíceis de entender
  • A estimativa da tarefa é o número de horas para que qualquer membro da equipe conclua a tarefa
  • Nem todos na equipe terão a mesma experiência para uma tarefa específica, o que aumenta a incerteza também
  • O ser humano fica cansado por causa de tarefas maiores e potencialmente mais complexas. Embora uma tarefa duas vezes mais complexa seja resolvida em tempo dobrado para um computador, pode demorar um pouco mais para um desenvolvedor.

À medida que somamos todas as incertezas, temos menos certeza de quais deveriam ser as horas de fato. Fica mais fácil se pudermos apenas avaliar se essa tarefa é maior / menor do que outra para a qual já demos uma estimativa. À medida que aumentamos o tamanho / complexidade da tarefa, o efeito da incerteza também é ampliado. Eu ficaria feliz em calcular uma estimativa de 13 horas para uma tarefa que parece duas vezes maior do que uma que eu calculei anteriormente em 5 horas.

Chris Chou
fonte