Você está na página 1de 8

IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO.

9, SEPTEMBER 2015 3051

Cost Estimation in Software Development


Projects with Monte Carlo Simulation
A. C. Pacagnella Junior, O. Pacifico, A. P. Salgado Junior and L. A. A. Terra

1Abstract— The preparation of cost estimates on projects is a Segundo Zia [1], durante as últimas três décadas, embora
process of fundamental importance to ensure the economic viability tenha havido significativos esforços na realização de
of these endeavors. Specifically in software development projects, estimativas de consumo de recursos em projetos de
where typically the focus of management is on project execution
desenvolvimento de sofwares, no que se refere aos custos as
processes that add value and generate customer satisfaction, the
estimation of costs should be done quickly, but with accuracy. In this abordagens utilizadas baseiam-se na quantidade de linhas de
type of environment, an approach that can be used is the parametric códigos fonte, conjuntos de instruções entregues, complexidade
estimate, which is based on historical data to establish the project's de processamento ou níveis de experiência dos programadores,
costs. In order to perform this approach, a method that can be used o que geralmente produz resultados imprecisos nas previsões.
with great advantage is the Monte Carlo simulation (MCS). The Em geral, a estimação de custos em projetos utiliza duas
objective of this study is to understand, through a case study in a
abordagens: determinística e probabilística. A abordagem
software development company, how this method can be performed
in this type of project and understand their advantages and determinística é comumente utilizada quando se dispõe de
disadvantages. The results showed that MCS provides, in a short dados detalhados e específicos do projeto (em geral dados
time, a baseline for managing project costs which supports históricos, ou experiência profissional dos envolvidos) que
management decisions. Moreover, associating the results with a "S" permitem obter uma precisão razoável sobre o valor que será
curve graph of simulated values, it turns possible to use a visual empreendido. Contudo, em ambientes de rápida mudança e
control ("traffic light"), which facilitates the cost control during the
grande incerteza, os custos podem flutuar significativamente e
project life cycle.
esta abordagem não é adequada para considerar os riscos
Keywords— Estimation of costs, Projects, Monte Carlo associados [2].
Simulation. Já a abordagem probabilística permite compensar as
estimativas iniciais, considerando a probabilidade de elevação
I. INTRODUÇÃO de custos e, consequentemente, determinar reservas de
contingência para proteger o projeto [2].
N O desenvolvimento de softwares, a realização das
estimativas de custos tem sido uma tarefa difícil, porém
importante desde o início dos computadores na década de 1940.
Dentro deste contexto, a Simulação de Monte Carlo (SMC)
é uma das diversas técnicas que podem ser utilizadas para
No início da computação, os softwares eram relativamente mais prever os custos, com poucos dados no início do projeto,
simples e os custos de desenvolvê-los eram muito baixos. auxiliando assim a tomada de decisão. A SMC é uma técnica
Entretanto, conforme as aplicações cresceram em tamanho e estatística utilizada em simulações estocásticas com aplicações
importância, a necessidade de precisão também cresceu. em diversas áreas do conhecimento, onde incerteza e risco
Nos dias atuais, um único software pode ultrapassar 25 fazem parte do ambiente analisado. Especificamente em
milhões de linhas de código fonte, requerendo grande projetos, a SMC tem sido utilizada com frequência em áreas
quantidade de recursos técnicos e os custos de desenvolvimento como o gerenciamento de custos, de riscos e de cronograma.
podem ser muito elevados. Embora seja uma técnica aplicável a qualquer tipo de projeto,
Neste contexto, o cálculo de estimativas de custos em ao se observar a literatura disponível sobre o assunto, é possível
projetos é de primordial importância para o seu gerenciamento, perceber que a maior parte dos relatos de sua utilização
quando esta etapa não é apropriadamente conduzida, não é acontece em projetos que envolvem transformações físicas e
possível construir uma linha de base ou referência que oriente consomem muito tempo, como os apresentados por Elkjaer [3],
o consumo de recursos financeiros durante a execução do Wang [4], Rezaiea, Amalnik, Gereie, Ostadi e M. Shakhseniaee
projeto, reduzindo sua eficiência. Por isto, erros deste tipo nas [5] e Olarua, Şandrua e Pirneab [6] devido aos benefícios
estimativas de custos em projetos podem ter consequências oriundos do uso da técnica, posto que se tratam de projetos que
sérias. envolvem valores vultosos e que possuem muitas fontes de
Por outro lado, quando a estimativa de custos é assertiva, é incerteza.
possível obter um orçamento mais preciso e controlar os Entretanto, em ambientes dinâmicos, onde o produto do
desembolsos de maneira mais refinada, reduzindo os riscos e projeto é intangível e a organização responsável precisa muitas
consequentemente aumentando a probabilidade de obtenção de vezes estimar prontamente os custos, como no desenvolvimento
sucesso do projeto. de softwares, a simulação de Monte Carlo ainda é pouco

1
A. C. Pacagnella Júnior, Universidade Estadual de Campinas (UNICAMP), A. P. Salgado Júnior, Universidade de São Paulo (USP), Ribeirão Preto,
Limeira, São Paulo, Brasil, antonio.junior@fca.unicamp.br São Paulo Brasil, asalgado@usp.br
O. Pacífico, Universidade de São Paulo (USP), Ribeirão Preto, São Paulo, L. A. A. Terra, Universidade de São Paulo (USP), Ribeirão Preto, São
Brasil, ornellapac@gmail.com Paulo, Brasil, lterra@fearp.usp.br

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
3052 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 9, SEPTEMBER 2015

