estimativas de software monte carlo em · •monte carlo ajuda a identificar a variação nos...

Post on 09-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

www.metricas.com.br 1

Monte Carlo em Estimativas de Software

Mauricio Aguiarti MÉTRICAS Ltda

www.metricas.com.br 2

Agenda

•Introdução

•Um Exemplo Simples

•Outro Exemplo

•Reamostragem

•Faça Você Mesmo

•Resumo

www.metricas.com.br 3

Introdução

www.metricas.com.br 4

IntroduçãoEstimativas

•Estimativas são projeções quantitativas de características

dos projetos, tais como:

• Tamanho do Produto

• Esforço Requerido

• Prazo Requerido

• Qualidade

www.metricas.com.br 5

IntroduçãoIncerteza e Monte Carlo

•Há um grau de incerteza nos parâmetros de entrada de

um modelo de estimativa

•Desejamos avaliar como essa incerteza pode afetar os

resultados

• Isso pode ser feito através de simulação (Monte Carlo

Simulation)

www.metricas.com.br 6

IntroduçãoEntradas de um Modelo de Estimativa

•Tamanho (Pontos de Função, etc.)

•Características do Produto e do Projeto

•Esforço Estimado por Atividade

•etc.

www.metricas.com.br 7

IntroduçãoModelando a Incerteza

•Permitir que as entradas variem segundo distribuições

estatísticas definidas

950 PF 1000 PF 1050 PF

Ex.: Tamanho

Distribuição Normal

www.metricas.com.br 8

Um Exemplo Simples

www.metricas.com.br 9

Um Exemplo SimplesO Problema

•Executar construção e teste unitário para 5 módulos

(classes, funções, subrotinas...)

•Assuma que o trabalho será feito sequencialmente

www.metricas.com.br 10

Um Exemplo SimplesComo Fazer Melhor

•Com 100% de probabilidade de acerto, o prazo seria 48

dias

•Um prazo menor com 90% de probabilidade de acerto

seria suficiente

•Qual seria esse prazo?

www.metricas.com.br 11

Um Exemplo SimplesModelando a Incerteza

www.metricas.com.br 12

Um Exemplo SimplesMonte Carlo

•Simular 10000 vezes a execução da construção e teste

unitário dos 5 módulos

• Variar os prazos individuais conforme as respectivas

distribuições

• Avaliar a variação do prazo total

www.metricas.com.br 13

Um Exemplo SimplesMonte Carlo

www.metricas.com.br 14

Um Exemplo SimplesHistograma do Prazo Simulado

www.metricas.com.br 15

Um Exemplo SimplesFrequencia Acumulada do Prazo Simulado

Prazo menor ou igual a 38 dias com 90% de probabilidade de acerto

38,4 – 90%

www.metricas.com.br 16

Um Exemplo SimplesQuestionamento

•As distribuições utilizadas correspondem à realidade?

•A probabilidade de terminar antes é a mesma de terminar

depois?

www.metricas.com.br 17

Um Exemplo SimplesQuestionamento

www.metricas.com.br 18

Um Exemplo SimplesQuestionamento

•Simular 10000 vezes a execução da construção e teste

unitário dos 5 módulos, utilizando a distribuição lognormal

somente no caso anteriormente “normal”

www.metricas.com.br 19

Um Exemplo SimplesQuestionamento

www.metricas.com.br 20

Um Exemplo SimplesQuestionamento

O prazo agoraé 39 dias

www.metricas.com.br 21

Outro Exemplo

www.metricas.com.br 22

Outro ExemploProdutividade de 9 Projetos

Produtividade em Horas/Pontos de FunçãoNota: Dados fictícios

www.metricas.com.br 23

Outro ExemploEstimando o Erro

MMRE = Mean MRE

MRE = (ABS(Estimado – Real)/Real) * 100

www.metricas.com.br 24

Outro ExemploDados de Esforço

•Muitas vezes a qualidade dos dados de esforço é

questionável

•Como o erro nos dados de esforço afetaria o erro de

estimativa?

www.metricas.com.br 25

Outro ExemploDados de Esforço

MMRE = Mean MRE

MRE = (ABS(Estimado – Real)/Real) * 100

www.metricas.com.br 26

Outro ExemploDados de Esforço

O erro é inferior

a 40% com90% de

probabilidade.

O máximo é42%.

www.metricas.com.br 27

Reamostragem

www.metricas.com.br 28

ReamostragemA Idéia

•Monte Carlo exige que façamos suposições sobre as

distribuições

•A Reamostragem basea-se na replicação de uma amostra

(podendo haver repetições)

•As estatísticas baseadas em reamostragem aproximam-se

dos valores reais, conforme cresce o número de amostras

•A Reamostragem independe de suposições sobre as

distribuições

www.metricas.com.br 29

ReamostragemUm Exemplo

•Construir um intervalo de confiança a 90% para a

produtividade do COBOL, com base no banco de dados

ISBSG V10

•Os dados: 615 projetos, produtividade média 20.5 H/PF

• Foram extraídas 10000 amostras dos 615 projetos (cada

amostra com 615 projetos, podendo haver repetições)

www.metricas.com.br 30

ReamostragemIntervalo de Confiança - Percentil

18,3 22,8

www.metricas.com.br 31

Faça Você Mesmo

www.metricas.com.br 32

Faça Você MesmoSimulando a Distribuição Triangular com o Excel

www.metricas.com.br 33

Faça Você MesmoSimulando a Distribuição Triangular com o Excel

www.metricas.com.br 34

Faça Você MesmoSimulando a Distribuição Triangular com o Excel

www.metricas.com.br 35

Faça Você MesmoSimulando a Distribuição Triangular com o Excel

www.metricas.com.br 36

Faça Você MesmoA Linguagem/Ambiente “R”

• “R” é uma linguagem e um ambiente, específicos para cálculos e gráficos estatísticos

• “R” é software gratuito (“GNU General Public License”)

• “R” é uma implementação “free” da linguagem “S”desenvolvida nos Laboratórios Bell (produto comercial S-Plus)

• Existem vários livros, artigos e documentos descrevendo a linguagem “S” e o “R”

•Conheça e baixe o “R” em www.r-project.org

www.metricas.com.br 37

Faça Você MesmoSimulando a Distribuição Triangular com o R

www.metricas.com.br 38

Faça Você MesmoSimulando a Distribuição Triangular com o R

www.metricas.com.br 39

Faça Você MesmoSimulando a Distribuição Triangular com o R

www.metricas.com.br 40

Resumo

www.metricas.com.br 41

ResumoO Que Vimos

•Monte Carlo ajuda a identificar a variação nos resultados em função da incerteza nas entradas

•A escolha das distribuições estatísticas é muito importante em Monte Carlo

•A Reamostragem funciona mesmo quando a distribuição édesconhecida

•É possível fazer muita coisa com Excel/VBA e mais ainda com o R

•Existem ferramentas profissionais para Monte Carlo (Crystal Ball, @Risk, XLSim, etc.)

www.metricas.com.br 42

ResumoReferências

www.metricas.com.br 43

A PSM Transition Organization

info@metricas.com.br

top related