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:

https://medium.com/confluxdigital/dont-estimate-forecast-predicting-software-delivery-using-metrics-martin-aspeli-609c63a9dd66

Thinking, Fast and Slow — Daniel Kahneman

Essential Kanban, Condensed — David J. Anderson & Andy Carmichael

Actionable Agile Metrics for Predictability — Daniel S. Vacanti

The Principles of Product Development Flow — Don Reinertsen