• Nenhum resultado encontrado

CAPÍTULO 5 DISCUSSÃO

5.2 Aplicabilidade do modelo

5.2.5 Considerações finais

O objetivo dessa pesquisa era a identificação de parâmetros preditores e a elaboração de um modelo que permitissem a aplicação em casos reais como uma abordagem de estimativa de esforço de software de manutenção evolutiva em uma etapa precoce. Analisando-se os parâmetros preditores identificados e o modelo correspondente, percebe-se que o MEP pode ser aplicado em casos reais, ainda que, com o suporte do especialista de TI nos casos em que a estimativa possui altos níveis de erro. O suporte do especialista também pode contribuir para a evolução do MEP, principalmente na identificação de outras possíveis variáveis.

Analisando-se a aplicabilidade do MEP, depreende-se que os parâmetros preditivos selecionados apresentam uma significante correlação preditiva com o esforço em horas, quando as solicitações de mudanças encaixam-se nas classes LM4, LM5 e LM6. Para as demandas dessa classe, o resultado da análise indica que o especialista pode ser substituído pelo MEP e o modelo pode ser aplicado a casos reais – limitados a essas classes.

Para as classes LM1, LM2 e LM3 – que representam 90% das solicitações de mudanças e 45% do total de horas de esforço – os parâmetros preditivos selecionados para o MEP apresentam uma correlação preditiva baixa, notadamente para demandas de baixo esforço, o que leva à restrição no uso do MEP para essas classes somente com o suporte de especialista.

Analisando-se o desempenho do MEP quando comparado ao “cone da incerteza”, percebe-se que o desempenho apresentado: MMRE de 4,089 encontra-se aderente ao estabelecido por Steve McConnell, de que, na precocidade proposta por este trabalho, espera- se um nível de erro da ordem de quatro vezes. Situação que demonstra a viabilidade do modelo uma vez que se encontra dentro dos níveis de certeza esperados para o momento da

precocidade proposta, só não sendo, ainda, melhor que o julgamento do especialista. Desconsiderou-se nesta análise o fato da MMRE apresentar um valor superior ao real em vista da identificação de alguns valores extremos na amostra.

Percebeu-se que o especialista consegue identificar informações – não presentes entre as variáveis utilizadas – que permite a identificação de demandas com pequena quantidade de esforço, enquanto o modelo não as identifica. Fica a recomendação de buscar, em estudos futuros ou mesmo dentro da organização-alvo, a identificação de novos elementos preditivos que possam contribuir para a diferenciação das demandas, notadamente as de pequena quantidade de esforço.

CAPÍTULO 6 - CONCLUSÃO

O objetivo dessa dissertação foi o de identificar parâmetros e elaborar um modelo de predição que permitisse a tomada de decisões sobre manutenções evolutivas de software sem envolver a área de TI da organização. A predição aqui proposta ocorre em estágio anterior às fases do ciclo de vida de manutenção de software, ainda dentro da concepção da mudança, o que não encontra suporte nos modelos preexistentes de predições – na sua grande maioria apoiados no tamanho da mudança a ser realizada e em fases mais avançadas do ciclo de vida da manutenção, conforme pode ser acompanhado na revisão da literatura.

O problema proposto foi a identificação de parâmetros preditivos precoces do esforço de manutenções evolutivas, a fim de alcançar o objetivo da pesquisa: o de permitir a construção de um modelo para elaborar previsões que pudessem substituir o especialista de TI dessa avaliação prévia.

As suposições trabalhadas foram as de que, a partir de informações de projetos passados de mesma natureza, seria possível identificar elementos para atuar como preditores para a elaboração de modelos de estimativa precoce. Essa descoberta dar-se-ia por meio do uso de ferramentas e técnicas de descoberta do conhecimento (KDD). Também foi suposto que o conhecimento dos sistemas intervenientes de uma mudança, em um sistema principal, serviria como parâmetro preditivo.

Respondendo ao problema fundamental da pesquisa, foram identificados oito parâmetros preditores, a saber: sete variáveis independentes e uma técnica classificadora. As variáveis encontradas foram: solicitante da mudança, quatro sistemas intervenientes, forma

de atendimento da mudança e quantidade de sistemas intervenientes na mudança realizada;

enquanto a técnica classificadora foi o algoritmo derivado do modelo de aprendizado em árvore denominado “M5P”. As variáveis confirmaram a existência de relação com o esforço total da demanda e a técnica, dentre as analisadas, foi a que apresentou o melhor desempenho para a geração do modelo preditivo.

