¿Por qué los equipos usarían la secuencia de Fibonacci para los puntos de la historia?

¿Por qué algunos equipos usan números de la secuencia de Fibonacci como puntos de la historia? ¿Es solo una preferencia o hay algo más?

Creo que es similar en espíritu a las escalas logarítmicas como la escala de Richter para los terremotos. Y es por eso que medimos las distancias pequeñas en pies, pero las distancias grandes en millas.

Respuestas (11)

Algunos equipos también usan potencias de dos, o tienen una escala como 1, 2, 5, 8, 20. La idea es que cuanto más grande sea la historia, más incertidumbre habrá a su alrededor y menos precisa será la estimación. El uso de la secuencia de Fibonacci ayuda a los equipos a reconocer esta incertidumbre, creando deliberadamente una falta de precisión en lugar de perder el tiempo tratando de producir estimaciones que también podrían tener un falso grado de confianza.

La publicación del blog de Dan North, "Los peligros de la estimación" , explica esto de manera muy efectiva en mi opinión.

Sin embargo, creo que fue Mike Cohn quien dijo que cambiaron del 21 al 20 en su planificación del póquer porque el 21 parecía "demasiado preciso" y el 20 parecía demasiado grueso.
Hice esa escala, pero parece sensato, si estimar algo que nunca has hecho antes puede decirse que es sensato, de todos modos.
¿Adónde se fue el 13?
En este caso, cualquier cosa mayor que 8 contiene tanta incertidumbre que bien podría ser 20. Es solo otro ejemplo del tipo de cosas que hace la gente.

Agregaría que tener la escala no lineal ayuda a tomar decisiones. Es mucho más fácil decir: es más 8 que 5 que decir que es más 8 que 7 .

Entonces, dado que la escala de puntos no es lineal, ¿se deduce que cualquier velocidad derivada de dichos puntos no se correlacionará linealmente con un sprint planificado (suma de puntos)? Además, una velocidad de 10 no significa que el sprint planificado que totaliza 10 sea lógicamente alcanzable (pero simplemente probable que sea alcanzable)?
Por separado, si bien es más fácil decir que "8 es más que 5", ¿las relaciones entre los números enteros son lineales? es decir. 8 no es solo más que 5, sino que, de hecho, es exactamente 1,6 veces mayor que 5.
La relación no es lineal, y ese es el punto. La relación se basa en órdenes de magnitud (razón por la cual algunos equipos usan potencias de 2).
Solo para aclarar (sea un pedante) 7 no está en la secuencia de Fibonacci, por lo que nunca diría "es más 8 que 7". La secuencia completa hasta 13 es 1, 2, 3, 5, 8, 13. El número 3 se perdió en la secuencia ergo 3+5 = 8 y no 7
@droppin_science Creo que no leíste bien la respuesta... El tipo defendía el uso de la secuencia de Fibonacci al decir que usarla (por ejemplo, "más 8 que 5") hace que las estimaciones sean más fáciles que con secuencias lineales (por ejemplo, "más 8 que 7")

Prueba este sencillo ejercicio: ¿Cuál es la diferencia entre historias con puntajes consecutivos como 5 y 6? ¿Y que entre 3 y 5 o 5 y 8 o 8 y 13 o 20?

El hecho de que estos 'cubos' estén más separados implica que usted está obligado a elegir entre las historias menos o más inciertas y elegir qué cubo es el más apropiado. La mente humana 've' una diferencia perceptible entre 5 y 8 puntos de historia (o 13 y 20) que entre 5 y 6 o 10 y 11.

Y dado que las historias son relativamente estimadas (es decir, 20 es 4 veces más que 5), es bastante difícil determinar la 'proporción' de diferencia entre 5 y 6 que entre 5 y 8 (digamos)