explorada e os benefícios advindos de seu uso ainda não estão apresenta um ciclo de vida conforme as seguintes etapas:
totalmente identificados. • Levantamento de requisitos: Etapa onde se procura
Normalmente, projetos de desenvolvimento de softwares entender o que o cliente quer em termos de funcionalidades para
possuem baixos valores envolvidos e possuem menos fontes de o software;
incerteza, pois as organizações que os realizam o fazem • Análise de requisitos: Consiste na verificação sobre se
adaptando o trabalho de projetos anteriores aos requisitos de todos os requisitos foram levantados e se há ambiguidade ou
novos clientes. contraposição;
Neste tipo de projeto a agilidade costuma ser um requisito • Especificação de requisitos: Envolve a definição das
fundamental, havendo maior ênfase na execução do que no funcionalidades que o software deverá possuir;
planejamento, que deve ser feito rapidamente, o que eleva a • Projeto: A partir da especificação de requisitos é possível
necessidade de uma estimativa de custos confiável e rápida. adicionar detalhes essenciais para a implementação,
Ainda assim há enormes vantagens em se utilizar a SMC, especificando os tipos de dados que serão utilizados além de
pois ambientes deste tipo geram os tipos de séries de dados definir os mecanismos de acesso a esses dados e como eles
históricos que são necessários para aplicar este tipo de técnica, serão manipulados;
o que não costuma ocorrer em projetos de outras áreas, que são • Implementação ou codificação: Nesta atividade o
muitas vezes radicalmente diferentes do que a organização programa ou código (ou seja, conjunto de instruções) é escrito,
responsável está habituada. implementando as funcionalidades especificadas;
Considerando este cenário, este trabalho se propõe explorar • Testes: Etapa onde o software é testado procurando-se
estratégias e possíveis vantagens no uso da Simulação de Monte avaliar se ele atende as especificações criadas anteriormente;
Carlo para a estimação de custos em projetos de software. • Implantação ou entrega do software: Envolve a entrega
Para atingir este objetivo central, o trabalho está estruturado oficial do produto ao cliente, apresentando-o, ou colocando-o
da seguinte forma: a primeira seção é a introdução, as seções 2 no mercado;
e 3 compõem um referencial teórico sobre projetos de Manutenção e/ou evolução: Visa melhorar o software
desenvolvimento de software, estimação de custos em projetos desenvolvido podendo ser corretiva (corrigir defeitos
e simulação de Monte Carlo, a seção 4 apresenta os aspectos encontrados), quando ocorre durante as atividades de testes ou
metodológicos da pesquisa, a seção 5 apresenta os resultados a partir de reclamações de usuários, ou visando adicionar novas
oriundos do caso analisado e a seção 6 traz as considerações funcionalidades ou de alterar alguma já existente, quando é
finais que encerram o trabalho. identificada a necessidade por parte dos usuários;
Do ponto de vista gerencial, um projeto de desenvolvimento
II. PROJETOS DE DESENVOLVIMENTO DE SOFTWARE de software apresenta desafios únicos, pois possui um ambiente
Segundo Tamaki [7], os projetos tradicionais normalmente de alta volatilidade em que os requisitos solicitados sofrem
são organizados de forma que o produto é decomposto em constantes alterações e devido a natureza intangível dos seus
componentes menores, também chamados de “artefatos” produtos, todos os elementos do chamado “Triângulo de ferro”
(especificações, plantas, subsistemas, etc), seguindo um (escopo, tempo, custos e qualidade) são de difícil planejamento.
processo em cascata, com fases sequenciais. Neste contexto, o Especificamente no que tange a estimativa dos esforços que
processo de planejamento pode ser desenvolvido com base no serão necessários para completar o projeto de forma a atender
escopo do produto, que usualmente é definido no inicio do os requisitos estabelecidos, há a necessidade de realizar
projeto. previsões acuradas, já que erros nesta etapa irão proporcionar
Porém, esta abordagem é pouco efetiva em projetos de enormes dificuldades durante a execução do projeto [9].
desenvolvimento de software, pois no inicio do projeto pouco Considerando este cenário, a próxima seção aborda uma
se sabe sobre o sistema que será desenvolvido. Isto técnica de previsão que pode ser utilizada para a realização de
normalmente leva o projeto sofre a vivenciar várias mudanças estimativas de forma acurada e indicando um intervalo de
de escopo durante seu ciclo de vida, o que torna seu probabilidade que pode auxiliar os gerentes de projetos deste
gerenciamento mais complexo e mais arriscado, o que muitas tipo a melhorarem a acurácia de seu planejamento.
vezes resulta em produtos ruins, custos acima do planejado e
equipe e stakeholders frustrados com o resultado. III. ESTIMAÇÃO DE CUSTOS EM PROJETOS E SIMULAÇÃO DE
Normalmente as técnicas tradicionais de gerenciamento de MONTE CARLO (SMC)
projetos geram poucas contribuições neste tipo de cenário. As A determinação dos custos é um processo fundamental para
grandes variações no escopo demandam o uso de abordagens o desenvolvimento de projetos, por três razões fundamentais: a
distintas das tradicionais, para lidar com as incertezas geradas primeira é estabelecer uma linha de base que integre o escopo
por este tipo de mudança. Entre as boas práticas adotadas para do projeto e os requisitos de qualidade dentro dos limites
lidar com tal problemática é possível destacar o Rational financeiros do patrocinador, a segunda é constituir uma medida
Unified Process (RUP), o Control Objectives for Information de desempenho durante o ciclo de vida de um projeto e a
and related Technology (COBIT), Capability Maturity Model terceira é estabelecer competitividade em termos de preço do
Integration (CMMI), e mais recentemente o uso de produto final [10]. A realização de previsões não realistas pode
metodologias ágeis como o Scrum. Entretanto, de acordo com eventualmente conduzir o projeto ao seu fracasso [11].
Silva Filho [8], o desenvolvimento de software, geralmente O objetivo de uma estimativa de custos é realizar uma

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
PACAGNELLA JÚNIOR et al.: COST ESTIMATION IN 3053

