No Kanban, o tempo de ciclo é definido como o tempo que leva desde quando você começa a trabalhar em uma história de usuário que está pronta para implementação, até quando ela está pronta para entrega (release).
Em termos de colunas do quadro Kanban, este é o tempo desde quando você move um cartão de “Pronto” (“Para fazer”) para “Em progresso” (“fazendo”) até o momento em que você move aquele cartão de “Em progresso” para “Pronto”.
É claro que as histórias de usuários não são o único trabalho em um quadro Kanban e você pode medir o tempo de ciclo para todas as tarefas que você rastreia em um quadro Kanban. Por exemplo, bugs que precisam ser corrigidos ou pesquisados antes de se prosseguir com uma história de usuário ou correção de bugs.
Entretanto, se você quiser olhar o tempo de ciclo em relação ao tempo de lead, você quer se concentrar em itens que forneçam valor diretamente aos clientes da equipe e da empresa, as histórias de usuários.
Alguém o pegou, então está em andamento, mas enquanto não se trabalha, isso é tempo de espera.
Ambos incluem o tempo em que uma história de usuário está “em andamento”. O tempo de lead inclui o tempo em que uma história de usuário está “pronta para ser implementada”. O tempo de ciclo não inclui.
O quadro completo fica assim:
Como Medir o Tempo de Lead e o Tempo de Ciclo
A maneira mais fácil é usar um quadro digital Kanban que rastreia quanto tempo um cartão fica em uma coluna no quadro.
Você então possui várias opções para olhar e analisar seus tempos de lead e ciclo.
Uma maneira comum é usar o diagrama de fluxo acumulado. Você pode medir o tempo de lead sobre ele desenhando (e medindo) uma linha horizontal através das fases “Pronto” e “Em andamento”. E o tempo de ciclo é simplesmente a largura da fase “Em andamento”.
Outros tipos de diagramas podem ser mais intuitivos para visualizar os tempos de ciclo e de lead.
Por exemplo, gráficos de distribuição que traçam o número de cartões na vertical e o tempo de ciclo e/ou lead na horizontal.
Lead-Time-Distribution-Char
Ou um gráfico de dispersão que mostra o tempo de ciclo de cada cartão em um período específico. Os cartões são traçados horizontalmente com base em sua data de conclusão, e verticalmente para o número de dias que levou para completá-los.
Não se pode falar de tempo de ciclo sem falar da Lei de Little.
Ela diz que o número médio de cartões em um sistema estável depende apenas da taxa média em que os itens de trabalho chegam e do tempo médio em que um item de trabalho está no sistema.
Coloque em termos de Kanban:
Trabalho-Items-Em Progresso = Taxa de Chegada * Tempo de Ciclo
O que é interessante é o quão estáveis ou voláteis são essas métricas.
Um tempo de ciclo estável indica uma equipe trabalhando em um ritmo sustentável, e não encontrando muitas interrupções. E um tempo de ciclo estável indica que as histórias estão chegando no mesmo ritmo em que uma equipe pode implementá-las.
Isto é o que você quer, pois significa que você pode prever quando uma equipe entregará uma história, seja ela a primeira a ser implementada ou mais abaixo do backlog priorizado.
Um tempo de ciclo volátil indica uma equipe com desafios.
Eles podem estar integrando novos membros, batalhando com novas ferramentas, enfrentando falhas no sistema, processos e testes frágeis, variabilidade no escopo e tipo de histórias de usuários e qualquer outra coisa que os impossibilite de manter um ritmo constante e sustentável.
Todas estas são oportunidades de melhoria que ajudarão uma equipe a se tornar mais previsível em sua entrega de valor aos clientes.
Um tempo de lead volátil com um tempo de ciclo estável indica que o trabalho está chegando em passos largos.
O tempo de lead aumentará quando a taxa de chegada for maior do que a taxa de implementação da equipe. Cairá quando chegarem menos histórias do que a equipe pode lidar.
Uma equipe não pode fazer muito sobre a rapidez com que o trabalho chega, mas eles podem estabelecer limites de Trabalho em Progresso (WIP) no número de itens prontos para implementação e em progresso, para manter um fluxo constante.
O intervalo entre os tempos de lead e de ciclo é o tempo médio em que uma história fica no backlog esperando para ser implementada.
Embora ter um tempo de espera igual ao tempo do ciclo pareça agradável, na verdade não é, porque isso significaria que os membros da equipe estão regularmente de braços cruzados à espera de trabalho.
Mas você não quer que o tempo de lead seja muito diferente do tempo de ciclo. Histórias de usuários totalmente refinadas esperando no backlog correm o risco de ficar desatualizadas.
O tempo de lead e o tempo de ciclo não lhe dizem quão rápido você precisa implementar histórias de usuários ou resolver bugs a fim de acompanhar a velocidade com que eles estão chegando.
O Takt time, outra métrica da manufatura, pode ajudar.
É o ritmo no qual você precisaria implementar histórias de usuários para acompanhar a chegada deles. É calculada como o tempo disponível para o trabalho dividido pelo número de histórias completas necessárias.
Por exemplo, quando 20 histórias de usuários chegam por semana, você teria que completar as histórias em 0,25 dias para se manter atualizado.
Poucos produtos de software Kanban, se é que algum, medem o takt time.
Isto é compreensível, pois quase ninguém no Kanban para desenvolvimento de software fala sobre isso. O que mais “tempo disponível para o trabalho” pode levar você a todos os tipos de discussões infrutíferas sobre o que incluir e o que não incluir.
A maneira mais simples, rápida e direta é contar apenas os dias de trabalho e não se preocupar com o número de desenvolvedores, seus dias de folga ou qualquer outra coisa que afete o “tempo disponível de desenvolvedores”. Tudo isso apenas lhe dá uma falsa sensação de precisão.
A simples contagem dos dias de trabalho facilita o cálculo e lhe diz instantaneamente se é viável, ou se você precisa tomar mais medidas estruturais, como adicionar uma equipe de desenvolvimento para se manter atualizado.
O tempo de ciclo inclui o tempo de espera, mas em si mesmo não lhe dá nenhuma ideia de quanto tempo uma história permanece esperando depois que alguém a pegou.
Para conseguir isso, separe um status “em andamento” em “em andamento trabalhando” e “em andamento esperando”. Isso o ajudará a diagnosticar e abordar o que está causando o aumento dos tempos de ciclo. E se o tempo de ciclo está de fato caindo como resultado.
Se separar o tempo de espera mostra que muito do seu tempo de ciclo é realmente tempo de espera, pode ser uma boa ideia fazer uma distinção adicional entre fatores internos e externos. Além da coluna “em andamento esperando”, você também teria então uma coluna “em andamento bloqueada”. E você “bloquearia” um cartão quando estivesse esperando por alguém fora da equipe.
Quando você tem cartões bloqueados com mais frequência simplesmente esperando, é de pouca utilidade tentar reduzir ainda mais o tempo de espera. Você teria mais resultados correndo atrás das pessoas de fora da sua equipe!
O tempo de ciclo de uma equipe é uma média. Você pode ter um tempo de ciclo estável e ainda ter uma variação significativa quando você observa o tempo de ciclo para diferentes tipos de trabalho.
Gráficos de distribuição e gráficos de dispersão dos tempos de ciclo de itens individuais podem ajudar você a obter mais informações.
Se os pontos traçados em um gráfico de distribuição ou de dispersão se ligam aos cartões que representam, você pode facilmente investigar o que os cartões na ponta da distribuição têm em comum – e fazer algo a respeito disso.
Colorir os pontos nestes diagramas de acordo com o tipo de trabalho nas cartas que representam, facilita a identificação de padrões e faz previsões para trabalhos similares no futuro.