Você está na página 1de 10

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

O Mtodo de Monte Carlo com o MS Excel


Renato de Oliveira Moraes (UNICID) renato.moraes@perceptron.com.br Fernando Jos Barbin Laurindo (PRO/POLI/ USP) fjblau@usp.br

Resumo Este artigo apresenta a aplicao da tcnica de Monte Carlo no planejamento de projetos de TI. Ele traz um breve reviso sobre tcnicas programao de projetos e sua adequao para as caratersticas normalmente encontradas em projetos de TI. A partir de uma reviso de do conceito de simulao, construdo um modelo utilizando a planilha eletrnica MS Excel. Este procedimento foi testado em campo para que profissionais da rea de TI pudessem avaliar sua contribuio prtica da gesto de projetos em suas organizaes. Palavras-chave: Gesto de Projetos, Programao de Projetos, Simulao de Monte Carlo Introduo O emprego de simulao adequado quando no possvel, ou economicamente desejvel, encontrar uma soluo analtica melhor. Na programao de projetos de grande incerterza existem mtodos alternativos ao caminho crtico. O PERT, a alternativa mais comum, tem a desvantagem de trabalhar apenas com duraes de atividades que tenham uma distribuio Beta. Redes genricas de atividades, como o GERT, podem trabalhar com qualquer distribuio de probabilidades para a durao das atividades. Alm disto suportam relaes de precedncia no convencionais entre as atividades de forma a incorporar diferentes "rotas" de desenvolvimento dentro do projeto. Contudo, existem poucas ferramentas para aplicao destes modelos. Geralmente, so baseadas em softwares genricos de simulao, o que exige do profissional conhecimentos que, freqentemente, vo muito alm da rotina de gesto de projetos. A tcnica de Monte Carlo, permite que o projeto seja simulado muitas vezes, dentro de um ambiente digital, fornecendo as informaes necessrias para se poder estimar, entre outras coisas, a distribuio de probabilidades de da durao do projeto, a probabilidade de cada atividade tornar-se crtica, e a probabilidade do projeto ser executado dentro do prazo estabelecido. Desde que se entenda os a simples idia que existe por trs desta tcnica, ela pode ser utilizada com ferramentas encontradas em praticamente todos os computadores pessoais. Para verificar se este tipo de procedimento pode trazer algum benefcio a prtica de gesto de projetos de TI, ele foi aplicado a alguns projetos da rea de TI de uma grande metalrgica. Aps a aplicao da tcnica em alguns projetos, foi pedido ao responsvel da rea aos gerentes das reas usurias destes projetos que avaliassem o resultado obtido. O Mtodo do Caminho Crtico O Critical Path Method (CPM), ou Mtodo do Caminho Crtico, surgiu na segunda metade da dcada de 50, na DuPont, como ferramenta para trabalhos de manuteno. Era o nascimento da principal tcnica de programao de projetos. O CPM relativamente simples e quase sempre apresenta resultados satisfatrios. Atualizou-se com a informtica e, hoje, uma grande quantidade de software suporta a sua aplicao. A estrutura do CPM assenta-se na teoria dos grafos. Os projetos so representados atravs de um grafo (ou rede) e a anlise deste grafo permite programar o projeto com maior facilidade.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Atravs do CPM podemos determinar: 1. as folgas de cada atividade: a) folga total: o prazo em que uma atividade pode atrasar sem afetar o trmino do projeto; b) folga livre: o prazo em que uma atividade pode atrasar sem afetar a folga de outras atividades; c) folga dependente: o prazo em que uma atividade pode atrasar sem atrasar o trmino do projeto, tendo como referncia as antecessoras que terminaram na ltima data possvel; d) folga independente: o quanto uma atividade pode atrasar sem afetar a folga de outras atividades, tendo como referncia as antecessoras que terminaram na ltima data possvel. 2. as atividades crticas: so atividades em que qualquer tipo de folga implica atraso do projeto. Estas atividades esto sempre sob um esforo de superviso maior porque sua durao afeta diretamente a durao do projeto. Um grafo composto basicamente de dois elementos: n e arco. Existem duas alternativas para modelar um projeto atravs de um grafo: Na primeira, cada n representa um evento e cada arco uma atividade Na segunda, cada n representa uma atividade e cada arco uma relao de precedncia. Tabela 1: grafos para o mtodo do caminho crtico - CPM Elementos do Grafo Modelo 1 Modelo 2 Arco atividade relao de precedncia N evento atividade A primeira, historicamente mais tradicional, apresenta uma entidade de interpretao fsica no muito bvia: evento. Um evento um marco, um instante, portanto no tem durao, em que uma ou mais atividades podem ser iniciadas. A segunda modelagem , s vezes, chamada de PDM, como se ela fosse uma tcnica de PPCPj. Esta confuso alimentada por alguns livros. O que alguns autores chamam de PDM apenas uma variao no grafo do CPM. Nenhuma das modelagens incondicionalmente melhor que outra. A seguir, mostramos as vantagens e desvantagens de cada uma. A tabela 2 mostra uma comparao entre a segunda modelagem (atividades nos arcos) e a primeira (atividades nos ns):

