¿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?
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.
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 .
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
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.
Durante una reunión se me ocurrió utilizar el valor de las monedas y billetes de Euro mayor o igual a 1,00 €:
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.
Entiendo que este es un hilo antiguo, pero pensé que podría proporcionar una idea.
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
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:
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.
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.
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.
Asmaier
Sridhar Sarnobat