A velocidade não atinge o platô com o tempo, por quê?
11
Plotei o gráfico de queima da minha equipe e sua velocidade por iteração. Para mim, parece muito ruim (a velocidade varia muito). O que devo procurar para diagnosticar a causa raiz desse comportamento?
Por que parece ruim? A maioria dos projetos começa com uma enxurrada de problemas fáceis de resolver e depois atola-se mais tarde, pois algumas das suposições iniciais se provam erradas e precisam ser corrigidas para resolver problemas posteriores.
Blrfl
1
Sua equipe faz 1000 pontos por sprint?
Bryan Oakley
@BryanOakley Parece mais com 100 pontos / sprint. Considero a linha superior como o "valor acumulado".
Caleb
"Pontos" são intencionalmente arbitrários - mesmo que sejam 1000 pontos por sprint, isso pode significar apenas que um ponto é talvez dez minutos-homem ou algo parecido.
tdammers
1
@KirkBroadhurst Olhe atentamente. A linha marcada 'Velocidade' na chave é preta sólida e corresponde à linha inferior do gráfico. A linha marcada 'Acc. O valor 'na chave é cinza, como a linha superior do gráfico. Você também pode dizer, por inspeção, que a linha superior provavelmente é o total em execução dos pontos de dados inferiores: a linha é plana em semanas quando a linha inferior está próxima de zero (sprints 6, 9, 15 ...), tem inclinação constante quando a linha inferior é plana (sprints 3-6, 10-13) e nunca diminui.
Caleb
Respostas:
20
É perfeitamente normal ter uma flutuação nos dez primeiros sprints, enquanto a equipe está encontrando seu ritmo. Depois disso, é perfeitamente normal que a velocidade flutue em torno de uma média. Tente plotar uma média de corrida dos últimos cinco sprints ou mais, e você deve vê-lo nivelar. Caso contrário, alguns dos seguintes podem ser os culpados:
A equipe está tentando ajustar suas estimativas de pontos da história com base em sua velocidade recente, em vez de manter os pontos da história constantes e ajustar quantas histórias eles levam.
Você não está contando as histórias suficientemente pequenas.
Muitas de suas histórias aparecem nas granularidades mais altas. Por exemplo, você tem muitos ponteiros que você reluta em mudar para 13 ou 40.
Você tem muitas histórias de "ressaca" que não terminam completamente em um sprint.
Para as histórias de "ressaca", o que você deve fazer? Especialmente se o sprint ficar "completo" para pelo menos uma parte da equipe e eles precisarem arrastar uma história de fora do sprint alguns dias antes do término do sprint. Pelo que me disseram, "calcula a média". Não é esse o modo correto de pensar?
Earlz
Pessoalmente, "está em média" é bom para mim, e minha equipe de scrum concorda. Outras equipes fazem coisas como checar histórias concluídas, adicionar testes extras, dividir histórias em pedaços menores ou denunciar histórias para evitar ressacas, e isso é realmente mais alinhado com o "puro scrum".
Karl Bielefeldt
Já é uma coisa ruim de se ter? Por exemplo, muitas vezes assumimos compromissos puramente pela velocidade. A confirmação incluirá muitas histórias em andamento e, em seguida, arrastaremos as histórias para o sprint conforme necessário (e isso é planejado e esperado).
Earlz
É ruim se o seu código não estiver em um estado expedível no final do sprint. Os puristas do Scrum consideram o planejamento de incluir histórias ruins no sprint, por princípio, mesmo que seu código possa ser entregue no final do sprint. Pessoalmente, acho que não é ruim adaptar o processo à sua equipe.
Karl Bielefeldt
4
Você está abusando da velocidade como um indicador de desempenho, como se um número de pontos de história aceitos fosse um sprint "bom" e menos que isso fosse um sprint "ruim".
O Velocity (que é um conceito terrivelmente errado) deve ser usado como uma ferramenta prospectiva para estimar quantos recursos os quais a equipe pode se comprometer no próximo sprint, ou seja, a velocidade deve ser usada para o planejamento da capacidade.
Aqui está uma citação destacada do artigo: "O problema é o peso dado à velocidade e transformá-lo em uma medida de produtividade".
Pode haver um problema no que parece ser uma variação significativa na sua velocidade. Isso não significa que a equipe esteja fazendo algo errado, mas o efeito é que a capacidade da equipe para futuros sprints não pode ser prevista muito bem. Infelizmente, essa não é uma pergunta que qualquer um de nós possa responder por você. Você precisa se aprofundar no assunto via retrospectiva. O que realmente está acontecendo?
De qualquer forma, a medida mais crítica está faltando no seu gráfico. Quão bem a equipe se saiu ao entregar o valor com o qual se comprometeu? A velocidade flutua porque excede seu comprometimento em alguns sprints, mas não em outros, flutua porque não está terminando histórias, ou flutua porque os compromissos também flutuam?
Causa potencial adicional: durante os sprints posteriores, você está pagando dívidas técnicas de sprints anteriores.
Por exemplo, você tem uma demonstração de gerenciamento após o sprint 3 e precisa mostrar um cenário de dia feliz. Para fazer isso, você faz a codificação sem tratamento de erros, sem suporte à tradução, sem teste de unidade. Esta é uma decisão válida, você só precisa estar ciente das consequências.
Mais tarde, você adiciona todas as coisas interessantes, como estrutura de manipulação de excação, suporte à tradução, estrutura de teste de unidade e assim por diante. Sua codificação existente nos primeiros 3 sprints ainda não tem esse uso, portanto, precisa ser atualizada. Esse esforço diminui a criação de valor durante os sprints posteriores.
Para sua pergunta, é difícil dizer por que ela tem flutuação, porque pode ser por causa do histórico, das pessoas da equipe ou da capacidade do proprietário do produto. Então, na minha experiência, a velocidade será flutuada porque, por exemplo:
O membro da sua equipe pode não ser dedicado. Para trabalhar e entender um ao outro, eles precisam trabalhar juntos por tempo suficiente. Se sua equipe troca / troca pessoas com frequência, isso dinamiza a equipe e também afeta a velocidade.
Cartas de história são muito grandes. Portanto, a equipe não pode entrar em detalhes o máximo que pode no planejamento / estimativa. Eles descobrirão durante o sprint que algo é mais difícil do que pensam.
Eu acho que você está fazendo scrum. No scrum, precisamos fazer o planejamento de sprint, parte 1 (o proprietário do produto escolhe o que fazer) e o planejamento de sprint, parte 2 (a equipe decide o quanto eles podem fazer). Portanto, a situação pode ser que, depois que o proprietário do produto escolhe os cartões para o sprint, a equipe não entra em detalhes o suficiente no planejamento do sprint, parte 2, para que eles não possam encontrar o problema oculto que precisam para informar o proprietário do produto. Se eles descobriram os problemas a princípio, eles os resolveriam OU pensariam em como se livrar do risco. Isso faz com que a estimativa seja correta o suficiente antes de começar a trabalhar no sprint.
Se os cartões de história não estiverem detalhados, a estimativa não será precisa. A estimativa no início pode ser grosseira, mas antes de iniciar o sprint ou antes das cartas de história irem para o sprint, elas precisam ser divididas e esclarecidas o suficiente para obter uma estimativa quase correta. Isso ajuda a velocidade da equipe a ser mais estável.
O proprietário do produto pode não ser capaz de esclarecer os cartões de história com clareza suficiente antes de começar a trabalhar no sprint. Isso também é realmente importante, porque esse é o objetivo da equipe trabalhar nessas duas semanas. Se o proprietário do produto acabou de escolher o cartão para o sprint e a equipe ainda não o entender, eles precisam entendê-lo durante o sprint e a resposta pode ser que ele tem mais do que discutiram e que a estimativa está errada. Então, isso claramente afeta a velocidade.
etc ...
De qualquer forma, na minha opinião, não acho que a flutuação da velocidade seja importante desde que saibamos qual é a situação em cada corrida. A velocidade é apenas uma coisa para lhe dizer o quão estável sua equipe pode trabalhar. Se não é estável, precisamos descobrir em detalhes cada sprint sobre "o que aconteceu". Esta é apenas uma maneira de esclarecer / fazer com que o problema aconteça, para que possamos corrigi-lo. Então, a velocidade nos diz o que estava acontecendo naquele sprint, para que possamos pensar e melhorar para torná-lo estável. Velocidade é uma projeção do projeto. E a flutuação da velocidade não significa que a equipe não pode entregar o produto, apenas ajuda a pensar sobre a projeção no futuro e quais são os problemas a serem resolvidos para facilitar tudo.
Sua velocidade possui ruído (flutuações). Razões possíveis:
As histórias são muito grandes e, muitas vezes, uma história concluída pela metade é levantada para o próximo sprint.
As histórias não foram estimadas com precisão. Isso pode ser por causa de uma equipe inexperiente ou novamente por grandes histórias.
Esse ruído não é necessariamente um problema por si só: uma velocidade barulhenta que flutua em torno de uma média constante ainda permite que você faça um planejamento preciso da liberação.
No entanto, se você filtrar o ruído (média de rolagem em 5 sprints consecutivos), sua velocidade continuará diminuindo após 20 sprints. Isso dificulta o planejamento da liberação e vale a pena investigar:
A "definição de concluído" é muito fraca e a equipe está acumulando trabalho restante dos sprints anteriores?
A organização está melhorando em desviar o scrum e impor trabalho não relacionado à lista de pendências à equipe?
As histórias grandes (épicas) na parte inferior do registro foram estimadas mais otimistas do que as histórias mais detalhadas no topo?
Respostas:
É perfeitamente normal ter uma flutuação nos dez primeiros sprints, enquanto a equipe está encontrando seu ritmo. Depois disso, é perfeitamente normal que a velocidade flutue em torno de uma média. Tente plotar uma média de corrida dos últimos cinco sprints ou mais, e você deve vê-lo nivelar. Caso contrário, alguns dos seguintes podem ser os culpados:
fonte
Você está abusando da velocidade como um indicador de desempenho, como se um número de pontos de história aceitos fosse um sprint "bom" e menos que isso fosse um sprint "ruim".
O Velocity (que é um conceito terrivelmente errado) deve ser usado como uma ferramenta prospectiva para estimar quantos recursos os quais a equipe pode se comprometer no próximo sprint, ou seja, a velocidade deve ser usada para o planejamento da capacidade.
http://jimhighsmith.com/velocity-is-killing-agility/
Aqui está uma citação destacada do artigo: "O problema é o peso dado à velocidade e transformá-lo em uma medida de produtividade".
Pode haver um problema no que parece ser uma variação significativa na sua velocidade. Isso não significa que a equipe esteja fazendo algo errado, mas o efeito é que a capacidade da equipe para futuros sprints não pode ser prevista muito bem. Infelizmente, essa não é uma pergunta que qualquer um de nós possa responder por você. Você precisa se aprofundar no assunto via retrospectiva. O que realmente está acontecendo?
De qualquer forma, a medida mais crítica está faltando no seu gráfico. Quão bem a equipe se saiu ao entregar o valor com o qual se comprometeu? A velocidade flutua porque excede seu comprometimento em alguns sprints, mas não em outros, flutua porque não está terminando histórias, ou flutua porque os compromissos também flutuam?
fonte
Causa potencial adicional: durante os sprints posteriores, você está pagando dívidas técnicas de sprints anteriores.
Por exemplo, você tem uma demonstração de gerenciamento após o sprint 3 e precisa mostrar um cenário de dia feliz. Para fazer isso, você faz a codificação sem tratamento de erros, sem suporte à tradução, sem teste de unidade. Esta é uma decisão válida, você só precisa estar ciente das consequências.
Mais tarde, você adiciona todas as coisas interessantes, como estrutura de manipulação de excação, suporte à tradução, estrutura de teste de unidade e assim por diante. Sua codificação existente nos primeiros 3 sprints ainda não tem esse uso, portanto, precisa ser atualizada. Esse esforço diminui a criação de valor durante os sprints posteriores.
fonte
Para sua pergunta, é difícil dizer por que ela tem flutuação, porque pode ser por causa do histórico, das pessoas da equipe ou da capacidade do proprietário do produto. Então, na minha experiência, a velocidade será flutuada porque, por exemplo:
De qualquer forma, na minha opinião, não acho que a flutuação da velocidade seja importante desde que saibamos qual é a situação em cada corrida. A velocidade é apenas uma coisa para lhe dizer o quão estável sua equipe pode trabalhar. Se não é estável, precisamos descobrir em detalhes cada sprint sobre "o que aconteceu". Esta é apenas uma maneira de esclarecer / fazer com que o problema aconteça, para que possamos corrigi-lo. Então, a velocidade nos diz o que estava acontecendo naquele sprint, para que possamos pensar e melhorar para torná-lo estável. Velocidade é uma projeção do projeto. E a flutuação da velocidade não significa que a equipe não pode entregar o produto, apenas ajuda a pensar sobre a projeção no futuro e quais são os problemas a serem resolvidos para facilitar tudo.
fonte
Sua velocidade possui ruído (flutuações). Razões possíveis:
Esse ruído não é necessariamente um problema por si só: uma velocidade barulhenta que flutua em torno de uma média constante ainda permite que você faça um planejamento preciso da liberação.
No entanto, se você filtrar o ruído (média de rolagem em 5 sprints consecutivos), sua velocidade continuará diminuindo após 20 sprints. Isso dificulta o planejamento da liberação e vale a pena investigar:
fonte