Sou um grande fã do desenvolvimento ágil e usei o XP em um projeto de muito sucesso alguns anos atrás. Eu amei tudo sobre isso, a abordagem de desenvolvimento iterativo, escrevendo código em torno de um teste, emparelhando a programação, tendo um cliente no local para executar as tarefas. Era um ambiente de trabalho altamente produtivo e nunca me senti pressionado.
No entanto, os últimos lugares onde trabalhei usam / usaram Scrum. Eu sei que é o filho do pôster do desenvolvimento ágil nos dias de hoje, mas não estou 100% convencido de que seja ágil. Abaixo estão as duas principais razões pelas quais não me parece ágil.
Os gerentes de projeto adoram
Os gerentes de projeto, que por sua própria natureza são obcecados por linhas do tempo, todos parecem amar o Scrum. Na minha experiência, eles parecem usar o Sprint Backlog como um meio de rastrear os requisitos de tempo e manter um registro de quanto tempo foi gasto em uma determinada tarefa. Em vez de usar um quadro branco, todos usam uma planilha do Excel, que cada desenvolvedor deve preencher religiosamente.
Na minha opinião, isso é muita documentação / controle de tempo para um processo ágil. Por que eu perderia tempo estimando quanto tempo uma tarefa me levaria quando eu pudesse continuar com a tarefa? Ou da mesma forma, por que eu perderia tempo documentando quanto tempo uma tarefa levou quando eu posso passar para a próxima tarefa em questão.
Reuniões Standup
As reuniões de stand-up no local anterior em que trabalhei foram um pesadelo. Todos os dias tínhamos que explicar o que havíamos feito ontem e o que faríamos naquele dia. Se analisássemos nossa "estimativa" de tempo para uma tarefa, o gerente de projetos daria um fedor e faria referência ao Sprint Backlog como um meio de mostrar que você é incompetente por não seguir a linha do tempo.
Agora entendo a necessidade de comunicação, mas certamente o tom das reuniões diárias deve ser alegre e focado no compartilhamento de conhecimento. Eu não acho que deveria se transformar em uma charada no estilo da sua lição de casa. Também certamente o ponto principal do ágil é que as linhas do tempo mudam, elas não devem ser gravadas em pedra.
Conclusão
A idéia do Agile é melhorar o software, facilitando a vida dos desenvolvedores. Portanto, na minha opinião, qualquer processo ágil usado por uma equipe deve ser conduzido pelo desenvolvedor. Eu não acho que ter um gerente de projeto use um processo que eles rotularam como "ágil" para rastrear um projeto tem algo a ver com desenvolvimento ágil.
Pensamentos alguém?