Caso de Uso

Previsão Monte Carlo para o planejamento de entregas no Azure DevOps

Líderes de entrega que procuram previsão Monte Carlo para Azure DevOps geralmente têm uma pergunta urgente: quando é provável que terminemos? O Agile Analytics executa uma simulação bootstrap de 10.000 iterações sobre o throughput dos seus próprios sprints concluídos, diretamente dentro do Azure DevOps, e devolve um intervalo de probabilidade em vez de um único palpite.

dev.azure.com / your-org / Analytics
Previsão Monte Carlo mostrando intervalos de probabilidade em 10.000 execuções de entrega simuladas

Por que as estimativas de entrega com data única deixam de ser confiáveis

  • Os stakeholders querem uma data de entrega, mas uma estimativa de ponto único só sobrevive até errar uma vez
  • O planejamento por velocidade média suaviza a variação entre sprints que, na prática, decide se uma data atrasa
  • A previsão costuma exigir exportar o histórico de throughput para uma planilha ou uma ferramenta de BI separada antes que alguém consiga ver um intervalo

O que a previsão Monte Carlo no Azure DevOps mostra a você

  • Execute uma simulação bootstrap de 10.000 iterações sobre o throughput dos seus próprios sprints concluídos, no mesmo lugar onde o backlog já vive
  • Leia P50, P70, P85 e P95 como um intervalo honesto em vez de uma única data prometida
  • Faça qualquer uma das duas perguntas que o negócio realmente faz: quantos itens até esta data, ou quando estes N itens estarão prontos

Como a simulação Monte Carlo realmente funciona

Isso é uma reamostragem bootstrap do seu próprio histórico, não um ajuste de curva estatística. Em cada uma das 10.000 iterações, a simulação avança pela janela de previsão e, a cada passo, sorteia aleatoriamente (com reposição) um dos sprints concluídos da sua própria equipe, somando a quantidade de itens finalizados daquele sprint ao total acumulado. Repetir isso 10.000 vezes transforma a dispersão dos resultados na previsão. Ela roda sobre o histórico do Azure DevOps que a extensão já lê, sem exportar seus dados para outra plataforma antes, sem precisar configurar um personal access token e sem um backend de analytics hospedado pelo publisher no meio do caminho. A simulação também é determinística: os sorteios aleatórios são semeados a partir do seu histórico de sprints, da janela de previsão e do número de iterações, então executá-la duas vezes com as mesmas entradas devolve o mesmo intervalo P50/P70/P85/P95 nas duas vezes. O intervalo só se move quando o seu throughput real muda. Se o trecho final da janela de previsão não coincidir com um limite de sprint completo, esse período parcial final é rateado proporcionalmente em vez de contado como um sprint inteiro, para que o modelo não superestime nas bordas.

Como ler previsões por percentil, e por que um intervalo vale mais que uma única data

Cada previsão volta como quatro níveis de confiança lidos sobre as mesmas 10.000 execuções simuladas, cada um significando "esta quantidade de itens ou mais, com pelo menos esta frequência":

  • P95, Muito provável: o número que você tem 95% de chance de atingir ou superar. Geralmente o compromisso mais seguro e menor do intervalo.
  • P85, Provável: o nível que a maioria das equipes usa para uma data que está disposta a apresentar a um stakeholder.
  • P70, Possível: um meio-termo funcional, certo mais vezes do que errado, mas não uma promessa segura.
  • P50, Cara ou coroa: o número que metade das execuções simuladas alcançou e a outra metade não. Útil como meta desafiadora, arriscado como compromisso.

Quantos até uma data, versus quando N itens estarão prontos

São duas perguntas diferentes, e a simulação executa um modo separado para cada uma. "Quantos?" recebe uma data alvo (30 dias no futuro por padrão) e devolve quantos itens do backlog você provavelmente vai concluir até lá, em cada nível de confiança; use quando a data é fixa e a questão em aberto é o escopo, por exemplo uma data de lançamento ou um marco contratual. "Quando vai terminar?" recebe um tamanho de backlog, como os itens restantes de um épico, e devolve um intervalo de datas; use quando o escopo é fixo e a questão em aberto é a data. Como o sentido da pergunta se inverte, o percentil também se inverte: para "quando vai terminar?", P50 é a data mais otimista e mais próxima, e P95 é a mais conservadora e mais distante. Quando um backlog é grande o suficiente para que algumas das 10.000 execuções simuladas não atinjam a meta dentro do horizonte de previsão, a ferramenta informa o percentual que não terminou em vez de simplesmente assumir que todas as execuções foram concluídas, evitando que um intervalo largo seja disfarçado por um número falsamente confiante.

O que a previsão precisa antes que os números tenham sentido

Uma previsão Monte Carlo só é tão confiável quanto o histórico de sprints concluídos do qual ela reamostra. Ao abrir a previsão para uma equipe, o seletor de sprints lista os dez sprints concluídos mais recentes e seleciona por padrão os seis mais recentes para executar a primeira previsão; você pode escolher um conjunto diferente manualmente, o que importa se um desses sprints foi uma exceção genuína, uma semana de feriado ou uma reorganização, que você queira excluir da reamostragem. O sprint atualmente em andamento é excluído automaticamente dessa seleção padrão: reamostrar a partir de um sprint parcial e ainda aberto arrastaria a previsão inteira para baixo com um número de throughput que ainda não terminou de ser contado. Se um sprint selecionado falhar ao carregar, a visualização informa isso ("apenas X de Y sprints solicitados foram carregados") em vez de prever silenciosamente com uma amostra menor e chamá-la de completa. Uma equipe com apenas um ou dois sprints concluídos ainda recebe uma previsão, mas o intervalo será largo até que mais histórico se acumule; a simulação não consegue fabricar uma certeza que a sua equipe ainda não conquistou.

Perguntas sobre previsão Monte Carlo

Para quem a previsão Monte Carlo é mais útil?

Engineering managers, líderes de PMO, program managers e delivery leads que precisam comunicar confiança nas datas em vez de uma única previsão otimista.

O que a torna melhor do que o planejamento por velocidade média?

A velocidade média esconde a variabilidade atrás de um único número. A simulação mantém toda a dispersão do throughput dos seus sprints concluídos e informa "pelo menos esta quantidade, com esta frequência" em quatro níveis de confiança, o que leva a conversas melhores com stakeholders e a promessas menos frágeis.

A previsão muda toda vez que eu executo?

Não. A simulação é semeada a partir do seu histórico de sprints, da janela de previsão e do número de iterações, então executá-la duas vezes com as mesmas entradas devolve o mesmo intervalo P50/P70/P85/P95 nas duas vezes. Uma previsão que muda a cada clique é difícil de confiar na frente de um stakeholder; esta se mantém estável até que os seus dados de sprint reais mudem.

Quanto histórico de sprints ela precisa?

A simulação reamostra a partir dos próprios sprints concluídos da sua equipe, então mais sprints concluídos produzem um intervalo mais estreito. Ela remove automaticamente o sprint atualmente em andamento da seleção padrão, já que um sprint parcial arrastaria a previsão para baixo, e você pode escolher manualmente quais sprints concluídos incluir se algum deles tiver sido uma exceção.

O que acontece se o meu backlog for grande demais para prever com confiança?

Na visão "quando vai terminar?", se algumas das 10.000 execuções simuladas não atingirem a meta dentro do horizonte de previsão, a ferramenta informa qual percentual não terminou em vez de assumir que todas as execuções foram concluídas. Isso indica que as datas mais distantes do intervalo são um piso, não uma promessa.