menu

Trabalhando com poucos dados

Por

Mais uma vez vamos falar de ferramentas para auxiliar no planejamento e estimativa do projeto. Já falamos da Lei de Little e da sua relação entre Lead Time, Vazão e Trabalho em Progresso (WIP), mas de onde, afinal, tirar esses tempos médios de Lead Time, se estou começando um projeto novo?

É comum não termos esses dados à disposição, mas não se desespere (ainda ;-)).

Nesse post vou mostrar para você como é possível, com pouquíssimos dados disponíveis, ter uma boa diminuição da incerteza para se fazer projeções.

Máximo e mínimo de uma amostra

Na estatística existe o conceito de descoberta de máximo e mínimo de uma amostra. Veja como isso funciona:

Imagine que três itens (amostras) já passaram pelo seu processo de desenvolvimento e você obteve os Lead Times de 5, 7 e 10 dias. Qual a chance da quarta amostra ter um tempo maior que 10 dias? E qual a chance de ser menor que cinco?
Trabalhando com poucos dados

A fórmula para estimar se a próxima amostra terá Lead Time entre a maior (10) e menor (5) amostra é a seguinte:

Sendo N o número de amostras anteriormente vistas, temos:

(N – 1) / (N + 1)

No exemplo da figura 2 acontece o seguinte: como já tínhamos 3 amostras, N=3, logo:

(3-1)/(3+1) = 2/4 = 0.5 = 50%.

Ou seja, há 50% de chance da quarta amostra ter um Lead Time entre o número máximo e o mínimo já obtidos.

Como você vai ver na tabela a seguir, são necessários pouquíssimos dados adicionais para remover muita incerteza. Perceba também como se dá a evolução da confiabilidade sobre a próxima amostra estar entre a maior e a menor já detectadas:

Amostras Fórmula %
3 (3-1)/(3+1) = 2/4 = 0.5 50%
4 (4-1)/(4+1) = 3/5 = 0.6 60%
5 (5-1)/(5+1) = 4/6 = 0.67 66%
6 (6-1)/(6+1) = 5/7 = 0.71 71%
7 (7-1)/(7+1) = 6/8 = 0.75 75%
8 (8-1)/(8+1) = 7/9 = 0.78 78%
9 (9-1)/(9+1) = 8/10 = 0.8 80%
10 (10-1)/(10+1) = 9/11 = 0.82 82%
11 (11-1)/(11+1) = 10/12 = 0.83 83%
12 (12-1)/(12+1) = 11/13 = 0.85 85%
13 (13-1)/(13+1) = 12/14 = 0.86 86%
14 (14-1)/(14+1) = 13/15 = 0.87 87%
15 (15-1)/(15+1) = 14/16 = 0.88 88%
16 (16-1)/(16+1) = 15/17 = 0.88 88%
17 (17-1)/(17+1) = 16/18 = 0.89 89%
18 (18-1)/(18+1) = 17/19 = 0.89 89%
19 (19-1)/(19+1) = 18/20 = 0.90 90%

 

É possível ver pela tabela que no décimo item entregue você já tem cerca de 80% de confiança de que os maiores e menores valores não serão alterados. Essa análise deve ajudar a passar mais previsibilidade em relação aos prazos dos próximos itens.

Procure manter seu WIP constante, pois você se lembra isso como afeta o Lead Time, né?

Modelo probabilístico

Ainda não falamos de Previsão Probabilística e certamente vamos falar muito mais disso aqui no Kudoos, mas aqui dá para dar um cheiro.

Caso você mantenha o WIP do sistema razoavelmente constante, poderá fazer uma análise de Monte Carlo com essas poucas amostras de Lead Time obtidas.

O Monte Carlo, de uma forma bem simples, é a simulação do andamento do projeto utilizando centenas ou até milhares de dados sorteados de uma amostra. Logo, basta dividir o Lead Time total de cada simulação pelo WIP e, voilà, tem-se o tempo final.Trabalhando com poucos dados (1)

Ah, não precisa nenhum software especial, o próprio MS Excel pode ser usado.

Se você quiser ter uma confiabilidade em torno de 85% de que a data projetada é factível, pegue a menor duração em que 85% das outras simulações estejam abaixo desta. Na imagem acima, retirada de um projeto real em que utilizei um conjunto de funcionalidades com base nos dados históricos, 85% das simulações deram abaixo de 37 dias até a conclusão, ou seja, eu pude dizer ao negócio que tínhamos 85% de chances de concluir aquele conjunto em até 37 dias.

Se você simular mais vezes, provavelmente seu gráfico ficará mais “bonitinho”, mas veja que ele não forma uma distribuição normal… bom, isso fica para outro post 😉

Deixe seus comentários, dúvidas e críticas, claro.


 

Mais sobre estimativas e planejamento:

4 comments

  1. Raphael Albino

    Olá Léo,

    Ótimo texto, parabéns!

    Tenho estudado sobre o método de Monte Carlo e venho acompanhando nos últimos meses o trabalho do Troy Magennis (http://focusedobjective.com/news/) e do Daniel Vacanti (https://leanpub.com/actionableagilemetrics) e é bacana ver a aplicação do que eles tem falado lá fora em projetos tupiniquins.

    Dúvida: dado que não temos uma distribuição gauseana nas métricas de Lead Time ou Throughput, quais modelos você tem visto que podem ser úteis para projetar releases de projetos ágeis?

    Abraço.

    Posted on fevereiro 29, 2016
    • Leonardo Campos

      Fala, Raphael, em um projeto que passei, utilizei bootstraping para fazer um Monte Carlo. Nesse caso, a distribuição era mais para uma Weibull. Não fiz uma análise mais profunda, mas aparentemente o Monte Carlo gerou a mesma distribuição que os dados históricos, o que é ótimo, pois quer dizer que as simulações estão dando resultados consistentes com a realidade.

      Ah, por sinal, gosto muito dos seus posts 😉

      Posted on março 15, 2016
  2. Raphael Albino

    *Typo: gauseana = gaussiana.

    Posted on fevereiro 29, 2016
  3. Pingback: Previsão probabilística | Kudoos

Leave your reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Go to top