Escenario: Digamos que hay dos elementos A y B en la cartera de productos de un equipo Scrum. Desde el punto de vista de la OP, B tiene más valor para el cliente que A y, por lo tanto, tiene una clasificación más alta. Cuando le pregunta a un desarrollador el tiempo estimado para trabajar en estos elementos, proporciona la siguiente información:
Esto significa que, cuando B se hace primero y luego A, el tiempo total para esos dos elementos de trabajo es de 4 días. Pero cuando A se hace antes que B, el tiempo total de trabajo será de 1 día. Pero esto estará en contra de las prioridades ya que B está clasificado más alto que A.
Suponga que ambos elementos de trabajo no se pueden completar en el mismo sprint. De lo contrario, no hay necesidad de esta pregunta :)
Pregunta real: ¿Deben las estimaciones incorporar dicha información?
Nuestro pensamiento: Hemos estado discutiendo esto ayer sobre si las estimaciones para los elementos de trabajo deben tener esto en cuenta. ¿Debe una OP tener esta información para reordenar la cartera de productos en función de esta información? Llegamos a la conclusión de que las estimaciones no deben contener esta información, es decir, B toma 2 días, punto.
Las razones para eso son:
¿Nos estamos perdiendo algo? o es nuestro pensamiento correcto? Probablemente haya más razones para agregar a esa lista.
Yo diría que tu pensamiento es correcto.
Sus estimaciones deben basarse en el código base existente actualmente y no en escenarios hipotéticos. En su ejemplo, es posible que la Historia A nunca se complete y que continúe siendo empujada hacia abajo en la lista de prioridades a medida que haya nueva información disponible.
Además de eso, también sería lógico que hacer A antes de B hace que B sea más rápido porque se completa el trabajo preliminar que hacer B antes de A haría que A sea más rápido debido a ese trabajo preliminar común.
Idealmente, los elementos de la cartera de pedidos son independientes entre sí, en cuyo caso no surgiría esta pregunta.
Cuando hay dependencias técnicas, el equipo de desarrollo y el propietario del producto deben decidir cuál es el mejor enfoque.
Algunas cosas a considerar al decidir sobre un enfoque:
Vale la pena recordar que el enfoque Agile enfatiza la optimización de la entrega de valor comercial en lugar de optimizar la eficiencia del desarrollo.
Estas dos cosas pueden sonar igual, pero al responder al cambio pueden no serlo. A veces es más efectivo comprometer la eficiencia del desarrollo para responder más rápidamente al cambio.
Esto lo decidiríamos en la planificación del sprint. Si B realmente depende de A, entonces la respuesta es fácil.
Si hacer A hace que B sea menos "doloroso", intente ponerlos en el mismo sprint, teniendo eso en cuenta y reduciendo el esfuerzo para B en consecuencia.
Entonces sí, la dependencia se incorporaría a la estimación, en mi humilde opinión.
Si A y B siguen siendo iguales... bueno, haz lo que quieras.
Esteban
Barnaby dorado