Tabela 2: Comparao entre os grafos do CPM Vantagens Desvantagens

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

a) maior facilidade de construo do grafo; b) maior clareza nas interligaes entre as atividades; c) menor complexidade na diagramao, pois no h necessidade de atividades fantasmas; d) permite a passagem mais rpida para o Grfico de Gantt; e) define as folgas com relao s atividades e no aos eventos, o que facilita os clculos; f) facilita a integrao de vrias redes sem submet-las a artifcios ou obrigar a desenh-las vrias vezes; g) os programas de computador mais populares suportam esta modelagem.

a) esta modelagem nem sempre estabelece claramente marcos (milestones) no tempo para o trmino de algumas etapas de trabalho; b) tradicionalmente, esta modelagem menos popular; c) no caso de ser necessrio o desenho do grafo, esta modelagem ocupa mais papel, uma vez que o seu tamanho proporcional ao nmero de atividades, enquanto o tamanho do grafo na outra modelagem proporcional ao nmero de eventos; d) em cursos dados para mestres de obras semi-alfabetizados a representao das atividades por arcos pareceu ser mais eloqente; e) Os clculos da folga livre, dependente e independente so mais simples com as atividades nos arcos.

Fonte: adaptado de Boiteaux, 1985 Diagrama de Precedncias O diagrama de precedncias uma variao do CPM modelado com as atividades nos ns. Muda quando incorpora outros tipos de relaes de precedncia. No CPM, todas as relaes de precedncia so tipo FS (finish to start, fim incio). Fica assim: uma atividade s comea quando a que a antecede for concluda. No diagrama de precedncias existem outros tipos de relao: FF finish to finish fim fim SF start to finish incio - fim SS start to start incio - incio Uma das limitaes do CPM as anomalias, que impedem que ele se torne flexvel e poderoso. Observe a figura 1 abaixo . Sua durao de 14 dias.

Atividade A 10 dias

FF Atividade B 6 dias

SS

Atividade C 10 dias

Figura 1: Rede de atividades Se a durao da atividade B for reduzida em dois dias, a durao do projeto aumenta em 2 dias! (Figura 2)

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Atividade A 10 dias

FF Atividade B 4 dias

Atividade C 10 dias Figura 2: Rede de atividades SS


Por isso, muita ateno ao utilizar relaes de precedncia que no sejam exclusivamente do tipo FF. Na reviso bibliogrfica sobre PPCPj, chama ateno a indicao do mtodo do caminho crtico CPM (e do PERT) como sinnimo de programao de projetos. Contudo, esta afirmao equivocada. O CPM no sinnimo de programao de projetos. Existe um conjunto de tcnicas menos famosas de programao de projetos e no h nada que comprove que o CPM ou o PERT seja incondicionalmente melhor que as demais. Alm disso, as hipteses implcitas do CPM no so aderentes a uma situao de desenvolvimento de novos produtos, especialmente de desenvolvimento de software. As hipteses implcitas no CPM so: 1. a durao de cada uma de suas atividades uma varivel determinstica; 2. a relao de precedncia entre as atividades tambm uma varivel determinstica; 3. cada atividade realizada apenas uma nica vez at que projeto seja completamente realizado, isto , as atividades no formam ciclos. Assim esta tcnica impe ao processo de programao srias limitaes que podem ser resumidas em: 1. todas as atividades do projeto so obrigatoriamente executadas, o modelo no incorpora nenhum tipo de deciso; 2. a rede no pode possuir ciclos, repeties e retro-alimentaes (feedbacks), isto significa que nenhuma atividade pode ser reexecutada aps sua concluso; 3. o projeto sempre concludo com sucesso, isto , o projeto s termina quando todas as atividades so concludas o que, segundo este modelo, caracteriza o sucesso do projeto. No possvel considerar a hiptese de trmino do projeto por inviabilidade tcnica, econmica e/ou administrativa. A aplicao do mtodo de Monte Carlo Para exemplificar a aplicao do mtodo, considere o projeto de 7 atividades representado abaixo (Tabela 3 e Figura 3) Neste exemplo, a durao de todas as atividades possui distribuio normal. O primeiro passo gerar, na planilha eletrnica, variveis aleatrias com a distribuio desejada. Existem vrias obras que apresentam os procedimentos para gerao de nmeros aleatoriamente distribudos segundo uma determinada distribuio (NAYLOR, SHIMIZU, LIEBERNAM, WAGNER). Sabemos que a soma de muitas variveis aleatrias independentes quaisquer gera uma varivel normal.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Tabela 3: Caractersticas do projeto exemplo Desvio Atividade Atividade Durao Mdia (dias) Padro Precedente A 12 2 B 30 2,5 A C 14 1 A D 12 1,5 B E 25 1,5 C F 32 3,5 C G 8 1 D, E, F