A partir dos parâmetros preditivos identificados, foi possível elaborar um modelo que possibilitasse a geração de estimativa precoce, respondendo afirmativamente a pergunta secundária apresentada pelo problema. O modelo derivado do algoritmo de decisão em árvore implementa uma estrutura de decisão composta por seis classificações de dados. Para cada classificação, foi definida uma equação específica, responsável por gerar a estimativa de esforço. A esse modelo foi dado o nome de “Modelo de Estimativa Precoce” (MEP). O MEP

foi validado junto a um conjunto de dados desconhecidos, apresentando nível de correlação de 0,79 e nível de erro de 54%. Embora o nível de erro apresentado seja alto, deve-se observar que o momento em que se está fazendo a estimativa é de alta incerteza.

Olhando-se para o resultado do desempenho apresentado pelo MEP, percebe-se estar frente a um modelo com significativa expectativa de aplicação prática, visto que se considera esperado no nível de precocidade da estimativa, um alto grau de erro devido à forte incerteza existente.

Considerando as suposições elaboradas, a ferramenta de KDD mostrou-se eficaz na identificação das variáveis independentes a partir de uma estrutura de dados povoada por 686 projetos concluídos. Por meio de 20 técnicas e algoritmos de classificação, foi possível identificar aqueles que apresentaram melhor desempenho para tratar a estrutura de dados na identificação do valor da variável dependente – esforço em homem/hora. Isso reforça a tendência cada vez maior de se utilizar diferentes algoritmos para identificar aquele que melhor se ajusta ao problema específico.

Outro aspecto de grande relevância observado na escolha da técnica de classificação dos dados foi a importância da aplicação de testes de avaliação de desempenho. Enquanto no modelo de treinamento dos dados os algoritmos apresentavam desempenho de aparente semelhança entre si; quando submetidos a dados desconhecidos a diferença de desempenho entre os algoritmos era significativa. Isso leva à conclusão da necessidade de ser realizada avaliação de desempenho com dados desconhecidos para identificar qual o real desempenho da técnica. No caso da presente pesquisa, utilizou-se o método de validação cruzada com dez partições, que possibilitou a seleção adequada da técnica.

Os sistemas afetados indiretamente pela mudança demonstraram ter relevância para se determinar a estimativa de esforço. Dentre os referidos sistemas, foram selecionados aqueles que mais participaram da execução das mudanças, bem como a variável com a quantidade de intervenientes presentes em cada alteração. Tal fato indica como adequada a suposição de relevância dessa variável como parâmetro preditivo. Salienta-se, também, a presença das variáveis: sistema, cliente e tipo de atendimento, como já apontado em outro estudo61,

reforçando suas candidaturas a variáveis de predição precoce.

Considerando o aspecto de aplicabilidade do modelo, a etapa mais difícil foi identificar um nível de referência válido para o momento em que é realizada a estimativa – de

alta incerteza. Os níveis de referência normalmente utilizados para os modelos preditivos que atuam dentro do ciclo de desenvolvimento do software não podem ser considerados, visto tratar-se de momentos com diferentes níveis de informações e incertezas, conforme demonstrado pelo “cone da incerteza”. Para relativizar o nível, buscou-se identificar outro método para comparação que pudesse atuar em momento similar. A indicação coube ao especialista de TI, basicamente, o método que o MEP pretende substituir. Dessa forma, foi estabelecido como referência de comparação, nesta pesquisa, o resultado alcançado pelo especialista de TI.

Para realizar a comparação, foram escolhidos como indicadores de acurácia: a média das magnitudes dos erros relativos – MMRE, e a porcentagem do desvio do erro relativo dentro de l – PRED(l), considerados padrões de fato para medir a acurácia. O nível l adotado foi o indicado pela maioria dos estudiosos como aquele que bons sistemas de predição deveriam apresentar: 0,25. Embora a MMRE seja o indicador mais utilizado, estudos apontam a importância de se utilizar a PRED(0,25) para efeito de comparação e de validação.

Durante a análise dos resultados, a MMRE apresentada por uma classe era bastante elevada; ao se avaliar o motivo, percebeu-se que alguns registros apresentavam fortes distorções, que acabaram por gerar altos valores da MRE. Esses poucos registros elevaram significativamente o resultado da média, sem efetivamente, representar esse aumento na média dos erros ocorridos. Essa avaliação confirmou, na prática, o relato de estudos que indicam o risco de a MMRE ser afetada por valores extremos ou por outliers. A PRED(0,25) dessa classe não foi afetada visto que a variação contaminou somente o próprio registro, não se propagando para o resultado da PRED, como foi o caso da MMRE. Reafirmou-se, com este trabalho, a importância do uso simultâneo dos dois indicadores, a fim de evitar que altas distorções nos dados prejudiquem a avaliação do modelo.

