Temos um projeto que todo mundo diz que faremos de maneira ágil, mas duvido que tenhamos entendido claramente o que é ágil.
Em projetos anteriores, tínhamos reuniões de planejamento, depois definíamos o backlog do produto e alocávamos o trabalho aos desenvolvedores em sprints de 2 a 3 semanas. Todas as manhãs, tínhamos reuniões de scrum (que pareciam durar meia hora por hora) e cada desenvolvedor continuava com isso depois disso. Quase ninguém escreveu nenhum teste até o final do sprint e o trabalho que não foi concluído foi adicionado ao próximo sprint.
Os desenvolvedores dificilmente conversaram entre si e não havia TDD envolvido no desenvolvimento. De fato, a maioria dos desenvolvedores tinha uma especificação no início e apenas a seguiu pelas 2 ou 3 semanas em que o sprint foi organizado. Quase não houve comunicação com o cliente / interessado.
O controle de qualidade se envolveu normalmente alguns meses depois e, a essa altura, encontramos requisitos ausentes que aumentavam ainda mais a quantidade de trabalho que tínhamos que fazer. Claramente, não havia loop de feedback.
Portanto, minha pergunta é: onde erramos e como posso impedir que a equipe cometa os mesmos erros.