El quid de la cuestión es este: aumentar el intervalo entre los números fuerza a la mente a "ver" una diferencia visible en magnitud. Más aún, la varianza (desviación estándar) sería más pronunciada que una escala lineal, lo que permitiría que las discusiones sobre las diferencias fueran más explícitas, es decir, no habría mucha diferencia/discusiones si las estimaciones fueran 4, 5, 6, pero serían de lo contrario si fueran 3,5,8 (digamos). Este último tiene una varianza mucho mayor.

Además de la respuesta de Lunivore:

La estimación se puede hacer usando la secuencia de Fibonacci: 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

Pero la secuencia que usamos la mayor parte del tiempo es: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100 y ?

0 indica una historia de usuario que no ocupa nada de tiempo.

0.5 indica una tarea que es más pequeña que la tarea más pequeña previamente estimada. Esto a menudo da como resultado cambiar los elementos estimados previamente a un valor más alto, por lo que la tarea votada 0.5 obtiene un valor de 1.

20 reemplaza a 21 porque la estimación no puede tener una precisión de +/-5%, y 21 parece muy preciso, mientras que un buen número redondo como 20 parece lo que es: una estimación.

más de 20 en mi opinión, todas las tareas de más de 20 deben dividirse en historias de usuario más pequeñas, ya que son demasiado grandes para estimarlas con precisión.

? se usa cuando las personas no saben entender la historia del usuario o se requiere más información

Casi nunca superamos los 13, e incluso los 8 se consideran "grandes". Para nosotros, un 13 es definitivamente un candidato para separarse. Nos esforzamos por mantener nuestras historias en 5 o menos.
¿Cuándo una historia no puede tomar cualquier tiempo? ¿Puede dar un ejemplo? Tengo entendido que si no hay nada que hacer, no es relevante para un sprint.
Una corrección textual, mover algo 5 píxeles, cambiar una configuración puede terminar como 0 puntos. Este tipo de elementos muy pequeños sesgarán demasiado su escala, si se le otorgan 0,5 o 1 puntos. Puede agruparlos en algo más grande como "Corregir muchos errores tipográficos pequeños" y aprovechar el tamaño un poco más grande, corregir 1 error textual significa cambiar de contexto, corregir 50 errores textuales brinda enfoque y un objetivo claro. O una historia de 0 puntos puede resolverse junto con una historia más grande (digamos 5 puntos).

Porque la complejidad de las interacciones en un sistema se escala de forma no lineal con los componentes funcionales numéricos.

En una primera aproximación, supongamos que tiene tres componentes en un sistema que interactúan entre sí. Son 3 "puntos de interfaz" que pueden hacer que tenga que cambiar los componentes para que todos funcionen correctamente entre sí. Si tienes cuatro componentes, no son 4 puntos de interfaz, son 6, y con 5, son 10, etc. En general, un grafo completo con n nodos (todos los nodos colaboran directamente) tiene n(n-1)/2 aristas, por lo que un sistema con todos los componentes hablando entre sí tiene n(n-1)/2 interacciones.

norte 1 2 3 4 5 6 7
Fibonacci 1 1 2 3 5 8 13
n(n-1)/2 (ideal hipotético) 0 1 3 6 10 15 21
2^n 2 4 8 dieciséis 32 64 128

[tabla editada basada en el comentario]

Como puede ver, Fibonacci rastrea, pero "se queda atrás", mientras que las potencias de dos sobrestiman enormemente las cosas con más de 5 componentes. Al final, generalmente se elige Fibonacci porque en la mayoría de los sistemas, n(n-1)/2 sobreestima el número de interacciones reales en su sistema: rara vez todos los componentes interactúan entre sí directamente en una aplicación del mundo real.

Trivial, pero el cuarto término en la secuencia n^2 debería ser 8
Esta es una forma genial de verlo.

Durante una reunión se me ocurrió utilizar el valor de las monedas y billetes de Euro mayor o igual a 1,00 €:

  • 1
  • 2
  • 5
  • 10
  • 20
  • 50
  • 100
  • 200
  • 500

ACTUALIZAR:

Un colega me respondió que esto era genial porque es una báscula que todos ya conocen y la gente no necesita inventar una nueva báscula artificial, y mejor aún, no necesita tener la báscula siempre al frente.

