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?

insira a descrição da imagem aqui

Pomario
fonte
10
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.
Karl Bielefeldt
fonte
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.

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?

David M
fonte
2

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.

Andreas Huppert
fonte
2

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.

Natty
fonte
1

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?
Kris Van Bael
fonte