Me estoy metiendo en scrum y TDD y creo que tengo cierta confusión sobre la que me gustaría recibir sus comentarios. Supongamos que tengo una historia de usuario en mi cartera de pedidos, para poder comenzar a desarrollarla como parte de TDD. Necesito tener requisitos, ¿hasta ahora?
¿Es cierto decir que el gerente de producto y el control de calidad deberían ser responsables de tomar la historia del usuario y desglosarla en pruebas de aceptación?
Creo que lo anterior es cierto ya que las pruebas de aceptación deben ser formales, para que puedan usarse como pruebas, pero también legibles por humanos para que el producto pueda aprobar que son los requisitos, ¿verdad?
¿Es también cierto que luego tomo estas pruebas de aceptación y las uso como mis requisitos, es decir, son un conjunto de casos de uso que implemento (a través de TDD)? Espero no estar haciendo un gran desastre, pero ese es el flujo de corriente que tengo en mente en este momento.
Actualización
Creo que mis intenciones iniciales no estaban claras, así que intentaré reformular. Quiero saber más detalles sobre el flujo de scrum de convertir una historia de usuario en código mientras uso TDD.
El punto de partida es obvio, un usuario muestra una necesidad (o el representante del usuario como producto), que es una breve descripción de 1-2 líneas en el formato conocido y que se agrega a la cartera de pedidos del producto.
Cuando hay una reunión de planificación de primavera, las historias de usuarios se toman del trabajo atrasado y se asignan a los desarrolladores.
Para que un desarrollador escriba código, necesita requisitos (especialmente en TDD, ya que los requisitos son de los que se derivan las pruebas).
¿Cuándo, por quién y con qué formato se compilan los requisitos?
Lo que tenía en mente era que el producto y el control de calidad definen los requisitos a través de pruebas de aceptación (estoy pensando en usar automáticamente FitNesse o algo así, pero creo que ese no es el núcleo) que ayudan a cumplir 2 propósitos al mismo tiempo:
- Definen "Hecho" correctamente.
- Le dan a un desarrollador algo de lo que derivar pruebas.
No estaba seguro de cuándo se escribieron (antes del sprint que se seleccionaron, entonces eso podría ser un desperdicio ya que llegará información adicional o la historia no se elegirá, durante la iteración, entonces el desarrollador podría quedarse atrapado esperándolos. ..)