No estoy seguro de que esto responda la pregunta, sin embargo, si puede explicar por qué esto es mejor que la secuencia de Fibonacci, puede ser digno de mención. La clave es explicar por qué, en lugar de simplemente ofrecer una alternativa.
@Iain9688: En la Actualización, lo digo. Ni siquiera fui yo quien reconoció las ventajas, fue mi colega.

Entiendo que este es un hilo antiguo, pero pensé que podría proporcionar una idea.

Idea clave

Suponga que desea saber cuánto tiempo llevará una tarea. Echa un vistazo al problema y estima que será una hora de dificultad/complejidad. Al final de la hora no está hecho. Te has dado cuenta de algo sobre el problema y es como si estuvieras empezando de nuevo. ¿Cuál es una estimación razonable/mínima del tiempo que tomará ahora? Pensando por un momento, te das cuenta de que debería ser la cantidad de complejidad que ya conocías más la complejidad que acabas de descubrir. En este punto, la complejidad anterior era cero, por lo que agrega 1 y 0 para obtener su nueva estimación de 1. Continuando de esta manera, obtiene la siguiente secuencia de Fibonacci:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Cada paso satisface la siguiente proporción áurea ya que la secuencia produce la próxima estimación más eficiente

a+b / a = a / b

O más explícitamente

nueva_estimación_de_complejidad = nueva_complejidad + antigua_complejidad_conocida

nueva_estimación_de_complejidad / nueva_complejidad = nueva_complejidad / antigua_complejidad_conocida

Más problemas

Pero luego te preguntas, ¿significa que siempre es como si estuviera empezando de nuevo? La gente se molestará si tengo que decirles que pensé que iba a tomar 8 horas pero ahora tomará 13 más. Pensando un momento uno se da cuenta que si solo actualizamos la hora, de manera que estimar 13 cuando teníamos 8 solo suma 5 horas más, entonces es como si la secuencia fuera al revés.

..., 55, 34, 21, 13, 8, 5, 3, 2, 1, 1, 0

La misma lógica todavía se aplica. Es como si empezáramos con uno de estos números más altos y estuviéramos dando estimaciones más pequeñas a medida que pasaba el tiempo.

Además, podemos escalar cada número en la secuencia por la misma cantidad, digamos 8.

0, 8, 8 (2 días), 16 (cuatro días), 24, 40 (una semana laboral), 64, 104 (~ 2,5 semanas), 168 (~ un mes), 272, 440 (un sprint), . ..

Este número de escala representa cuánto tiempo necesita el solucionador de problemas para comprender y razonar sobre el problema. En promedio, por individuo y entre individuos, 8 horas suele ser el mejor punto de partida, ya que logra un equilibrio entre todos los siguientes aspectos:

  1. Riesgo de dar estimaciones demasiado cortas.
  2. Riesgo de dar estimaciones demasiado largas.
  3. Contabilización de interrupciones.
  4. Error al estimar la complejidad de un problema.
  5. El enunciado del problema cambia a mitad de camino.
  6. Etc.

lo que no es

No se trata de incertidumbre en la tarea. Todo lo contrario, se trata de lo que sabemos. Complejidad conocida.

No se trata de la percepción humana, pero tiene el efecto secundario de influir en nuestras percepciones. Sí, 13 realmente parece más grande que 8 sin ser mucho más grande.

No se trata de adivinar, lo que la gente suele suponer cuando adivinan el factor de escala. Claramente, la identificación de este número podría ser más rigurosa.

Escalar no es lo mismo que usar un múltiplo diferente como 2. Esto incluiría efectivamente la Secuencia de Fibonacci, que sabemos que explica lo que se sabe sobre la complejidad del problema. Otras secuencias hacen suposiciones sobre lo desconocido y lo conocido, por lo que son ineficientes.