predição e a qualidade de um método de estimação é Para Chou [2], o uso de simulação dos custos oferece uma
determinada por sua precisão em prever um valor ferramenta simplificada para a tomada de decisão baseada nas
desconhecido. Segundo Wysocki e Mcgary [12], em geral, os incertezas e na experiência da avaliação de gestores de projeto.
custos de um projeto podem ser estimados segundo quatro Trata-se, portanto de um elemento bastante útil para avaliar os
abordagens: custos, desde o início do ciclo de vida do projeto, permitindo
• Estimativa “top-down”: é tida como a menos precisa e é que o gerente reserve os recursos financeiros necessários para
obtida realizando-se uma aproximação do tempo, custos e o empreendimento.
riscos de um projeto como um todo (sem detalhá-lo); De acordo com Evans e Olson [18], a SMC apresenta as
• Estimativa “bottom-up”: ao contrário da anterior é seguintes vantagens em relação a outras técnicas:
realizada a partir do detalhamento de todas as atividades de • Permite a representação descritiva e análise do sistema
trabalho e dos recursos necessários para executá-las, permitindo estudado por meio de um processo experimental, sem afetar o
identificar seu custo individual e, consequentemente, o custo sistema em si;
total do projeto. É a mais precisa das estimativas, mas exige • Permite melhor compreensão dos cálculos, comparando-
mais tempo, recursos e informações; se com outros métodos analíticos;
• Estimativa análoga: é realizada tomando-se por base um • Quantifica o risco do modelo, na forma de uma
projeto de características semelhantes a aquele que é objeto da distribuição de probabilidade.
avaliação. Neste caso, quanto mais parecido com o projeto Ainda segundo Evans e Olson [18], a principal desvantagem
anterior, mais precisa será a estimativa; de todos os métodos de simulação é a necessidade de uma
• Estimativa paramétrica: baseia-se em análises quantidade grande de dados sobre o fenômeno simulado, sendo
quantitativas de dados de projetos anteriores para realizar uma que muitas vezes não há a possibilidade de obtê-los ou é
previsão dos custos do projeto atual, utilizando técnicas necessário um longo tempo para essa obtenção.
estatísticas e simulação. Vencido este obstáculo inerente aos modelos de simulação,
Para Touran [13], os métodos de estimação dos custos a Simulação de Monte Carlo consiste em uma das ferramentas
variam em termos de complexidade e precisão, mas mais mais úteis e práticas para a estimação de custos em projetos. O
importante, na forma como permitem estabelecer reservas de método da SMC envolve a utilização de números aleatórios e
contingência para o orçamento final do projeto. Isto pode ser probabilidades para analisar e solucionar problemas de diversas
realizado a partir da incerteza associada a predição do valor da naturezas.
estimativa. Sua origem remonta ao Projeto Manhattan do laboratório de
Para Jorgensen [14], diversos estudos realizados sobre armas nucleares de Los Alamos nos Estados Unidos, sendo o
métodos de estimação de custos utilizados em projetos de termo “Monte Carlo” atribuído em referência aos jogos de azar
desenvolvimento de software possuem como enfoque a em que ocorrem situações onde existe aleatoriedade de eventos,
precisão. Entretanto, os autores afirmam que, embora um como os jogos de cartas e de dados [19].
método possa ser mais preciso do que outro em um determinado A SMC é utilizada quando se deseja estimar uma saída Y
contexto, a precisão será significativamente afetada pela para uma função (H) que possui variáveis aleatórias de entrada
quantidade de dados históricos disponíveis e pelas opiniões (A1, A2,...An) conforme apresentado na figura 1.
técnicas especializadas, utilizadas na estimação.
A1
Uma abordagem que é amplamente adotada quando se trata A2
de estabelecer previsões, seja em projetos ou em outras áreas, é Variáveis .
a simulação. aleatórias . H Y
.
A simulação consiste de uma representação de um sistema An
real em um determinado período de tempo, desenvolvendo a
geração de uma versão artificial deste sistema e sua
Figura 1. Operação da SMC.
subsequente observação com o objetivo de realizar inferências
sobre suas características reais [15].
Hillier e Lieberman [15] afirmam que a simulação inicia-se O objetivo da SMC é descrever a distribuição de
com o desenvolvimento de um modelo que represente o sistema probabilidade da variável dependente estudada, a partir do
a ser investigado que consiste em uma representação explícita comportamento das variáveis independentes que a afetam. O
e externa de um extrato parcial da realidade. Esta, por sua vez, resultado gerado não é um único valor, mas uma amostra de
serve para mudar, gerenciar, indicar políticas e controlar parte valores obtidos por meio de um conjunto aleatório de dados
desta realidade. Cabe ressaltar que apesar de se originarem de gerados, a partir de suas respectivas probabilidades de
modelos matemáticos, os modelos de simulação possuem uma ocorrência e medidas, como média, desvio padrão, assimetria e
natureza diferente dos mesmos, uma vez que se baseiam em percentual de números acima ou abaixo de determinado valor
aproximações de tempo discreto [16]. [20].
Na engenharia a simulação tem sido utilizada para tratar O método utiliza a geração iterativa de números aleatórios,
situações onde se tenta compreender as características de um para atribuir valores às variáveis do sistema que se deseja
sistema pelo conhecimento de outro que lhe é similar, sendo investigar. A cada iteração, o resultado é armazenado e ao
especialmente útil em situações que envolvem análise de riscos. término das repetições, a sequência de resultados obtidos é
transformada em uma distribuição de frequência que permite

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
3054 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 9, SEPTEMBER 2015

