Pare de fazer estimativas!
Seres humanos adoram racionalizar. E os seres humanos da TI ainda mais. Pontos de função, pontos de casos de uso, planning poker, story points, tamanho de camisa, fases da lua e outras técnicas mirabolantes tem sido usadas há anos para tentar prever o resultado da entrega do trabalho de times. Infelizmente, sem sucesso.
Os motivos são vários e cito alguns deles aqui.
1. Confundir estimativas com certezas
Toda estimativa possui uma incerteza estatística. Tal conceito, chamado Cone da Incerteza, foi popularizado ainda nos 90 por Steve McConnell.
Entretanto, gerentes ousam comunicar prazos de projeto com certeza quase divina. “Tenho certeza que vamos entregar o projeto em dois meses e meio”. “Esse projeto será entregue em Dezembro”.
Fornecer uma estimativa sem indicar o erro associado não é apenas raso, mas demonstra ignorância estatística elevada. Até Aristóteles, pai da teleologia, supostas certezas e que não sabia muito sobre estatística, dizia que a mente instruída se satisfaz com o grau de precisão que a natureza de um problema admite, ao invés de buscar a exatidão onde somente uma aproximação da verdade é possível.
2. Uso de técnicas frágeis.
Steve Mconnell, autor de um interessante livro de estimativas, declara no capítulo 1.
“Conte em primeiro lugar. Calcule apenas se você não puder contar. Julgue se não houver mais recursos.”.
Ainda assim, especialistas da TI insistem em fazer julgamentos como técnica primária de estimativas. Converse com “entendidos” do framework Scrum e eles vão lhe dizer que a técnica de Story Points, totalmente baseada em julgamentos, é muito sólida e arcabouço central do Scrum. Mais curioso é que o Scrum Guide não cita essa técnica e que julgamentos são inerentemente frágeis. Julgamentos, devo reforçar em concordância com Steve McConnell, devem ser usadas apenas como último recurso ao se fazer estimativas.
3. Falácia de Planejamento.
Este é um fenômeno que afeta virtualmente toda pessoa e foi publicado por Daniel Kahneman e Amos Tversky em 1979 depois de extensos experimentos. Ele afirma o seguinte. Tendemos a subestimar o tempo que será necessário para a conclusão de uma tarefa no futuro, jurando que ela levará menos tempo do que realmente levará.
Esse viés cognitivo é descrito por Kahneman no excelente livro Rápido e Devagar. Em termos práticos, desconfie quando alguém disser que a nova demanda estará terminada até o fim da semana pois o planejamento foi bastante detalhado.
4. Falácia da Narrativa
O seu time perdeu aquele jogo do Brasileirão. Ah… mas se o centroavante não tivesse perdido aquele chute cara a cara com o goleiro adversário, tenho certeza que o resultado seria outro.
Aquela nova empresa unicórnio não para de crescer. Ah… mas o presidente é um cara tão competente. Inovador, simpático e com ideias revolucionárias, ele realmente liderou a sua empresa na direção do sucesso.
Esses são exemplos da falácia da narrativa. Somos inundados com tanta informação sensorial que nosso cérebro não tem outra escolha; devemos colocar as coisas em ordem para que possamos processar o mundo à nossa volta. Está implícito em como entendemos o mundo. E com isso buscamos razões que não existem para justificar qualquer coisa. Afinal, somos seres “racionais”, certo?
Quando a falácia da narrativa se encontra com estimativas, temos tempo ruim à frente. Já vi inúmeras vezes técnicos (supostamente muito inteligentes) afirmarem para os seus times que os prazos agora serão cumpridos pois aprendemos a coletar requisitos ou porque a arquitetura já foi perfeitamente desenhada.
“Facilis descensus Averno” (Descer para o inferno é fácil), já disse o poeta Virgílio no seu clássico Eneidas.
#NoEstimates
O movimento #NoEstimates emergiu nos últimos 10 anos com muitos outros argumentos sobre os males das estimativas. E uma comunidade influência por caras como por Vasco Duarte, Woody Zuill, Neil Killick, Allan Holub, Daniel Vacanti e outros tem trazido ar fresco e alternativas interessantes ao problema.
Por exemplo, o livro No Estimates: How To Measure Project Progress Without Estimating, do Vasco Duarte é uma excelente introdução a essa temática
Mas quando vai estar pronto?
Algumas pessoas (ingênuas) acreditam que o movimento #NoEstimates significa que você é um anarquista que se recusa a dizer quando um trabalho estará pronto. Essas mesmas pessoas (ingênuas) confundem a pergunta “Quando vai estar pronto” com estimativas (ou uma palavra inventada horrenda, chamada “metrificação”).
Veja o exemplo interessante da histórica chuva que caiu em Belo Horizonte entre 23 e 24 de janeiro de 2020 — o maior período chuvoso da história da capital mineira desde o início da série histórica, há 110 anos, com impressionantes 171 mm. Ninguém estimou essa chuva. Ao invés, ela foi prevista com excelente antecedência baseada nas informações coletadas nos dias que a antecederam. O período do ano, a zona de convergência do atlântico sul, o ciclone que se formou no oceano atlântico que criou uma zona de baixa pressão e muitos modelos matemáticos permitiram essa previsão. O efeito gerencial prático é que a defesa civil se organizou como nunca antes na história de Belo Horizonte para evitar um dano ainda maior.
A chave aqui foi trabalhar com previsibilidade, e não estimativas baseadas em desejos ou esoterismo.
Previsibilidade — Princípios
Trabalhe com previsões, e não com estimativas. E para prever você deve se orientar pelos seguintes princípios:
- Pense probabilisticamente e não deterministicamente.
Uma previsão é um cálculo sobre o futuro que inclui um intervalo e uma probabilidade associada. Pensar probabilisticamente significa reconhecer que há mais de um possível resultado futuro. - Previsões mais curtas são normalmente melhores que longas
Previsões de prazo mais curto significam tirar muita incerteza do jogo. - Faça novas previsões à medida que novas informações são recebidas
Uma nova previsão deve ser conduzida quando novas informações chegam que validam ou invalidam as suposições iniciais em vigor quando a previsão original foi feita.
Observe que a previsibilidade não trabalha com julgamentos e Wishful Thinking. Ao invés, ela trabalha com cálculos que utilizam informações de contagem.
Previsibilidade — Um exemplo simples
O tema da previsibilidade é denso e não seria possível cobri-lo aqui. Mas trago um exemplo muito usado na comunidade Kanban, que é uma ferramenta simples usada para prever quando uma nova demanda iria demorar.
Veja a figura abaixo, chamada de gráfico de dispersão.
Cada ponto representa uma demanda. No eixo X temos o tempo do calendário e no eixo Y temos o tempo total que ela demorou para fluir pelo sistema de trabalho.
Por exemplo, a demanda destacada no gráfico (100268) demorou 38 dias para fluir pelo sistema (seu tempo de ciclo no eixo X) e foi terminada no dia 05/12/2019 (data de calendário no eixo Y).
Esse gráfico é simples de ser montado no MS Excel ou Google Sheets e tudo o que você precisa é coletar quando as demandas entraram e saíram do seu sistema de trabalho. Mais impressionante, entretanto, é o que podemos fazer com ele.
Mire a nuvem de pontos. Ela representa o histórico de demandas do sistema de trabalho. Na perspectiva estatística, ela representa um processo gerador estocástico que produziu o resultado observado. Mas não nos interessa modelar qual a distribuição estatística que a originou, mesmo por que esse é um campo que engana até economistas supostamente inteligentes, como demonstrou Taleb no excelente livro The Black Swan (ver capítulo — A Curva de Bell, Aquela Grande Fraude Intelectual).
Ao invés, vamos ser mais simples. Vamos traçar apenas uma linha horizontal que represente o percentil desejado. Por exemplo, a linha de percentil 50 é aquela que coloca metade das demandas abaixo e metade das demandas acima. Essa linha representa uma duração média de 7 dias. Mas não confie em valores médios, especialmente na área de TI.
Já diz o ditado — “Nunca entre em um rio que tem profundidade média de 1 metro”.
Como não queremos afundar, vamos usar um valor mais seguro como por exemplo o percentil 95. A linha horizontal desse percentil coloca 95% das demandas abaixo e apenas 5% das demandas acima. É um valor mais seguro para falarmos de previsibilidade.
Observe que essa linha representa o valor de 24 dias e isso já nos permite prever que a próxima demanda a entrar no sistema será terminada em até 24 dias com confiança de 95%.
Percentis são previsões e por mais estranho que pareça, são instrumentos muito confiáveis para qualquer natureza de trabalho intelectual tais como requisições de serviço, atendimento a incidentes e afins.
Previsibilidade — Como usar um gráfico de dispersão na prática
1. Construa um gráfico de dispersão do tempo do ciclo para os itens terminados (você escolhe quais os itens você quer usar — exemplos podem incluir defeitos, melhorias ou a totalidade das demandas).
2. Decida quanta confiança você precisa em sua previsão
3. Calcule as linhas de percentis para o seu gráfico de dispersão
4. Comunique a sua previsão em termos de alcance e probabilidade de acordo com confiança necessária.
5. Atualize as previsões em base diária
Quando planejadores tradicionais olham para esse instrumento, ouço argumentos (ingênuos) tais como o tamanho da demanda. Exceto por elefantes na sala (grandes projetos), o tamanho realmente não importa. Se você é um cético (ou um inteligente ingênuo) recomendo a leitura do livro When It Will be Done, do Daniel Vacanti. Suas dúvidas e ceticismos irão embora.
Outros instrumentos de previsibilidade
A comunidade Kanban tem liderado e popularizado um grande número de instrumentos simples para apoio a previsibilidade, chamada de métricas acionáveis, tais como:
- Histograma do tempo de ciclo, para compreender a variabilidade do tempo de serviço.
- Gráfico de envelhecimento, para compreender
- CFD Fluxo cumulativo de valor (já fiz um post sobre o CFD há algum tempo)
- Histograma da vazão, para compreender a variabilidade da entrega de lotes.
- Eficiência de fluxo, para compreender desperdícios.
Esses e outros instrumentos tem permitido gerir projetos ágeis sem recorrer a processos esotéricos e com alternativas a processos de estimativas baseados em julgamentos.
Originally published at http://marco-mendes.com on January 25, 2020.