Meta-comentário: Seria legal ter perguntas de pesquisa sobre Programadores.
Como o Scrum varia muito entre equipes diferentes e organizações diferentes, essa pergunta será muito difícil de responder. O Scrum deve capacitar a equipe a fornecer ótimos softwares e os desenvolvedores devem gostar disso.
Onde isso dá errado?
A resposta está na minha declaração acima. A equipe não está habilitada ou um ótimo software não é entregue.
Existem tantos modos de falha, aqui estão alguns:
- O proprietário do produto não entende o cliente ou a empresa.
- A equipe não entende o cliente ou o negócio.
- Questões organizacionais impedem que a equipe cumpra seus objetivos.
- O Scrum se transforma em um microgerenciamento diário.
Às vezes são conhecidos como scrum-buts .
O IMO Scrum tem mais chances de ser apreciado / bem-sucedido se:
- A equipe tomou a decisão de adotar o Scrum porque achou que era apropriado para o produto / projeto.
- Há um feedback forte / contínuo do cliente através do proprietário do produto.
- Navio após cada corrida.
- A equipe tem autonomia, é auto-organizada e possui total confiança / apoio da organização.
- Uma grande porcentagem de itens na lista de pendências vem da equipe.
Outro comentário é que, no Scrum, os programadores "preguiçosos" são responsáveis apenas pela equipe, portanto podem preferir que sejam responsáveis perante o chefe. De qualquer forma, não acho que isso seja um fator.
Um problema que vejo no Scrum é o problema do frango e do ovo. Se você já é ágil, pode não precisar do Scrum. Se você é inerentemente não ágil, o Scrum provavelmente não o mudará, pode até piorar as coisas, pois trará qualquer agilidade à superfície e a tornará tão visível que as forças anti-ágeis podem esmagá-la :-)
Uma organização não-ágil pode se tornar ágil? Eu não sei. Acho que o Scrum quer fazer isso, mas não tenho certeza.