2008-12-05 18 views
6

¿Cómo calculo el tiempo necesario para implementar una historia de usuario? Si es algo que has hecho antes de saber cuánto tiempo llevará. Pero, ¿y si es completamente nuevo para ti? ¿Cuánto tiempo reserva para "sorpresas"?Estimación de tiempo para una historia de usuario

+2

voy a votar para cerrar esta cuestión como fuera de tema, ya que no se trata de la programación. –

Respuesta

6

Una gran técnica para esto es para romper la historia hasta tareas algo más pequeños, y estimarlos comparación con los demás (en lugar de absoluta). Así que se puede decir:

  • tarea A se llevará a 2 unidades (arbitrarias)
  • tarea B es aproximadamente 2 veces tan complicado como tarea A (4 unidades)
  • Tarea C es aproximadamente la mitad ha complicado (1 unidad)

Somos mejores para estimar la complejidad relativa que la complejidad absoluta. Luego, en realidad, realiza una de las tareas y calcula cuánto tiempo "en tiempo real" le lleva implementar 1 unidad: ahora puede calcular todas las tareas. Sigue actualizando sus estimaciones de acuerdo con su progreso.

Esta técnica es de Agile Estimating and Planning por Mike Cohn, que es un gran libro sobre el tema.

+0

+1 ¿Sigue "actualizando sus estimaciones" o actualiza la relación unidad/tiempo real? – philant

+0

@philippe: Buena distinción. Me refiero a actualizar la relación. – orip

2

En la escuela XP de desarrollo ágil, defienden que no se estima en tiempo real sino en unidades arbitrarias. (Usan "Gummy Bears" pero puedes usar lo que sea). Usted asigna su mejor estimación en cuanto al número de unidades que se necesitarán para implementar esa historia de usuario.

Es cierto que puede estar equivocado, pero llegará a una fase en su desarrollo, algunas iteraciones, cuando sus suposiciones son en su mayoría correctas, y es fácil para la empresa/cliente obtener un presupuesto preciso de cuántos historias que pueden incluir en una iteración.

Una buena regla de oro desde el principio, cuando es difícil de estimar, es tomar una de las tareas más sencillas, y asignarla a un valor de 1. Evaluar la historia de cada uno en relación con esa, y darle a su mejor conjetura. Si algo es demasiado complicado o no está lo suficientemente definido, se lo obligará a darle un número realmente grande.

Otro concepto clave es que debe volver a evaluar los tiempos para cada historia de usuario en cada iteración. A medida que sus historias se definan mejor, y a medida que su estimación de la velocidad mejore, obtendrá momentos más precisos en sus historias.

En cuanto a las sorpresas, en realidad no tiene que ver con la estimación de las historias de los usuarios ... ya que no tienes historias de usuarios para representar sorpresas.

0

Una técnica implementada donde trabajo. Para cada historia de usuario, escríbalo en una tarjeta con un encabezado. Pida a cada persona que tome una tarjeta y escriba en ella el número de horas que creen que llevará completar. Haga que coloquen las tarjetas en la tarea sin mostrarlas entre sí. Una vez que tenga todos los resultados, mire las cifras y vea los valores superiores e inferiores. Normalmente obtendrá cifras bastante cercanas entre sí.

Para los valores que se encuentran en la parte superior o inferior, pregunte al desarrollador o a la persona con la información de por qué creen que tardaría tanto o tan poco en comparación con la media. Proponer un consenso del equipo en lugar de un individuo significa que todos tienen su opinión sobre la tarea.

Esta es una idea de un libro que leí sobre técnicas ágiles y olvidé que el autor se los acredita con él.

Cuestiones relacionadas