Tenemos un proyecto que todos dicen que haremos de forma ágil, pero dudo que hayamos entendido claramente qué es ágil.
En proyectos anteriores tuvimos reuniones de planificación, luego definimos el registro de respaldo del producto y asignamos el trabajo a los desarrolladores en sprints de 2 a 3 semanas. Todas las mañanas teníamos reuniones de scrum (que parecían durar media hora cada vez) y cada desarrollador seguía con eso después de eso. Casi nadie escribió ninguna prueba hasta que al final del sprint y el trabajo que no se completó se agregó al siguiente sprint.
Los desarrolladores apenas se hablaban y no había TDD involucrado en el desarrollo. De hecho, la mayoría de los desarrolladores tenían una especificación al principio y solo la siguieron durante las 2 o 3 semanas para las que se arregló el sprint. Apenas hubo comunicación con el cliente / titular de la participación.
El control de calidad usualmente se involucró unos meses después y para entonces encontramos requisitos faltantes que aumentaron aún más la cantidad de trabajo que teníamos que hacer. Claramente no hubo un ciclo de retroalimentación.
Entonces mi pregunta es, ¿dónde nos equivocamos y cómo puedo evitar que el equipo cometa los mismos errores?