calcular o valor esperado e projetar cenários futuros de Devido a estas características, esta abordagem foi utilizada
operação do sistema em análise. para compreender os benefícios da aplicação da SMC na
Segundo Kennedy, McComb e Vozdolska [21], o princípio previsão de custos em projetos de software, em uma
por trás da simulação de Monte Carlo é que o processo desenha organização que realiza projetos deste tipo.
amostras aleatórias e observa se o comportamento destas Para realização do estudo foi selecionada uma empresa
amostras é capaz de explicar os valores das variáveis de desenvolvedora de softwares e websites que possui 10 anos de
interesse. mercado e 34 funcionários, operando principalmente com
Quanto mais aderência as amostras aleatórias demonstrarem produtos empresariais, como sistemas de controle de estoques,
em relação aos valores das variáveis de interesse, mais acurada vendas e cadastros de clientes. A seleção do caso se deu pelo
será a simulação. fato de a empresa recentemente ter utilizado pela primeira vez
De acordo com Wang [22] a SMC tem um processo típico a estimação de custos por meio de SMC, visto que até então esta
de modelagem estocástica que segue os seguintes passos: realizava este procedimento por meio da contagem do número
1) Identifique as variáveis de entrada, as variáveis de saída e de linhas de código.
designe valores ou defina o modelo; A coleta dados foi realizada por meio das entrevistas
2) Defina uma distribuição de probabilidade associada para semiestruturadas, onde foi possível identificar as etapas do
cada variável de entrada; projeto de desenvolvimento e principalmente a forma como a
3) Ajuste as variáveis a serem previstas e defina os modelos SMC foi utilizada na empresa. Além disso, foi realizada uma
matemáticos ou fórmulas para as variáveis de saída; análise dos documentos do projeto onde o método foi utilizado
4) Defina um número de tentativas para a simulação; e a observação por parte dos pesquisadores, em relação ao
5) Simule os dados e analise as estatísticas de previsão, ambiente de trabalho durante as visitas.
subsidiando a tomada de decisão. Com o objetivo de analisar a objetividade e clareza do
Um dos benefícios que podem ser apontados sobre o uso roteiro de entrevistas, inicialmente foi realizado um pré-teste
deste método é a criação de bases de dados por meio do uso com o diretor da empresa selecionada. A partir do pré-teste,
ativo de dados coletados empiricamente em laboratórios ou no decidiu-se investigar o projeto piloto que utilizou-se do método
ambiente das organizações. da SMC, por já ter sido concluído e haver grande quantidade de
Isto permite que os pesquisadores mantenham uma conexão informações a respeito dos custos orçados e dos valores reais
com o mundo real que fortalece a capacidade de generalização obtidos ao final do projeto.
dos resultados. Por isso, a utilização da simulação de Monte Após a aprovação do instrumento, foram realizadas 6
Carlo pode ser útil para estudar uma ampla variedade de entrevistas com membros da equipe do projeto piloto que
aspectos comportamentais das organizações [23]. podem ser consideradas como “peças-chave” para compreender
Por fim, destaca-se que a SMC é uma das mais poderosas o fenômeno: o gerente de projeto, dois analistas, o gerente
ferramentas utilizadas na criação de estimativas, sendo comercial da empresa e dois programadores. Foram também
extremamente relevante para a avaliação de incertezas e realizadas duas visitas para investigar o ambiente de trabalho e
oferecendo aos gerentes de projeto, modelos que ilustram várias analisar a documentação do projeto.
combinações de fatores e seus consequentes resultados. Isto As respostas obtidas a partir das entrevistas foram
permite experimentar o efeito de intervenções, planos de submetidas a aprovação de cada respondente, como forma de
contingência e suportar decisões tomadas pelos mesmos [24]. aprimorar a fidedignidade, visando assegurar que as respostas
sejam verdadeiras e não influenciadas pelo contexto.
IV. ASPECTOS METODOLÓGICOS Os dados colhidos foram tratados com base na análise de
Esta seção visa classificar a pesquisa realizada e apresentar conteúdo, que é utilizada para medir o conteúdo semântico de
suas etapas e procedimentos metodológicos, buscando um grupo de discussão [26].
aproximar o estudo de seu objeto e permitir reprodutibilidade. Além disso, os resultados dos métodos de previsão de custos,
Do ponto de vista do objetivo, este trabalho pode ser realizados pela SMC, foram comparados tomando como base a
caracterizado como uma pesquisa com fins exploratórios, de clássica abordagem que leva em conta a totalidade do projeto e
natureza qualitativa, apesar de o objeto de estudo ser de a abordagem que subdivide a estimativa pelas fases do projeto,
natureza quantitativa. Quanto aos meios, ela se utiliza de um visando identificar a técnica que apresentava o resultado mais
estudo de caso que, de acordo com Yin [25], consiste em uma aderente.
abordagem adequada para a execução de estudos com os fins Os principais resultados encontrados no estudo de caso são
propostos. apresentados na seção a seguir.
O estudo de caso pode ser definido, segundo Cooper e
Schindler [26], como uma análise contextual completa de V. APLICAÇÃO DA SMC NA ESTIMAÇÃO DOS CUSTOS DE UM
PROJETO DE SOFTWARE.
poucos fatos ou condições e suas inter-relações.
Pode-se dizer que se trata de um estudo empírico que Com o objetivo de compreender a estimação dos custos de
geralmente investiga um determinado fenômeno, usualmente um projeto de desenvolvimento de software, é preciso
contemporâneo, dentro de um contexto geral de vida, quando identificar suas etapas e os correspondentes custos incorridos.
as fronteiras entre o fenômeno e o contexto no qual ele se insere A figura 2 mostra que o desenvolvimento de software na
não são claramente definidas [27]. empresa estudada possui nove etapas, que vão do “start do

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
PACAGNELLA JÚNIOR et al.: COST ESTIMATION IN 3055