Em função da variação percebida, fica como sugestão para futuras evoluções da MEP: a) a retirada sumária de registros que apresentem MRE > 100,0 (duas demandas), em função

de que se tratam de informações que não representam a realidade;

b) a revisão de todos os registros com MRE > 9,0 (15 demandas) analisando-os para identificar desvios quanto às horas registradas frente à quantidade de horas previstas – nesse caso é possível ser necessário analisar os próprios pedidos de mudanças e os sistemas de alocação de horas da organização alvo.

e pelo MEP resultou em três classes com desempenho superior do MEP e três classes com desempenho superior do especialista. Ao avaliar o resultado do MEP nas classes em que não foi melhor que o especialista, verificou-se que isso se deu porque o MEP é menos performático nas demandas com menor número de horas, nas quais o especialista apresenta um melhor nível de acerto. Tal se deve, ao alto percentual de demandas com pequena quantidade de horas existentes nessas classes.

Analisando-se os dados, percebeu-se que duas faixas de dados podem ter o seu desempenho melhorado no MEP: faixa de uma a 80 horas e uma segunda faixa que vai de 81 a 300 horas. Promovendo-se a melhora da estimativa do modelo nessas faixas, há forte evidência que o MEP obterá resultados equiparados ao do especialista, se não melhores.

Percebeu-se ainda que, nas classes de baixo desempenho do MEP, há predominância de um mesmo valor para a estimativa, o que indica falta de informação para diferenciar uma demanda de outra e contribuir para variar o resultado da estimativa. Para melhorar o modelo, sugere-se pesquisar junto ao especialista de TI:

a) quais são os fatores que o levam a indicar uma demanda como de baixo consumo de esforço dentro das faixas mencionadas;

b) quais são outros fatores que não estão presentes nas variáveis de entrada mas que o especialista utiliza para fazer sua estimativa. De posse dessas informações, o modelo pode ser evoluído, para contemplar informação semelhante a fim de gerar dados mais precisos.

Comparando-se o resultado dos indicadores, têm-se para o MEP apresenta uma MMRE=4,09 e uma PRED(0,25)=0,16, enquanto o especialista uma MMRE=3,54 e uma PRED(0,25)=0,26. Esse fato indica, no geral, um melhor desempenho do especialista, embora os melhores índices sejam apresentados pelas classes em que o modelo é mais performático. Isso ocorre devido às três classes de melhor desempenho do especialista possuírem 90% da amostra dos dados.

Com o objetivo de se verificar o comportamento dos métodos, reduziu-se o nível de exigência de acerto ampliando-se a PRED gradualmente até o nível 6,05. Confirmou-se a ampla dispersão presente nos resultados das estimativas do MEP, sendo que, grande parte dessa dispersão é devida ao baixo nível de desempenho nas mudanças com baixa quantidade de horas.

níveis de avaliação de desempenho estabelecidos, o MEP apresenta-se como uma solução parcialmente aplicável. A aplicabilidade do modelo é completa para as três classes em que apresenta melhor desempenho: classe LM4, LM5 e LM6 que, de imediato, trará grande valor para o processo decisório, retirando nesses casos, a necessidade de envolvimento do especialista de TI de maneira definitiva. Isso gera valor para os processos organizacionais e de TI, pois promove a redução de custos. Quanto às três classes em que o MEP é menos performático, ele pode ser utilizado como mecanismo de apoio para o especialista de TI, que pode validar ou ajustar a estimativa. Isso porque se deve considerar que o resultado esperado dessa avaliação prévia não é de alta precisão, uma vez que a tomada decisão é realizada sobre outros fatores, além da estimativa de esforço.

O resultado apresentado neste estudo indica que o caminho para pesquisas na área de estimativa precoce, embora complexo e de resultado nem sempre preciso, é factível e deve ser incentivado. O MEP é um modelo que pode e deve ser aprimorado. Seguindo-se as recomendações acima mencionadas, provindas da experiência prática e teórica da construção, uso e aplicação do modelo, entende-se que, com algum esforço, o modelo poderá apresentar resultados equivalentes aos do especialista, vindo a contribuir com a redução de custo nas organizações de TI, além de permitir uma tomada de decisão mais rápida na implantação de mudanças evolutivas nas soluções existentes.