Figura 3: Rede de atividades de um projeto exemplo A varivel R, uniformemente distribuda entre 0 e 1, possui mdia 1/2 varincia 1/12. O MS Excel, bem como outras inmeras ferramentas computacionais, possui esta funo. E a parir dela possvel geram uma distribuio normal reduzida - media 0 e varincia 1, e por conseqncia, qualquer distribuio normal. ISto obtido atravs da seguinte equao. 12 z = Ri 6 i =1 Onde R uma varivel aleatrio uniformemente distribuda entre 0 e 1. No Excel, isto obtido pela funo aleatrio(). Uma distribuio normal qualquer caraterizada pela sua mdia e desvio padro. Gerando uma normal reduzida esta distribuio normal qualquer gerada pela transformao x = z + . Onde a mdia e s o desvio padro da distibuio normal desejada. Na construo da planilha de simulao so reservadas 6 clulas para cada atividade em cada passagem (Figura 4) A construo de um bloco destes (Figura 4) para cara atividade do projeto faz com que a planilha fique com a aparncia exibida na Figura 5, onde cada coluna, a partir da coluna C, representa uma "rodada" do processo de simulao. A anlise desta planilha permite estimar algumas caratersticas da varivel aleatria durao do projeto (Tabela 4)

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

A B Atividade A Durao

2 Incio (+ cedo) 3 Trmino (+cedo) 4 Incio (+tarde) 5 Trmino (+tarde) 6 Folga total Figura 4: Expresses utilizadas na planilha (*) Atividade A no possui precedentes, por isto comea na data 0. Caso houvessem precedentes, seu incio seria a maior data de trmino entre seus precedentes (**) Esta expresso representa a menor data de incio entre as atividades que sucedem a atividades A, isto a data de incio mais tarde da atividade B (clula C10) e a data de incio mais tarde da atividade C (clula C16) Tabela 4: Estimativas da durao do projeto exemplo Parmetro Valor (dias) Mnimo 57,2 Mediana 67,0 Mdia 66,7 Mximo 72,2 Desvio Padro 3,1 possvel tambm construir um intervalo de tolerncia para a durao do projeto a partir destes dados (JURAN). A Figura 6 mostra o resultado (durao do projeto) de cada "rodada" da simulao e a Tabela 5 mostra o numero de vezes que cada atividade se tornou crtica (folga total =0). Tabela 5: Atividades crticas no projeto exemplo Percentual de rodadas em Nmero de rodadas Atividade em que a atividade que a atividade tornou-se crtica tornou-se crtica A 50 100,0% B 11 22,0% C 39 78,0% D 11 22,0% E 0 0,0% F 39 78,0% G 50 100,0%

C =(ALEATRIO()+ALEATRIO()+ALEATRIO() +ALEATRIO()+ALEATRIO()+ALEATRIO()+ ALEATRIO()+ALEATRIO()+ALEATRIO()+A LEATRIO()+ALEATRIO()+ALEATRIO()6)*2 + 12 =0* = C2 + C1 = D5 - C1 =MNIMO(C10;C16)** = C4 - C2

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Figura 5: Planilha para simulao do projeto exemplo.


Durao do Projeto 80 75 70 Dias 65 60 55 50 1 11 21 31 Passagens 41 51

Figura 6: Resultados obtidos na simulao e limites de tolerncia com significncia de 1% para 95% da populao Estimando a durao atravs de amostras A representao da durao das atividades por uma varivel aleatria apresenta algumas dificuldades conceituais e operacionais. A escolha de uma distribuio de probabilidades especfica requer, pelo menos conceitualmente, que se aplique um teste no paramtrico para se verificar o quo bem uma funo representa a durao de uma atividade em particular. Isto exige uma amostra de elementos representativos desta populao que pode no existir. Nem sempre haver (h bem da verdade, quase nunca haver) dados histricos da durao da atividade. As especificidades de cada projeto fazem com que suas atividades acabem sendo,

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