projeto”, onde os primeiros contatos com o cliente são empresa (que já utiliza a metodologia de gestão ágil conhecida
estabelecidos e são definidos os requisitos funcionais do como Scrum em seus projetos), como uma fonte de desperdício,
produto, até a “formalização da entrega”, na qual o produto é posto que não agrega valor ao produto e nem eleva a satisfação
formalmente entregue ao usuário final, ocorrendo um do cliente.
encerramento administrativo e também um registro de lições Considerando este cenário e de posse de um conjunto de
aprendidas para projetos futuros. dados históricos de exatamente 100 projetos anteriores, a
empresa decidiu fazer uso de outra forma de estabelecer os
1. Start 2. Briefing custos de seus projetos, trata-se da “estimativa paramétrica”.
do projeto Como apresentado anteriormente, tal estimativa utiliza valores
anteriores para realizar a previsão dos custos de projetos por
meio de técnicas de análise estatística.
3. Planejamento Para realizar tal análise a empresa optou pela Simulação de
4. Criação de
Monte Carlo, utilizando o software @RISK 6.0 da empresa
Layout
PALISADE®. Inicialmente foi realizada uma simulação que
5. Programação tomou por base apenas os custos totais (finais) de projetos
anteriores e estabeleceu-se a distribuição de probabilidade mais
adequada para esta variável (distribuição de Laplace), por meio
6. Testes de
7. Implantação do de um teste Chi-quadrado.
Qualidade
software Segundo a empresa, o uso do teste se justifica porque a
técnica requer que cada uma das variáveis seja associada a uma
distribuição de probabilidade e quanto mais ajustados os dados
8. Treinamento 9. Formalização em relação a esta distribuição melhor será o resultado da
no software da entrega previsão, o que é corroborado por Wang [22].
O objetivo desta primeira simulação era estabelecer um valor
Figura 2. Etapas de um projeto de desenvolvimento na empresa estudada. provável de custos totais (custo ao término do projeto) para
estabelecer o preço do produto ao cliente, portanto, trata-se de
O ciclo de vida do representado na figura 2 apresenta um uma simulação básica com apenas uma variável (custo total)
conjunto de etapas relativamente simples, porém estruturado, que subsidia apenas a proposta de fornecimento.
que demonstra razoável maturidade em gerenciamento de Ao realizar a simulação, obteve-se como resultado o gráfico
projetos, por parte da empresa estudada. Assim como é usual apresentado na figura 3. Observa-se na mesma que o valor
em empresas desenvolvedoras de software, os maiores esforços mínimo previsto foi de R$ 4.445,57, o valor máximo foi de R$
estão alocados nas etapas, associadas à execução do projeto 36.662,30 e o valor médio R$ 22.088,03. A simulação também
(Criação do layout, Programação, Testes de qualidade e permitiu identificar uma faixa de valores associados a sua
Implantação do software), porém, especificamente nesta respectiva probabilidade de ocorrência, onde gráfico indicou
empresa, também há uma atenção significativa ao uma probabilidade de 89,4% de que o custo total do projeto
planejamento, em especial sobre o chamado “triângulo de ficasse entre R$ 15.024,00 e R$ 28.606,00.
ferro” (escopo, tempo, qualidade e os custos).
No que tange ao processo de estimação de custos, a empresa
utiliza tradicionalmente uma abordagem conhecida como
“Bottom-up”, onde o cálculo é realizado a partir das atividades
de trabalho definidas no escopo. Cada atividade é avaliada
individualmente quanto aos recursos (neste caso, linhas de
código fonte e horas de trabalho especializado, como
programação, gerenciamento e etc.) que devem ser atribuídos
para sua conclusão.
De posse de seu custo individual é realizado o somatório
para os artefatos que compõem o produto final (cada artefato
recebe um valor caracterizado como “conta de controle”) e com Figura 3. Simulação baseada nos custos totais de projetos anteriores.
isso é possível chegar na estimativa de custos de cada etapa e
do projeto na sua totalidade. Além disso, este processo de Em um segundo momento a SMC foi conduzida de maneira
estimação ainda pode ser enriquecido por meio de reservas ou individual para cada uma das 9 etapas do projeto (onde cada
cortes sugeridos em coletas de opiniões técnicas especializadas, uma se tornou uma variável, que somadas compunham o custo
coletadas junto a profissionais com experiência em total) identificando novamente valores mínimos, médios e
desenvolvimento. máximos, com o objetivo de estabelecer referências, não só
Embora se trate de um processo bem estruturado e para a construção do orçamento final, mas também de limites
relativamente preciso, são necessárias várias horas de de controle em cada etapa do projeto.
planejamento para sua realização, o que tem sido visto pela Todas as nove simulações foram realizadas da mesma forma

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
3056 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 9, SEPTEMBER 2015

que a primeira, ou seja, estabelecendo-se inicialmente qual era uma análise de sensibilidade, isso não aconteceu para o projeto
a distribuição de probabilidade mais adequada a cada uma das em questão. As justificativas da empresa baseiam-se no fato de
variáveis (custo de cada etapa), por meio de um teste Chi- que se tratava de um projeto piloto onde o método estava sendo
quadrado. Os resultados gerados foram análogos ao primeiro, testado e também na própria abordagem de simulação utilizada
entretanto, como forma de sintetizá-los, os mesmos são que tomou por base cada etapa do projeto individualmente,
apresentados na tabela 1, junto com os valores reais do projeto: tendo como variáveis os valores dessa mesma etapa em projetos
anteriores. Assim sendo, acabou por não trazer informações
TABELA I. SIMULAÇÕES OBTIDAS PARA OS CUSTOS DE CADA ETAPA DO relevantes para este tipo de análise visto que a mesma
PROJETO (EM R$).
normalmente é utilizada para observar a contribuição de cada
variável no resultado obtido, o que gera subsídios para decisões
Etapas Distribuição Min. Média Máx. Real futuras, principalmente sobre onde reduzir custos, o que não
seria possível para o caso em questão.
Start do Os valores simulados orientaram a etapa de planejamento no
Ext. value 40,37 255,17 696,67 401,33
Projeto
que tange aos custos, de forma a estabelecer valores limites de
Briefing Normal 88,79 876,77 1.256,03 501,68 controle para este item. Com base neles a equipe de projeto
elaborou a chamada curva “S”, que apresenta os valores de
Planejamento Laplace 583,22 743,43 913,41 1.140,00 custos acumulados em cada uma das 9 etapas do
desenvolvimento, conforme apresentado no gráfico 1.
Criação do
Laplace 103,74 1.756,08 2.654,29 860,20
Layout