Dividirse en historias más pequeñas para reiniciar el reloj no es necesario ni beneficioso. ¿Alguien puede hacer este problema más pequeño de lo que realmente es? ¿Alguien tiene una máquina del tiempo para poder volver atrás y recuperar mis horas? No en ambos casos. Pero cuando reinicia el reloj, está ocultando cuán riesgoso es el problema. Un problema, que se estima legítimamente en 8 horas, es el mismo que uno con 8 horas después de reiniciar desde 440 horas.

Referencias

  1. proporción áurea
¿Cómo es que 8 = 2 días y 16 = 4 días cuando 40 = 5 días y 104 = 13 días?

Creo que los puntos de la historia de una tarea están en fibonacci para que se puedan descomponer en dos (o más) subtareas más pequeñas con el punto de la historia apropiado. Ex. Digamos que asigné 21 puntos de historia a una tarea. Más tarde me di cuenta de que esta tarea se puede dividir en 2 subtareas más pequeñas. Entonces, puedo crear 2 subtareas con los puntos de historia 8 y 13. De esta manera, puedo administrar fácilmente 2 subtareas (con sus propios puntos de historia) sin afectar el total de puntos de historia que tomé para la tarea más grande en un sprint (que fue 21 en este caso).

Creo que si ponemos esto en una mejor perspectiva y dibujamos la espiral, muestra una mejor perspectiva del tiempo invertido. Entonces, si voy de 1 a 2, es un círculo muy pequeño en un marco de tiempo, pero si voy de 1 a 21 y miro el arco, se vuelve mucho mejor para entender el tiempo empleado. Entonces, aunque es difícil de explicar sin gráficos, tome una brújula (la recuerda), colóquela en 1 como su punto, luego encierre en un círculo hasta su próximo número o valor de punto y obtendrá una imagen mucho mejor del tiempo empleado.

Hola David, bienvenido a Project Management SE. Sospecho que su analogía con la brújula podría ser valiosa, pero para que esta sea una respuesta más completa, es posible que desee abordar por qué los equipos usarían la secuencia de Fibonacci para los puntos de la historia. En nuestra plataforma, las respuestas se ordenan al azar o se votan en la parte superior, por lo que es importante que todas respondan a la pregunta por contexto. Para obtener más detalles sobre cómo funciona nuestro sitio, consulte el recorrido . Buena suerte y gracias por participar.

Mike Cohn (noviembre de 2005), "Estimación y planificación ágiles" dice:

"Los estudios han demostrado que somos mejores para estimar cosas que caen dentro de un orden de magnitud (Miranda 2001; Saaty 1996)".

Miranda (2001): "Mejora de las estimaciones subjetivas mediante comparaciones pareadas" dice:

"Realicé una encuesta informal entre colegas; 30 personas de diferentes países y de la industria y la academia brindaron información para la escala. Los resultados sugieren que la correspondencia entre el tamaño y la descripción verbal en el dominio del software es más cercana a la que se muestra en la Tabla 3 que a Saaty's".

Y en esta tabla vemos que algo se llama "ligeramente más grande" si es el 125% del tamaño base y se llama "más grande" si es el 175% del tamaño base.

El siguiente número de Fibonacci es el 161 % del anterior número de Fibonacci, por lo que encaja entre "ligeramente más grande" y "más grande" en la tabla de Miranda. Parece que esta encuesta informal es la raíz de por qué usamos los números de Fibonacci, porque su proporción es más cercana a lo que queremos decir si decimos que algo es más grande.

(Esta respuesta se basa en mis comentarios a una pregunta similar en Stackoverflow aquí ).

Estoy de acuerdo con Amit Kumar "los puntos de la historia de una tarea están en fibonacci para que se puedan descomponer en dos (o más) subtareas más pequeñas con los puntos de la historia apropiados". De hecho, iría un paso más allá y diría si tenemos un 13 historia puntual que deberíamos preguntarnos si podemos descomponerla en dos historias 8 + 5 o 5 + 8. Esto "prueba" la idea de que 13 es una "buena" estimación y la descomposición ayuda a la administración.