Esta pesquisa trouxe uma série de contribuições para o meio acadêmico e empresarial. Dentre elas, destacam-se:

a) Elaboração de uma metodologia para a identificação de parâmetros preditivos com base em informações preexistentes, e a construção de um modelo, utilizando-se das técnicas de KDD;

b) Incentivo a pesquisas para a construção de mecanismos automatizados de estimativa precoce de esforço de manutenção de software, sem envolver a área de TI para a realização da estimativa. Essa contribuição abre novos caminhos para pesquisas e estudos em estimativa precoce;

c) Incentivo às pesquisas que busquem novas tecnologias para reduzir os custos com a manutenção de software. É relevante considerar que poucas têm sido as evoluções na área de desenvolvimento de sistemas que permitam reduzir os custos da manutenção, quando comparado com as reduções de custo advindas do avanço tecnológico ligado ao hardware. Pesquisas que proporcionem a evolução tecnológica do desenvolvimento e a manutenção

de software devem ser incentivadas.

O resultado desta pesquisa abre novas oportunidades de estudos futuros ou mesmo de evolução junto à empresa-alvo. Uma oportunidade que trará significativos resultados é a de promover a evolução do MEP por meio de pesquisa junto ao especialista de TI a fim de identificar as informações utilizadas para identificar as demandas de pequeno esforço – uma a 80 horas e na faixa de 81 a 300 horas – que daria ao modelo uma evolução significativa, aprimorando-o substancialmente, conforme já mencionado.

REFERÊNCIAS

ABDEL-HAMID, Tarek K. Adapting, correcting, and perfecting software estimates: a maintenance metaphor. Boca Raton, Fl: IEEE – Computer, v. 26, p. 20-29, mar. 1993.

ABRAN, Alain; MAYA, Marcela. A sizing measure for adaptive maintenance work products. Boca Raton, Fl: IEEE – Software Maintenance, 1995. Proceedings., International Conference on, p. 286 – 294, oct. 1995.

AFZAL, Wasif; at al. Prediction of fault count data using genetic programming. Boca Raton, Fl: IEEE – Multitopic Conference, 2008. INIMIC 2008. IEEE Internacional, p. 349- 356, dec. 2008.

ALBUQUERQUE, Rafael M.; COSTA Ana P. C. S. Apoio multicritério a decisão e programação inteira 0-1 aplicados ao problema de priorização de sistemas de informação. In: ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO, 16., 2006, Fortaleza. Anais eletrônicos... Rio de Janeiro: ABEPRO, 2006. Disponível em: <http://www.abepro.org.br/bi blioteca/ENEGEP2006_TR460316_8331.pdf>. Acesso em: 29 set. 2009.

ALMEIDA, Adiel T.; COSTA Ana P. C. S. Modelo de decisão multicritério para priorização de sistemas de informação com base no método promethee. São Carlos: Gestão & Produção, v. 9, p. 201-214, ago. 2002.

AMOR, Juan J. et al. Effort Estimation by Characterizing Developer Activity. New York: ACM – International Conference on Software Engineering. Proceedings of the 2006 international workshop on Economics driven software engineering research, p. 3-6, 2006. ANTONIOL, G. et al. Estimating the Size of Changes for Evolving Object Oriented Systems: a Case Study. Boca Raton, Fl: IEEE – Software Metrics Symphosium, 1999. Proceedings. Sixth International, p. 250-258, nov. 1999.

BASILI, Victor et al. Understanding and Predicting the Process of Software Maintenance

Releases. Boca Raton, Fl: IEEE – Software Engineering, 1996. Proceedings of the 18th

International Conference on, p. 464-474, mar. 1996.

BHATT, P. et al. Dynamics of Software Maintenance. New York: ACM SIGSOFT Software Engineering Notes, v. 29, n. 5, p. 1-5, 2004.

BOUCKAERT, R. R. et al. WEKA Manual for Version 3-6-1. , Hamiltin-New Zealand: University of Waikato, jun. 2009.

COSTA Ana P. C. S. et al. Sistema de apoio a decisão para priorização de sistemas de informação. In: ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO, 12., 2002, Curitiba. Anais eletrônicos... Rio de Janeiro: ABEPRO, 2002. Disponível em: <http://www.abepro.org.br/biblioteca/ENEGEP2002_TR92_0762.pdf>. Acesso em 29 set. 2009.

DELUCIA, Andréa et al. Early Effort Estimation of Massive Maintenance Proceses. Boca Raton, Fl: IEEE – Software Maintenance, 2002. Proceedings. International Conference on, p. 234-237, oct. 2002.