Programação Loglogistic 5.092,03 8.982,02 11.747,78 13.131,20

Testes de
Triangular 6.907,45 9.462,16 12.569,27 12.090,15
qualidade

Implantação do
Beta General 1.990,41 2.201,97 4.004,42 3.540,22
software

Treinamento Levy 653,32 765,34 1.201,02 2.318,87

Formalização
Normal 100,01 127,35 720,43 907,78
da entrega

O primeiro aspecto a ser apontado com relação a tabela 1 são


as diferentes distribuições de probabilidade identificadas como
mais adequadas para cada uma das etapas do projeto (Ext. Gráfico 1. Curva “S” para os valores simulados e custos reais incorridos.
value, Normal, Laplace, Loglogistic, Triangular, Beta General
Levy, Normal) mostrando que o comportamento dos custos das O gráfico 1 apresenta quatro curvas: a primeira, na parte
etapas difere significativamente entre si. inferior, representa a simulação para os custos mínimos
Outro aspecto apontado pela SMC é que as maiores acumulados das etapas, a segunda, na faixa central, representa
variações apresentadas são nas etapas de menor custo, como o a simulação para os valores médios acumulados, a terceira, na
Start do projeto ou a Formalização da entrega, sendo que as parte superior, representa a simulação para os valores máximos
etapas mais dispendiosas, como a Programação e os Testes de acumulados e a quarta, tracejada, representa os custos reais
qualidade, apresentaram variações menores em termos incorridos ao longo do ciclo de vida do projeto considerado.
percentuais. Destaca-se que o gráfico original, utilizada pela empresa,
Além disso, com a simulação considerando os valores trazia a curva de custos mínimos em verde, a de curva de
individuais de cada etapa, o valor máximo total simulado para valores médios em amarelo e a curva de valores máximos em
o projeto, ficou superior ao valor total simulado com base nos vermelho, facilitando a visualização.
valores totais de projetos anteriores (R$ 34.891,43 contra R$ Observando o gráfico 1 é possível verificar também que os
28.606,00). Provavelmente isto se deve ao melhor ajuste custos incorridos nas nove etapas do projeto de
conseguido quando são consideradas as distribuições de desenvolvimento estiveram sempre dentro da faixa de valores
probabilidade de cada uma das nove etapas do projeto de calculados na Simulação de Monte Carlo, sugerindo sua
desenvolvimento, e não dos custos totais dos projetos adequação para a realização de estimativas paramétricas.
anteriores, como ocorreu na primeira previsão. Entretanto, deve ser observado que a partir da quarta etapa,
A tabela I também apresenta os valores reais incorridos em quando a execução do produto se inicia, há uma proximidade
cada etapa do projeto. É possível perceber que a maioria dos perigosa dos custos incorridos com os limites máximos
custos esteve dentro das faixas de valores calculadas, porém estabelecidos para o projeto, embora em nenhum momento
algumas delas superaram os limites, caso das etapas de estes tivessem sido ultrapassados.
Planejamento e de Programação. Sob este aspecto, deve ser considerado também que a
Embora seja usual na utilização da SMC, a utilização de despeito do projeto analisado ser semelhante a projetos

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
PACAGNELLA JÚNIOR et al.: COST ESTIMATION IN 3057