normalmente nicas. No existindo histrico, no existir amostra! Sem amostra estimar a distribuio de probabilidades da durao de uma atividade se torna um procedimento extremamente subjetivo. Isto pode ser contornado em projetos de desenvolvimento de software, pelo meio da escolha e uso de um modelo de ciclo de vida e de indicadores baseados no tamanho ou indicadores baseados na funo (pontos de funo). A escolha de um modelo de ciclo de vida, seja ele qual for, permite criar uma estrutura conjunto de atividades e inter-relaes comum aos diferentes projetos. Isto razovel na maior parte das organizaes j que, em geral, as organizaes tendem a se especializar no desenvolvimento de um determinado tipo de software. O que leva, entre outras coisas, a uma tendncia natural de padronizao e repetio dos procedimentos tcnicos e administrativos. Diferentes modelos de ciclo de vida de projetos de software podem ser encontrados no PMBoK (2000), Pressman (1995), Mayrhauser (1999) e Moraes (1999). O uso de indicadores baseados em tamanho ou funo estabelece uma base comum para comparao de projetos diferentes. Por exemplo, no comparvel a durao da atividade Especificao dos Requisitos de dois projetos cujo tamanho sejam claramente diferentes. Contudo, se a durao da atividade for substituda pela relao entre durao (em dias) e o tamanho (em linhas de cdigo) ser criada uma varivel que pode comprada entre projetos de diferentes tamanhos. Assim, ser possvel a construo de um histrico da durao das atividades que para ser usada como amostra da durao as atividades e que permitir estimar a distribuio de probabilidades da durao de uma atividade especfica. Como ilustrao, considere o exemplo da tabela 6. Os dados de projetos passados podem ser usados para determinar a o valor mdio e o desvio padro da durao da atividade Especificao de Requisitos. Costa Neto (1997) lembra que, para pequenas amostras (menores que cem elementos) preciso fazer uma correo do desvio padro amostral (s) para utiliza-lo como estimativa do desvio padro populacional (). Tabela6: Histrica da durao da atividade Especificao de Requisitos Projetos Tamanho (milhares de Durao (dias) Durao / linhas de cdigo) KLOC Tamanho 1 21,4 410 19,16 2 18,8 210 11,17 3 8,8 180 20,45 4 11,9 190 15,97 5 22,3 500 22,42 6 8,7 110 12,64 7 9,9 180 18,18 8 20,8 480 23,08 9 16,9 270 15,98 10 23,2 360 15,52 Mdia: 17,5 Desvio Padro Amostral: 3,9 Estimativa do Desvio Padro Populacional: 3,6 Suponha que, nestas condies, deseja-se estimar a durao da atividade para um novo projeto cujo tamanho estiado seja de 15 mil linhas de cdigo. A durao mdia da atividade seria de 262,5 dias (15.000 x 17,5) e o desvio padro seria de 440,9 dias ( 15.000 3,6 ).

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