DEMARCO, Tom. Controlling software projects. New York: Yourdon Press, 1982.

DOMINGUEZ, Jorge. The Curious Case of the CHAOS Report 2009. United Kingdon: Project Smart 2000-2009, publicado em 01/07/2009. Disponível em: <www.projectsmart.co. uk/the-curious-case-of-the-chaos-report-2009.html>. Acesso em:: 06/08/2009.

FENTON, Norman E.; PFLEEGER, Shari L. Software metrics: A rigorous and practical approach. 2. ed. Boston: PWS Publishing Company, 1997.

FIORAVANTI, Fabrizio; NESI, Paolo. Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems. Boca Raton, Fl: IEEE – Software Engineering, IEEE Transactions on, v. 27, p. 1062-1084, dec. 2001.

GALORATH, Daniel D; EVANS, Michael W. Software sizing, estimation, and risk management: when performance is measured performance improves. Boca Raton: Auerbach Publications, 2006.

HAYES, Jane H. et al. A Metrics-Based Software Maintenance Effort Model. Boca Raton, Fl: IEEE – Software Maintenance and Reengineering. 2004. CSMR 2004. Proceedings 8th

European Conference on, p. 254-258, 2004.

HIROTA et al. An approach to predict software maintenance cost based on ripple complexity. Boca Raton, Fl: IEEE – Software Engineering Conference, 1994. Proceedings., 1994 First Asia-Pacific, p. 439-444, dec. 1994.

IEEE. Guide to the software engineering body of knowledge. USA: IEEE Computer Society, 2004.

JØRGENSEN, Magne. A Review of Studies on Expert Estimation of Software Development Effort. USA: Journal of Systems and Software, v. 70, nº 1-2, p. 37-53, 2004. JØRGENSEN, Magne; MOLØKKEN, Kjetil. Combination of software development effort prediction intervals: why, when and how?. New York: ACM – SEKE – Proceedings of the 14th international conference on Software engineering and knowledge engineering table of contents, v. 27, p. 425-428, 2002.

JØRGENSEN, Magne; SHEPPERD, M. A Systematic Review of Software Development Cost Estimation Studies. Boca Raton, Fl: IEEE Transactions on Software Engineering, v. 33, n. 1, p. 33-53, jan. 2007.

KEMERER, Chris F. Progress, obstacles, and opportunities in software engineering economics. Communications of the ACM, v. 41, nº 8, p. 63-66, aug. 1998.

KULTUR, Yigit et al. ENNA: Software Effort Estimation Using Ensemble of Neural Networks with Associative Memory. New York: ACM – SIGSOFT 2008, p. 330-338, nov. 2008.

LAIRD, Linda M.; BRENNAN M. Carol. Software measurement and estimation: a practical approach. Hoboken: Wiley-Interscience and IEEE, 2006.

LI, Y. F. et al. Bayesian Inference Approach for Probabilistic Analogy Based Software Maintenance Effort Estimation. Boca Raton, Fl: IEEE - Dependable Computing, 2008. PRDC '08. 14th IEEE Pacific Rim International Symposium on, p. 176 - 183, dec. 2008. LYRA, Gabriela Marques et al. Modelo de decisão multicritério para priorização de sistemas de informação. In: ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO, 9., 1999, Rio de Janeiro. Anais eletrônicos... Rio de Janeiro: ABEPRO, 1999. Disponível em: <http://www.abepro.org.br/biblioteca/ENEGEP1999_A0156.PDF>. Acesso em: 29 set. 2009. LO, Bruce; GAO, Xiangzhu. Assessing Software Cost Estimation Models: criteria for accuracy, consistency and regression. Australia: Australasian Journal of Information Systems, v. 5, n. 1, p. 30-44, sep. 1997.

LOKAN, Chris; MENDES, Emilia. Using Chronological Splitting to Compare Cross- and Single-company Effort Models: Further Investigation. In Proc. Thirty-Second Australasian Computer Science Conference (ACSC 2009), Wellington, New Zealand: Bernard Mans (Ed.), p. 35-42, jan. 2009.

MCCONNELL, Steve. Software Estimation: Demystifying the Black Art. Washington: Microsoft Press, 2006.

MORESI, E. Apostila: metodologia da pesquisa. Programa de Pós-graduação Stricto Sensu em Gestão do Conhecimento e da Tecnologia da Informação. Brasília: UCB, 2004. Disponível em: <ftp://materiais.ucb.br>. Acesso em: 04/09/2007.