El equipo está comenzando su primer proyecto Agile de capital A, y parece que el proyecto se alineará muy bien con la metodología (es decir, probablemente solo podamos tomar un libro ágil y seguirlo como una receta), con un poco de confusión:
El proyecto involucra tres cosas con las que nadie en el equipo tiene experiencia: Integrarse con el Sistema de Nómina Foo, ser capaz de manejar el tipo de archivo XYZ89 (donde "XYZ89" = algún tipo de archivo del que nunca haya oído hablar) y convertir algunos otros archivos para que puedan ser manejados por el Frobnobdicator.
Según tengo entendido, la práctica estándar de Agile sería programar picos para cada uno de estos, después de lo cual podemos determinar cuánto tiempo van a tomar (no estoy seguro de que haya muchas posibilidades de que el cliente decida no hacerlo). ellos, ya que son requisitos bastante sólidos del proyecto)
Entonces mis preguntas son:
¿Hacemos todos los picos por adelantado en la primera iteración para obtener una mejor estimación del tiempo que llevará hacerlos y / o poner en marcha un "esqueleto ambulante"?
Si no es así, ¿no estaría el cronograma total del proyecto a merced de que uno de estos picos regrese con datos de que esta historia en particular tomará más tiempo de lo que planeamos?
¿Cuál es la mejor forma de manejar múltiples picos cuando son básicamente requisitos no negociables de un proyecto?
Debería hacer las cosas en el orden de prioridad establecido por el propietario del producto (o cliente). No tiene sentido suicidarse por algo que fue realmente agradable de tener. La idea es que si se acaba el tiempo y no se hace algo, deberían ser los elementos de menor prioridad.
Si no priorizan lo que quieren, tendrás dificultades.
Si las cosas son relativamente iguales, no comience con el elemento más difícil: comience con una victoria fácil, lo que le dará al equipo la oportunidad de acostumbrarse a trabajar juntos utilizando la nueva metodología y al cliente cierta confianza en que pueden entregar cosas de esta manera. Una vez que se haya establecido, afronta algo difícil. Mida la complejidad del elemento difícil contra la complejidad de las cosas más fáciles que acaba de hacer, y comenzará a tener una idea de cuánto tiempo puede llevar superarlo.
Los elementos complejos no son realmente "picos". Son simplemente cosas que requieren más esfuerzo para darse cuenta. Divídalos en tareas más simples tanto como sea posible.
fuente
Una posible solución es crear una tarea para hacer una prueba de concepto para descubrir cómo resolver el problema y cronometrarlo, luego agregar esa historia a un sprint con otras historias.
Todavía está entregando valor y un producto al final del sprint, incluso si se trata de una aplicación de consola pirateada. La idea es que no estás hundiendo la productividad de todo el equipo, si te quedas sin tiempo, agregas otra tarea similar al próximo sprint.
fuente