Previsibilidade nossa do dia-a-dia
Quando ficará pronto? Vamos cumprir o escopo da sprint? Chegaram mais itens para entregar. Cabe na sprint?
Estas são perguntas que, dentre várias outras semelhantes, chegam na nossa caixa de e-mail ou whatsapp todos os dias.
O desafio que vem sendo colocado diariamente para os times de desenvolvimento e em geral, para todos que estão envolvidos com o trabalho intelectual, é bem pesado. Prever entregas de itens aleatórios, com filas invisíveis de trabalho, dependências e interrupções e bloqueios de toda natureza, não é uma tarefa simples.
Diante deste contexto, vejamos alguns tópicos que podem nos ajudar a vencer este desafio:
- A previsibilidade é mais importante que a velocidade máxima para a maioria das organizações.
- Nós, seres humanos, pessoas, somos notoriamente ruins em estimar. Essa é uma faceta da natureza humana - como uma espécie que somos ruins em estimar. Veja a lei de Hofstadter à https://bit.ly/2VEWz6Q
- Nós tendemos a ignorar o Tempo de Espera (wait time) quando estimamos, mas o Tempo de Espera compõe a maioria do Tempo de Ciclo (cycle time) na maioria das organizações que fazem o trabalho de conhecimento como desenvolvimento de software. Lembre-se que o tempo de ciclo (cycle time ou lead time) é a medida da sua agilidade. É a métrica mais ágil que existe.
- Com alguma disciplina em como usamos nossas ferramentas de gestão (Kanbanize, SwiftKanban, Trello,Azure DevOps, Jira etc.), podemos começar a usar métricas para ajudar a rastrear quanto tempo as coisas realmente levam - isso aumenta a previsibilidade.
- Precisamos ter cuidado para garantir que a taxa de chegada de novos itens de trabalho não exceda a taxa de saída. É parte do nosso trabalho buscar manter um sistema saudável de trabalho.
- Use um Diagrama de Fluxo Cumulativo (CFD) para rastrear a integridade do sistema.
- Meça o tempo de ciclo end-to-end de histórias reais. Não há necessidade de dimensionar as histórias com pontos de história ou tamanhos de camisetas, ou com qualquer outro tipo de referência ou parâmetro. O conjunto de histórias entregues fornece medidas de confiança.
- Como as pessoas são “ocupadas” além de cerca de 80% da capacidade, sua capacidade de resposta cai drasticamente. Essa é a teoria básica das filas. Gerencia as filas, não o trabalho.
- Preveja as datas de entrega para lotes de trabalho usando simulações de Monte Carlo. Isso fornece medidas de confiança (50%, 85%, 95%, etc.), permitindo que as partes interessadas escolham as datas com base na probabilidade e no risco.
- Limite o trabalho em progresso. Trabalho em multi-tarefa gera atrasos e interrupções nas atividades, prejudicando a previsibilidade.
- Diminua o tamanho do lote a ser trabalhado. Lotes maiores ocupam espaço no fluxo, gerando gargalos e, consequentemente, prejudicando o tempo de feedback.
Fonte:
Thinking, Fast and Slow — Daniel Kahneman
Essential Kanban, Condensed — David J. Anderson & Andy Carmichael
Actionable Agile Metrics for Predictability — Daniel S. Vacanti