Slides do workshop de métricas ágeis apresentado no Agile Brazil 2017.
Para mais conteúdos sobre agile acesse http://blog.plataformatec.com.br/materiais-de-metodologias-ageis/
4. Plataformatec 2017
@rapha_albino
Consultor na Plataformatec
Autor do livro “Métricas ágeis - Obtenha melhores
resultados em sua equipe”
Doutorando e Mestre em Administração de empresas
pela FEA-USP
Raphael Donaire Albino
5. Plataformatec 2017
● Métricas devem ser usadas para evoluir o processo e não para gerar cobranças e
comparações destrutivas.
● Números sem contextos são perigosos, portanto, ao analisá-los tenha em mente a
realidade que está envolta daquela unidade de medida.
● Procure tendências e fuja da precisão. Dada a complexidade que é criar um produto
de software não busque ser determinístico em um mundo que é receptivo por
natureza a uma realidade probabilística.
● Estamos medindo um sistema e não as pessoas.
Importante
Ressalvas sobre as métricas
8. Plataformatec 2017
Lead time
O que é e como analisar?
O que é: Quantidade de dias decorridos entre o início e o fim do trabalho de determinado item (do primeiro ao último estágio no processo
de trabalho).
Perguntas a se fazer:
● O lead time dos itens está ultrapassando o time box de uma iteração?
● Qual o plano de ação para controlarmos um aumento do lead time?
● Existe algum fator blocante nos itens que estão com o lead time alto?
● O lead time dos itens têm variado muito (ex. alguns lead times baixos e
outros altos)?
● Estamos conseguindo padronizar o tamanho dos itens (complexidade e
incerteza)?
● Estamos com gargalos no processo (teste, aceite)?
9. Plataformatec 2017
● Gargalos no processo.
● Indefinição dos itens.
● Itens sem padronização de complexidade e
incerteza.
● Problemas de ambiente impactando a entrega.
● Mudanças no time (ex: rotatividade).
Lead time
O que pode estar causando variações no lead time?
12. Plataformatec 2017
Lead time
Dada a tendência da média móvel, é
possível analisar três momentos do time
Itens com uma carga maior de
complexidade
Itens mais simples
Aumento na complexidade dos
itens
13. Plataformatec 2017
Lead time
Percentis: medidas que dividem a amostra
ordenada (por ordem crescente dos dados) em
100 partes, cada uma com uma percentagem de
dados aproximadamente igual.
Dias
Itens
14. Plataformatec 2017
Lead time
¾ ou 75% dos itens
desenvolvidos pelo time
levaram até 7 dias para
serem finalizados.
Quanto menor a diferença
entre as retas, menor a
variabilidade do processo.
16. Plataformatec 2017
Lead time breakdown
O que é e como analisar?
O que é: Avaliação do tempo em que os itens que estão em desenvolvimento passam em cada etapa do processo.
Perguntas a se fazer:
● Estamos analisando o tempo em que os itens têm passado por cada uma das etapas do processo?
● Estamos utilizando tais métricas em nosso dia a dia para coordenar nossas atividades?
17. Plataformatec 2017
Lead time breakdown
Problemas que podem ser vistos pelo lead time breakdown?
● Identificar a existência de gargalo em alguma etapa (muitos itens em uma mesma fase do processo).
● Avaliar se os itens que estão em WIP poderão ser entregues dentro de um timebox desejado (alinhamento de
expectativas entre time => PO => Business).
● Comparar, historicamente, o comportamento dos itens dentro do ciclo de vida de desenvolvimento.
● Criar insumos para cerimônias como daily e retrospectiva.
18. Plataformatec 2017
Lead time breakdown
Tempo em cada etapa do
processo
Dias
Item
Em desenvolvimento Aguardando testes Em testes
19. Plataformatec 2017
Lead time breakdown
Existe algo que possa ser feito
para ajudar nos testes?
Por que o item está
aguardando tanto tempo
para ser testado?
Em desenvolvimento Aguardando testes Em testes
21. Plataformatec 2017
CFD (Cumulative Flow Diagram)
Muitos itens acumulados
no backlog precisando ser
discutidos.
Sem muitas variações em
outras etapas (não há
formação de filas).
22. Plataformatec 2017
CFD (Cumulative Flow Diagram)
O que é: Visualização da quantidade de itens em cada etapa do fluxo de desenvolvimento.
Perguntas a se fazer:
● A curva de itens adicionados ao processo tem aumentado?
● A curva de itens finalizados tem crescido?
● Existe alguma etapa do processo que está acumulando itens (ex. teste)?
O que é e como analisar?
23. Plataformatec 2017
● Gargalos nas etapas do processo (exemplo: teste, code review).
● Backlog (itens adicionados) crescendo de forma desordenada.
● Extração de métricas como lead time e throughput médio.
CFD (Cumulative Flow Diagram)
Que tipo de informação podemos tirar deste gráfico?
24. Plataformatec 2017
CFD (Cumulative Flow Diagram)
Muitos itens acumulados
no backlog precisando ser
discutidos.
Sem muitas variações em
outras etapas (não há
formação de filas).
26. Plataformatec 2017
Throughput
O que é e como analisar?
O que é: Quantidade de itens entregues, dado o critério de definition of done, nas últimas semanas.
Perguntas a se fazer:
● Estamos conseguindo fazer entregas semanais ou quinzenais?
● Estamos aumentando nosso throughput?
● Quais são os itens que estão sendo entregues (US, tasks, bugs)?
27. Plataformatec 2017
● Problemas de ambiente que estão impossibilitando a entrega dos itens.
● Problema de revisão dos itens.
● Semanas sem entregas.
● Falta de cadência de entrega.
● Aumento no número de entregas quando o prazo final se aproxima.
Throughput
Problemas que podem ser vistos pelo Throughput?
30. Plataformatec 2017
Burn up chart
Total de itens no backlog
Total de itens
entregues
Projeções de entrega
Semana
31. Plataformatec 2017
Burn up chart
O que é e como analisar?
O que é: Compara o progresso de entregas e a quantidade de itens existentes no backlog.
Perguntas a se fazer:
● O backlog do projeto tem crescido de forma saudável?
● Quando o time finalizará o atual escopo do projeto?
32. Plataformatec 2017
● Semanas sem nenhuma entrega.
● Aumento repentino do backlog.
● Falta de cadência de entrega.
● Subestimação do prazo de entrega do backlog.
Burn up chart
Problemas que podem ser vistos pelo Burn up chart?
33. Plataformatec 2017
Burn up chart
Total de itens no backlog
Total de itens
entregues
Projeções de entrega
Semana
34. Plataformatec 2017
O que é:
● Uso de estatística descritiva para determinar as projeções dos cenários otimistas, mais provável e
pessimista de entrega de um escopo.
● Para a realização das projeções, são levadas em considerações informações como: o throughput
mínimo, o throughput máximo, a mediana da amostra de throughput, a moda da amostra de
throughput, o percentil 75 da amostra de throughput e o percentil 95 da amostra de throughput.
Pergunta a se fazer:
● Dado nosso histórico de throughput, como seria a projeção de cenários para a entrega de um escopo?
Projeções baseadas em throughput
O que é e como analisar?
41. Plataformatec 2017
● Conteúdo Ptec
○ O aprendizado a partir de indicadores ágeis
○ Why we love metrics? Cumulative flow diagrams
○ Looking at Lead Time in a different way
○ Métricas Ágeis: Throughput e gráfico de Burnup
○ Métricas Ágeis: o que Lead Time fala sobre seu projeto
○ Power of the metrics: Don’t use average to forecast deadlines
○ Lead Time Experiment: Calculating Lead Time of the whole process
○ Case Study of a WIP Limit Implementation: Why, When and How to use WIP Limits
○ Forecasting software project’s completion date through Monte Carlo Simulation
○ 5 Estratégias para otimizar o fluxo de desenvolvimento de software
● Outras referências
○ Blog - Kudos - Leonardo Campos
○ Blog - Troy Magennis
○ Livro - Actionable Agile Metrics for Predictability
Referências