O mesmo raciocnio poderia ser empregado com mtricas baseadas em pontos de funo (function points) ao invs de mtricas baseadas no tamanho (linhas de cdigo). Os pontos de funo tm como vantagem o fato de poderem ser estimadas mais facilmente nas fases iniciais do projeto. Aplicao do procedimento O teste deste procedimento foi realizado numa metalrgica de grande porte que atua no mercado de materiais de construo. O responsvel pela rea de TI selecionou 5 projetos cuja incerteza das atividades, particularmente a incerteza da durao das atividades, era mais significativa. O procedimento foi aplicado aos 5 projetos e os resultados foram comparados aos obtidos atravs da anlise destes mesmos projetos pelo mtodo do caminho crtico - CPM - utilizando o software MS Project. Os resultados dos dois procedimentos CPM e simulao de Monte Carlo foram apresentados a analisados pelo responsvel da rea de TI e o responsvel da rea considerada como a principal rea usuria do projeto. Foi pedido a cada uma destas pessoas que avaliassem o valor percebido das informaes geradas na simulao e de Monte Carlo. Foi observada uma dificuldade inicial na montagem das duas primeiras planilhas (dois primeiros projetos). Vrios erros foram cometidos nas frmulas das clulas, o que sugere a necessidade de profissionais com uma maior capacitao, j que este tipo de ferramenta no possui, ao contrrio do MS Project, dispositivos de anlise de consistncia e verificao de erros. O nmero de erros nas duas ltimas planilhas - dois ltimos projetos - foi zero. Revelando que o pessoal da rea conseguiu, durante este teste, um bom domnio na formulao do modelo (modelagem). O profissional da rea de TI ficou bastante satisfeito com o resultado, especialmente com a estimativa da probalidade de cada atividade tornar-se crtica. Entre os profissionais das reas usurias observou-se dois tipo comportamento: o primeiro grupo mostrou-se satisfeito com as informaes que podem ser geradas atravs desta tcnica. O segundo grupo, ligeiramente menor, mostrou-se confuso com a informao extra e no se sentia percebia nenhum valor prtico nas informaes percebidas. importante ressaltar que os usurios no tm a mesma formao e experincia em gesto de projetos, o que dificultou uma avaliao mais profunda das percepes. Em geral, as pessoas com uma formao melhor em gesto de projetos teve uma recepo mais positiva aos resultados da simulao. Consideraes finais O trabalho demostrou a possibilidade de emprego da tcnica de Monte Carlo com ferramentas computacionais bastante comuns. Contudo, para que seu uso seja eficaz necessrio que a organizao tenha uma certa competncia em estimativas de durao de atividades. Isto pode ser conseguido, de forma no exclusiva, atravs do apontamento das mtricas de engenharia de software. A adoo de um modelo de ciclo de vida comum aos projetos torna-se a ponte entre o histrico observado e as estimativas para novos projetos. Um conhecimento bsico sobre simulao essencial para a aplicao da tcnica (gerao de nmeros com determinada distribuio de probabilidades) e entendimento e interpretao dos resultados. No estudo de caso realizado, observou-se que os resultados da simulao afetaram as decises sobre os projetos , principalmente por parte do responsvel da rea de TI.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004

Referncias Bibliogrficas BOITEAUX, Colbert D. , PERT/CPM/ROY e outras tcnicas de programao e controle. Rio de Janeiro, LTC, 1985. COSTA NETO, Pedro Lus de Oliveira. Estatstica. So Paulo: Edgard Blcher, 1977 DWASON, C.W. e DAWSON, R. J. Generalised activity on the node networks for managing uncertainty in projects. IN International Journal of Project Management vol. 13, no. 6, pp 353-362, 1995. DAWSON, R. J. e DWASON, C.W. Pratical proposals for managing uncertainty and risk in project planning. IN International Journal of Project Management vol. 16, no. 5, pp 229310, 1998. EMALGHARABY, S. E. An algebra for he analysis of generalized activity networks. IN Management Science, vol. 10, no. 3, pp 494-514, 1964. EISNER, H. A generalized network approach to the planning and scheduling of a research project. Operations Research, vol. 10, no. 1, pp. 115-125, 1962 HILLIER, F. S. e LIEBERMAN, G. J. Introduo Pesquisa Operacional. So Paulo: Editora da Universidade de So Paulo, 1988 JURAN, J. M. E GRYNA, F. M. Controle da Qualidade. Vol. VI Mtodos Estatsticos Clssicos Aplicados Qualidade. So Paulo: Makron Books, 1992 MAYRHAUSER, A Von A Software Engineering Academic Press, 1990. MORAES, R. O. Planejamento, Programao e Controle de Projetos de Software Dissertao de mestrado submetida Universidade Paulista. So Paulo 1999. NAYLOR, Thomas H. Et al. Tcnicas de Simulao em Computadores. So Paulo: Editora Vozes. 1971 PRESSMAN, R. S. Engenharia de Software, Makron Books, So Paulo 1995. PRITSKER, A. B. & HAPP, W. W. "GERT: Graphical Evaluation Review Technique - Part 1. Fundamentals" - IN: The Journal of Industrial Engineering - vol. XVII no. 5 May, 1966 pp 267-274. SHIMMIZU, Tamio. Pesquisa Operacional em Engenharia, Economia e Administrao. Rio de Janeiro: Guanabara Dois, 1984 SOMMERVILLE, I. Software Engineering Addison-Wesley, 5 ed. 1995. WAGNER, Harvey M. Pesquisa Operacional. Rio de Janeiro: Prentice Hall do Brasil, 1986 WIEST, J. D. & LEVY, F. K. A Management guide to PERT/CPM with GERT/PDM/DCPM and other networks. Prentice-Hall, 1997 229 p.

Você também pode gostar