anteriores, cada projeto é único e neste projeto em particular No que se refere ao cálculo das estimativas de custo, estas
houve solicitações de mudanças recorrentes, advindas do vinham sendo baseadas na quantidade de linhas de
cliente, o que exigiu mais esforço de programação e testes de programação de código fonte e o nível de experiência e
qualidade, mas que estavam provisionados adequadamente, quantidade de trabalho dos envolvidos no projeto, o que
devido aos valores encontrados na simulação. normalmente exige grande esforço de planejamento.
É importante destacar que tal gráfico proveu a equipe com Em relação ao projeto estudado, o uso da SMC foi feito em
uma forma rápida e visual de observar o comportamento dos dois momentos em que era necessário estimar os custos: no
custos, poupando tempo e facilitando a análise sobre a primeiro (no início do projeto) os custos totais de projetos
capacidade de cumpri-los, o que auxiliou, segundo os membros anteriores foram tomados como base para embasar o preço que
da mesma, a manutenção controle sobre os custos. Sob este seria cobrado pelo produto do projeto; no segundo,
aspecto, também foi destacado que todos os membros tinham (contemplado na etapa de planejamento), foram realizadas
poder para interromper o processo, caso fossem identificadas simulações para cada etapa do projeto, visando maior precisão
causas de elevação de custo e propor soluções para reduzi-lo. para subsidiar as decisões e controlar os custos durante a
De forma geral, o uso da SMC teve uma avaliação execução do mesmo.
fortemente positiva por parte da empresa, que aponta não só a Em ambas as situações, a SMC se mostrou capaz de estimar
capacidade de previsão e a rapidez na definição dos custos, mas os custos de maneira potencialmente superior ao método
também outros três aspectos relevantes: o primeiro diz respeito utilizado até então pela empresa, destacando-se a rapidez, a
à confiança gerada na equipe pela introdução do método e o seu precisão, a facilidade de interpretação e as lições aprendidas.
comprometimento em manter os custos de acordo com o É preciso destacar também que os resultados obtidos com a
planejamento; o segundo foi o aprendizado organizacional simulação permitiram a realização de um controle efetivo dos
proporcionado pela nova abordagem; já o terceiro e mais custos de projeto, por meio da construção de um gráfico com
significativo, é a robustez do método, principalmente no que diz três curvas “S” em uma abordagem de semáforo (verde para
respeito a precisão e capacidade de considerar incertezas e valores mínimos, amarelo para valores médios e vermelhos
riscos do projeto na estimação dos custos. para valores máximos, similar a uma abordagem comumente
Outro aspecto mencionado foi que a SMC é de caráter utilizada no controle de estoques em indústrias). Isto permitiu a
orientativo e não prescritivo, permitindo que sirva de base para gestão visual dos custos do projeto e que fosse dada autonomia
as decisões, mas também podendo ser enriquecida (ou refinada) no que tange ao gerenciamento desta variável, para os
por opiniões técnicas especializadas, como já acontece no envolvidos no projeto.
processo de estimação tradicional da empresa. Os resultados também permitiram verificar que a SMC
Quanto aos problemas encontrados, deve ser destacado que provê não só vantagens em relação aos métodos tradicionais,
a SMC demanda uma grande quantidade de dados históricos, os mas também em relação a outros como os baseados em
quais foram recuperados com muito esforço pela empresa que regressão, pois além de realizar a previsão dos valores em si,
até então não possuía um registro detalhado. ela apresenta uma margem de incerteza sobre a qual os gerentes
Outro desafio foi a necessidade de selecionar apenas de projeto podem basear suas decisões, provisionando reservas
projetos compatíveis com o que se desejava simular, gerando e orientando o uso dos recursos para “faixas” prováveis de custo
um esforço extra (pelo menos neste primeiro projeto) que (conforme foi observado no caso estudado).
aumentou inicialmente os custos de planejamento, justamente o Outro ponto a ser destacado é que a organização estudada
oposto do que se pretendia com a adoção da técnica. demonstrou um bom nível de maturidade no gerenciamento de
Segundo a empresa, a partir desta experiência, a SMC está seus projetos, pois já possuía grande experiência no
sendo utilizada em todos os projetos realizados. Após esta desenvolvimento de software o que obviamente facilitou a
iniciativa, os entrevistados esperam que haverá um esforço assimilação do método. Além disso, sua equipe demonstrou
menor de aquisição de dados e de análise da simulação, além grande interesse em utilizar um método novo que deixasse mais
de uma elevação na sua precisão, devido ao aumento dos dados preciso e fácil o processo de estimação de custos o que se
históricos disponíveis. configurou em um facilitador para a implementação da técnica.
Entre as limitações da pesquisa destaca-se que não foram
VI. CONSIDERAÇÕES FINAIS disponibilizados dados de projetos anteriores ou posteriores ao
Este trabalho buscou explorar a melhor abordagem para o estudado para fins de comparação, ou de uma confirmação dos
uso da Simulação de Monte Carlo na estimação de custos em resultados encontrados pela realização de outra simulação com
projetos de desenvolvimento de software, e identificar os o mesmo software.
benefícios de sua utilização. sendo para isso conduzido um Como sugestões de trabalhos futuros, é possível apontar a
estudo de caso em uma empresa que utiliza o método e realiza realização de estudos por meio de pesquisas-ação onde o uso do
projetos com estas características. método e suas contribuições para o processo de estimação dos
Os resultados encontrados mostram que a empresa custos de um projeto de desenvolvimento de software possam
subdivide este tipo de projeto em nove etapas: ser detectadas “in loco” controlando as variáveis e testando
“Start do Projeto”, Briefing, Planejamento, Criação do novas abordagens de utilização que constituam boas práticas
Layout, Programação, Testes de qualidade, Implantação do utilizáveis pelas empresas do setor.
software, Treinamento e Formalização da entrega.

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.
3058 IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 9, SEPTEMBER 2015

REFERÊNCIAS Antônio Carlos Pacagnella Júnior possui graduação em


