Eu trabalho em uma pequena equipe de 4 desenvolvedores. Estamos implementando uma versão do Agile que parece continuamente nos fornecer as mesmas dificuldades, semana após semana, e estou procurando sugestões que possam nos ajudar a melhorar nosso processo.
O fundo:
Geralmente, fazemos sprints de duas semanas e, a cada tendência, subestimamos nosso trabalho, e enfrentamos problemas com nosso gerente porque estamos atrasados.
Começamos cada corrida, organizando as histórias que nosso gerente cria para nós. Às vezes, ele também executa as tarefas e nós as estimamos. Nós não usamos pontos da história. Usamos o software Urban Turtle para "gerenciar nossos sprints", que são essencialmente apenas histórias e tarefas, e o queimadura associado. Não planejamos uma liberação no final de um sprint.
O problema mais comum que ocorre é que planejamos uma tarefa no início de um sprint apenas para descobrir que seu escopo é muito maior, mas ainda com alta prioridade, por isso precisamos trabalhar mais horas nela. O segundo problema mais comum é que um de nós enfrenta um problema técnico que diminui a velocidade das horas queimadas, causando um bloqueio.
A única sugestão que nos é fornecida é ser mais proativo ao ajustar nossas estimativas e fornecer atualizações durante as paradas da manhã, para que possamos ajustar o tempo extra necessário.
No entanto, parece haver algo fundamentalmente errado com a maneira como estamos fazendo as coisas. Talvez haja uma desconexão entre as expectativas do gerente no nível do projeto e as expectativas no nível do sprint. Porque estamos fazendo essas iterações de sprint de acordo com um plano de projeto e, portanto, estendendo um sprint ou adiando itens estraga o plano do projeto. Portanto, como desenvolvedores, estamos sendo encorajados a executar o Agile estendendo as estimativas quando necessário, mas também concluindo o sprint no prazo, o que é confuso.
Este não pode ser um problema incomum, por isso espero que aqueles mais sábios do que eu tenham uma sugestão ou duas sobre como podemos parar de enfrentar esse mesmo problema a cada corrida. É frustrante.
Respostas:
Esse tipo de pensamento é seu problema. Você não está atrasado, o cronograma é muito apertado. Você deve começar a estimar histórias em pontos abstratos, em vez de horas, e depois de duas a duas iterações descobrir sua velocidade. Sua velocidade é quantos pontos você costuma fazer a cada iteração, não quantos pontos seu gerente deseja que se encaixem.
Depois disso, não importa se você subestima constantemente as tarefas - sua velocidade já é responsável por isso.
Obviamente, isso é impossível se você usar horas em vez de pontos.
fonte
Parece que os problemas são a incapacidade da sua equipe de fazer estimativas precisas e a incapacidade de prever os problemas que a inevitabilidade surge.
Tarefas pequenas são muito mais fáceis de estimar com precisão do que tarefas grandes, portanto, tente dividir suas tarefas em partes muito menores.
Não permita que alguém faça uma estimativa para qualquer tarefa, a menos que saiba exatamente como vai fazê-lo. Para qualquer tarefa que o desenvolvedor não saiba o que concluir, dedique algum tempo ao cronograma do ESTE sprint para que ele faça alguma investigação e design e faça uma estimativa precisa. Nunca menos que meio dia. Mas mova a tarefa para o NEXT sprint. Então, quando você planejar o próximo sprint, terá uma boa estimativa. Observe que esse tempo extra não é desperdiçado, porque é hora de o desenvolvedor acabar gastando em qualquer caso.
E não tenha medo de voltar ao gerente de projeto e dizer a ele que precisará de mais sprints para passar pela lista de tarefas. É melhor fazer isso do que se comprometer com alvos impossíveis.
fonte
Você está tentando alocar 100% do seu tempo? Se sim, pare de fazer isso. Comece adicionando todas as horas que sua equipe tem para contribuir durante o sprint. Faça isso assumindo que cada trabalhador, na melhor das hipóteses, dedique 6 horas por dia ao projeto. Este é considerado um "dia ideal". Essas outras duas horas? Sugado por reuniões, pausas, tarefas administrativas, o horário da manhã em que você está lendo e-mails e planejando o seu dia, etc. Isso não é "proteger suas apostas" ou "sacos de areia", é realista.
Segundo, multiplique essas 6 horas / dia por 80% . Por quê? Porque, como seres humanos, somos péssimos em prever quanto tempo uma tarefa levará. Isso explica erros em nosso julgamento. Novamente, não ensacamento, está sendo realista.
Agora você tem um número que representa um número realista de horas que você espera aplicar diretamente em suas tarefas. Quando você estiver fazendo uma estimativa, pare de adicionar histórias quando a próxima história o expor.
Por fim, não deixe o proprietário do produto adicionar tarefas. O planejamento do Scrum é para a equipe , o PO não faz parte da equipe que está fazendo o trabalho. É claro que, no mundo real, se a OP tiver mais conhecimento do que qualquer um da equipe, sua contribuição poderá ser muito útil. Ainda assim, se a equipe está se esforçando para ficar para trás, precisa se apropriar exatamente das tarefas que fará. Seu objetivo é poder atender aos critérios de aceitação; se uma tarefa não levar diretamente a isso, não faça.
Lembre-se, Scrum não é ser mais produtivo. É sobre ser mais aberto e comunicativo. O trabalho levará o que for preciso para ser feito. O Scrum existe para facilitar a estimativa, a comunicação com as partes interessadas e o comprometimento da sua equipe.
fonte
Critérios de aceitação mal definidos no início do sprint?
As estimativas iniciais geralmente são muito baixas porque os cartões de histórias têm critérios de aceitação insuficientes (se houver) quando são estimados. Que tal mudar para o ATDD (Teste de Aceitação), também conhecido como teste de histórias, para ajudar a equipe a ficar realmente clara sobre o que é o cartão?
Histórias muito grandes?
Outro motivo para você descobrir no meio da corrida que suas histórias demoram mais que o esperado pode ser que elas são muito grandes. Você viu o Agile em um baralho de flashcards em Flash ? Eles têm um cartão de memória chamado "Shrink XL stories to Fit". Ele fornece estratégias para dividir histórias, como adiar casos extremos, efeitos colaterais, aspectos não funcionais ou tratamento de erros para histórias posteriores.
Não é possível estimar porque você não possui informações suficientes?
@sleske faz uma boa sugestão sobre picos . Tente identificar incógnitas técnicas no momento da estimativa. Se houver, veja se você pode adiar a história para um sprint posterior e, em vez disso, faça uma investigação pontual (pico) nesse sprint para tentar aprender o que seria necessário para estimar. Não se empolgue e resolva a história original - o pico ocorre quando você sabe o suficiente para estimar a história.
Falhar mais rápido
E eu concordo com @Patrick Hughes - pense em mudar para sprints de uma semana para que você possa ver os problemas mais rapidamente.
fonte
Além das boas sugestões de @ Kevin e @ Patrick ...
As abordagens ágeis não são "tamanho único", mas esse comentário chamou minha atenção:
É melhor começar com uma metodologia "aprovada pelo livro" (o Scrum é dominante atualmente) - e EXATAMENTE o que outras equipes de sucesso fizeram ... Faça isso por alguns sprints ... E só então comece a considerar mudanças necessárias para otimizar as condições locais.
Alugar um coach Scrum experiente (por algumas iterações) pode ser uma verdadeira diferença. Há sutileza em obter a agilidade certa.
fonte
Primeiro, recomendo seguir o livro scrum-xp-from-the-trenches . Veja na página 26 o ponto sobre os cálculos de velocidade. A idéia é definir um fator de foco e dizer isso para o próximo Sprint:
velocidade estimada é a soma das estimativas das histórias que você planeja implementar durante o próximo Sprint.
E após um Sprint, você calcula o último fator de foco do Sprint como:
onde velocidade real é a soma das estimativas das histórias que você implementou durante o sprint.
Em seguida, você reutiliza esse fator de foco real para o próximo Sprint e, depois de alguns, poderá ser mais preciso com o quanto você realmente pode conseguir durante um Sprint ...
fonte
Até que você obtenha suas estimativas para encurtar seus sprints para uma semana, assim você reconhecerá o excedente mais rapidamente e poderá reagir em incrementos menores.
Gaste mais tempo com antecedência ao projetar tarefas para conseguir espaço para respirar e reconhecer os efeitos colaterais que provavelmente estão causando o sangramento do escopo. Também pode ser que as próprias tarefas sejam muito longas para uma estimativa ágil adequada, veja se as tarefas podem ser divididas em etapas mais curtas que serão mais fáceis de engolir.
Deixe todo mundo à vontade com o envio de uma bandeira vermelha assim que encontrar um problema, em vez de ficar preso em um problema por algumas horas. Tente desanexar o ego e culpar esse processo, isso é mais fácil para alguns do que para outros =)
E, como o @Kevin falou, você nunca agenda 100% diretamente para tarefas, porque sempre há sobrecarga como reuniões e assim por diante que você pode não reconhecer como comedores de tempo.
Quando tudo estiver legal na agenda de agendamento e depois voltar para duas semanas, você magicamente recuperará um pouco de tempo das poucas reuniões novamente.
fonte