Minha empresa está no meio de uma transição do desenvolvimento em estilo cascata para o Agile / Scrum. Entre outras coisas, somos informados de que a expectativa é que tenhamos novos recursos funcionais e testáveis (pelo controle de qualidade) no final de cada dia.
A maioria dos nossos desenvolvedores perde cerca de 2 horas por dia em reuniões e outras despesas corporativas. Isso significa que, em qualquer período de 6 horas (no máximo), temos que projetar, escrever, testar unitariamente, criar e implantar (com notas de versão) código suficiente para produzir um recurso completo para o controle de qualidade. Entendo que as notas de compilação / implantação / versão podem ser automatizadas com uma configuração de IC adequada, mas ainda não estamos lá.
Também temos um grande contingente offshore escrevendo nosso código do servidor, e a diferença horária de 12 horas torna isso ainda mais difícil.
Tentamos organizar as histórias em fatias verticais estreitas e profundas para concluir os recursos de ponta a ponta o mais rápido possível, mas a maioria dos dias parece um tanto frenética e geralmente vejo pessoas usando atalhos estúpidos e frágeis para garantir o controle de qualidade. Esse problema é agravado após um sprint em andamento por alguns dias, quando os defeitos inevitáveis começam a aparecer e precisam se encaixar na mesma janela de 6 horas.
Esse é um ritmo normal para as equipes ágeis? Mesmo que consigamos implementar uma configuração de IC, não vejo como conseguiremos manter esse ritmo e ainda criar software de qualidade.
Edit: Existem várias boas respostas aqui. Isso me fez perceber que o que realmente estava perguntando é: as equipes Agile devem fornecer novos recursos diariamente. Eu atualizei o título de acordo.