Engenharia Mecânica pela Universidade Estadual de
[1] Z. Zia, A. Rashid, K. Zaman, “Software cost estimation for component Campinas (UNICAMP), mestrado em Administração de
based fourth-generation-language software applications”, IET Software Organizações pela Faculdade de Economia Administração e
v.5, n.1, p.103-110, 2010. Contabilidade da Universidade de São Paulo (FEARP/USP)
[2] J.S. Chou, “Cost simulation in an item-based project involving e doutorado em Engenharia de Produção pela Universidade
construction engineering and management”, International Journal of Atualmente é professor adjunto da Faculdade de Ciências
Project Management, v.29, p.706–717, 2005. Aplicadas - FCA da Universidade Estadual de Campinas –
[3] M. Elkjaer, “Stochastic Budget Simulation”, International Journal of UNICAMP. Tem como principal área de docência e pesquisa o gerenciamento
Project Management, v.18, p.139-147, 2000. de projetos, tema de sua tese de doutorado e onde possui a certificação Project
[4] W.C., Wang, “Impact of soft logic on the probabilistic duration of Management Professional - PMP. Também possui experiência em Gestão de
construction projects”, International Journal of Project Management, operações e Gestão da cadeia de suprimentos.
v.23, n.600-610, 2005.
[5] K. Rezaiea, M.S. Amalnik, A. Gereie , B.Ostadi, M. Shakhseniaee, Ornella Pacífico possui graduação em Administração de
Empresas pelo Instituto Municipal de Ensino Superior de
“Using extended Monte Carlo simulation method for the improvement
Bebedouro Victorio Cardassi (1998) e mestrado em
of risk management: Consideration of relationships between Engenharia de Produção pela Escola de Engenharia de São
uncertainties”, Applied Mathematics and Computation, n.190, v.2, Carlos (EESC/USP). Atualmente é professora e
p.1492-1501. coordenadora do Curso de Administração e do Curso
[6] M. Olarua, M. Şandrua, I.C. Pirneab, “Monte Carlo Method Application Superior de Tecnologia em Gestão Financeira da EAD do
for Environmental Risks Impact Assessment in Investment Projects”, Centro Universitário Uniseb.
Procedia - Social and Behavioral Sciences, v.109, n.8, p.940-943, 2014.
[7] P.A.O. Tamaki, “Uma extensão do RUP com ênfase no Gerenciamento Leonardo Augusto Amaral Terra é Bacharel em
de Projetos do PMBOK baseada em Process Patterns”. Dissertação de Administração de Empresas pela Universidade de São
Mestrado, Universidade de São Paulo. 2007. Paulo, com MBA Executivo em Gerenciamento de Projetos
[8] A.M.S. Filho, “Desenvolvimento de software requer processo e gestão”, pela Fundação Getúlio Vargas, Mestrado e Doutorado em
Revista Espaço Acadêmico, v.123, n.1, p.46-57. 2011. Ciências no programa de Administração de Organizações da
[9] A. Sharma, D.S. Kushwaha, “Estimation of Software Development Universidade de São Paulo (FEARP-USP). Atualmente é
Effort from Requirements Based Complexity”, Procedia Technology, v professor na Universidade de Ribeirão Preto, onde atua nas
4, p. 716-722, 2012 áreas de Economia de Empresas e Estratégia, Dinâmica
[10] Y. Xenedis, E. Stavrakas “Risk based Budgeting of Infrastructure Socioeconômica, Processos de Interação Humana e Comunicação e Enfoque
Projects”, Procedia - Social and Behavioral Sciences, v.74, n.29, p.78- Sistêmico na Administração e na Economia.
487, 2013.
[11] M.A. Azman, Z.A. Samad and S.Ismail, “The accuracy of preliminary Alexandre Pereira Salgado Júnior é Professor Associado
cost estimates in Public Works Department (PWD) of Peninsular do Departamento de Administração da Faculdade de
Economia, Administração e Contabilidade de Ribeirão Preto
Malaysia” International Journal of Project Management, v.31, n.7,
da Universidade de São Paulo (FEARP-USP). Possui Livre-
p.994-1005. docência em Administração pela Universidade de São Paulo
[12] R. Wysocki, R. Mcgary, Effective Project Management: traditional, (FEARP-USP), Doutorado em Administração pela
adaptive, extreme, Indiana: Wiley Publishing, 2003. Universidade de São Paulo (FEA-USP), Mestrado em
[13] A. Touran, “Calculation of contingency in construction projects”. IEEE Engenharia de Produção pela Universidade de São Paulo
Transactions on Engineering Management, v.50, n.2, p.135-140, 2003. (EESC-USP), MBA em Administração pela Universidade de São Paulo
[14] M. Jorgensen, “What We Do and Don't Know about Software (FEARP-USP) e Graduação em Engenharia de Produção Mecânica pela
Development Effort Estimation”, IEEE Software, v.31, n.2, p.27-40, Universidade de São Paulo (EESC-USP). Coordenador do GREFIC - Grupo de
2014. Estudos em Eficiência. Pesquisador em Análise Envoltória de Dados (DEA)
[15] F.S. Hillier, G.J. Lieberman, Introduction to Operations Research. New aplicada à Gestão da Educação, Bancos e ao Setor Energético.
York: McGraw-Hill, Inc. 9th edition, 2009.
[16] J. Banks, J.S. Carson, B.L. Nelson, D.M. Nicol, Discrete-Event System
Simulation -5th Edition, Prentice Hall, 2009.
[17] H. Klee, R. Allen, Simulation of dynamic systems with MATLAB and
Simulink 2 ed. Boca Raton: CRC Press, 2011.
[18] J. R. Evans, D. L. Olson, Introduction to Simulation and Risk Analysis
Prentice-Hall, Inc.,1998.
[19] N. Metropolis, S. Ulam, “The Monte Carlo method”. Journal of the
American Statistical Association, v. 44, n. 247, p.335-341, 1949.
[20] A. Doucet, Sequential Monte Carlo methods. In: (Ed.). Encyclopedia of
statistical sciences: John Wiley & Sons, Inc. 2004.
[21] M.D. Kennedy, S.A. McComb, R.R. Vozdolska, “An investigation of
project complexity's influence on team communication using Monte
Carlo simulation”, Journal of Engineering and Technology
Management, v.28, n.3, p.109-127, 2011.
[22] Z. Wang, Engineering project risk management-theory: methods and
application, Beijing: Press of Chinese water conservancy and
hydropower, 2003.
[23] J.M. Charnes, P.P. Shenoy, “Multistage Monte Carlo Method for Solving
Influence” Journal Management Science. v.50, n.3, p.405-418, 2004.
[24] W. Yang, C. Tian “Monte-Carlo simulation of information system
project performance” Systems Engineering Procedia, v.3,n.1, p.340-345,
2012.
[25] R.K. Yin, Estudo de caso: Planejamento e métodos. 2. Porto Alegre:
Bookman, 2001.
[26] D.R. Cooper, P.S. Schindler, Métodos de pesquisa em administração.
Porto Alegre: Bookman, 2003.
[27] P.AC. Miguel, “Estudo de caso na engenharia de produção: estruturação
e recomendações para sua condução” Revista Produção, v.17, n.1, p.
216-229.

Authorized licensed use limited to: Universidade Estadual de Campinas. Downloaded on May 01,2023 at 22:05:13 UTC from IEEE Xplore. Restrictions apply.

Você também pode gostar