MARLISE THERE DIAS UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS. São José (SC), março de PDF
MARLISE THERE DIAS UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS. São José (SC), março de 2009.
Download "MARLISE THERE DIAS UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS. São José (SC), março de 2009."
Nathalia de Sequeira Galindo
1 MARLISE THERE DIAS UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS São José (SC), março de 2009.
2 UNIVERSIDADE DO VALE DO ITAJAÍ CURSO DE MESTRADO ACADÊMICO EM COMPUTAÇÃO APLICADA UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS por MARLISE THERE DIAS Dissertação apresentada como requisito parcial à obtenção do grau de Mestre em Computação Aplicada. Orientadora: Christiane Gresse von Wangenheim, Dr. rer. nat São José (SC), março de 2009.
4 Dedico este trabalho a meu marido e meu filho, a minha família, aos amigos de verdade e a todos aqueles a quem este trabalho possa ser útil. iii
5 Você não sabe o quanto eu caminhei, pra chegar até aqui, percorri milhas e milhas antes de dormir, eu não cochilei... (Toni Garrido) iv
6 AGRADECIMENTOS Agradeço a Deus que me permitiu a vida e a quem recorri nos momentos de desânimo. Agradeço a toda minha família que sempre me apoiou. Em especial ao meu marido Alexandre, meu Filho Pedro Henrique que se furtaram de minha presença nos momentos de estudo. A meu pai e minha por me auxiliarem nos cuidados com meu filho e apoio para a finalização da dissertação. Agradeço também aos meus irmãos e cunhadas pelo sempre apoio. Agradeço ao professor Marcello Thiry pelo auxílio nas atividades iniciais para o ingresso ao mestrado, durante o curso deste e também na presença da banca desta dissertação. Agradeço a professora Christiane Gresse von Wangenheim, que com sua competência e paciência soube me conduzir ao final deste trabalho. Agradeço aos professores Anita Maria da Rocha Fernandes, Adhemar Maria do Valle Filho e Clenio Figueiredo Salviano pelas contribuições na banca. A todos os professores do mestrado com os quais convivi durante estes 2 anos o meu muito obrigada. Agradeço a todos os amigos que direta ou indiretamente contribuiriam para que eu chegasse ao fim desta jornada especialmente a Lu que sempre me incentivou nas horas em que tive vontade de desistir e pela ajuda durante as várias fases da criação da dissertação; a Fe e Alessandro pela compreensão no desempenho de atividades em comum; a Anita pelas conversas encorajadouras; Maiara pelas trocas nos momentos de desespero; e as amigas Jô e Manu que mesmo distante sempre me cobravam em forma de incentivo a defesa da dissertação. Amo todos vocês. Agradeço também aos colegas Maiara, Richard, Jean, Gisele e Alecir que participaram da avaliação do guia foco desta pesquisa, atividade crucial para a finalização do trabalho. Ao Mauricio Fiorese da empresa JExperts pela atenção em apresentar a ferramenta JExpChannel para este trabalho. Também a professora e colega Elisa Coral pela colaboração na fase final desta dissertação. Agradeço a UNIVALI por proporcionar este mestrado e também pela bolsa parcial recebida para auxiliar nos custeios deste programa. Estendo aqui meus agradecimentos ao professor Cesar Albenes Zeferino coordenador do mestrado pela atenção dispensada e a Maria de Lurdes Rodrigues dos Santos secretária do programa de mestrado pelo carinho que sempre me atendeu. Enfim, agradeço a todos que direta ou indiretamente contribuíram para a realização deste trabalho. v
7 UM GUIA PARA ESTIMATIVAS DE PROJETOS DE SOFTWARE EM MICRO E PEQUENAS EMPRESAS Marlise There Dias 03/2009 Orientador(a): Christiane Gresse von Wangenheim, Dr. rer. nat Área de Concentração: Engenharia de Software Palavras-chave: Gerenciamento de projetos, Planejamento. Estimativa. Número de páginas: 167 RESUMO A atividade de estimativa possui diferentes modelos/técnicas para executá-la e é tarefa exigida na adoção de modelos de melhoria de processo de software e guias de gerenciamento de projetos. No entanto, percebe-se que há por parte das micro e pequenas empresas (MPEs) de software dificuldades em aplicar tais modelos/técnicas de estimativa e também os modelos de melhoria de processo de software. Desta forma, este trabalho apresenta o desenvolvimento de um guia de estimativa de esforço e duração de atividades e tamanho de projeto para micro e pequenas em empresas de software alinhado aos modelos de melhoria de processo CMMI-DEV, MPS.BR e ISO/IEC e ao PMBOK como referência à gerência de projetos. A pesquisa caracteriza-se por ser aplicada e descritiva, utilizando-se como forma de coleta de dados para a criação do guia levantamento bibliográfico e documental. Para tanto, pesquisou-se as características das MPEs de software, aspectos teóricos dos modelos de melhoria de processo de software e do guia PMBOK e os principais modelos/técnicas de estimativas. A avaliação do guia utilizou-se do método GQM com profissionais de Engenharia de Software. O guia desenvolvido possui em sua estrutura aspectos teóricos sobre gerenciamento de projetos, planejamento e estimativas de software, além da apresentação dos modelos de melhoria de processo e guia PMBOK; descreve um processo genérico para a atividade de estimativa; detalha os modelos/técnicas de estimativas selecionados e templates e exemplos para estes; ferramentas voltadas à área; e ainda uma tabela de conformidade entre o guia e os modelos de melhoria de processo citados e o guia de gerência de projetos. A avaliação do guia demonstrou uma primeira indicação de que é viável sua aplicação em MPEs de software por apresentar conteúdo relevante e adequado sobre o tema. vi
8 A GUIDE TO SOFTWARE PROJECT ESTIMATES IN MICRO AND SMALL COMPANIES Marlise There Dias 03/2009 Adviser: Christiane Gresse von Wangenheim, Dr. rer. nat Concentration area: Software Engineering Key-words: Project management, planning, estimates Number of pages: 167 ABSTRACT The estimate activity has different models/techniques to be executed and it is a required task in adoption of software process improvement and project management guidelines. However, it can be noticed that micro and small software companies have some difficulties to apply such estimate models/techniques and also software process improvement models. Thus, this work presents the development of a guide to estimate activity effort and duration and also project size to software micro and small companies. The guide is aligned to process improvement models CMMI-DEV, MPS.BR e ISO/IEC and to PMBOK as a reference to project management. The research is characterized as being applied and descriptive, using collection of data to guide the creation of bibliographic and documentary guide. For this, characteristics of Software MPEs were researched, as well as theoretical aspects of software improvement models, PMBOK guide and main estimates models/techniques. The assessment guide used the GQM method with Software Engineering professionals. The guide presents theoretical aspects about project management, planning and software estimates, process improvement models and PMBOK guide; It describes a generic process to the estimate activities, detailing selected estimate models/techniques, templates and examples for those. It also presents specific tools to the area and a conformity table comparing the guide and the process improvement models cited and the project management guide. The guide evaluation showed a first indication that it is viable its application in Software Micro and Small Businesses for presenting relevant and adequate content about the theme. Keywords: Management projects. Planning. Estimative. vii
9 LISTA DE FIGURAS Figura 1 - Metodologia de criação e aplicação do guia Figura 2 - Atividades do planejamento de projetos Figura 3 Processo de estimativa genérico Figura 4 - Estimativas no Planning Poker Figura 5 Áreas de conhecimento e processos de gerenciamento de projetos Figura 6 - Componentes do grupo de Planejamento Figura 7 Componentes do modelo CMMI Figura 8 Componentes do MPS.BR Figura 9 Componentes da ISO/IEC Figura 10 - Estrutura de desenvolvimento do guia Figura 11 - Estrutura do Guia em capítulos Figura 12 - Processo genérico para estimar Figura 13 - Template para execução da técnica Pert Figura 14 - Template PERT: calculo das estimativas O, M, P Figura 15 - Template Pert: Cálculo da duração esperada Figura 16 - Template PERT: cálculo do desvio padrão viii
10 LISTA DE GRÁFICOS Gráfico 1 - Porte das empresas considerando a força efetiva de trabalho Gráfico 2 - Utilização de estimativas por empresas de software Gráfico 3 Variação do esforço para aplicar o guia Gráfico 4 Indicativo percentual sugerido de base no PMBOK Gráfico 5 Comparativo do percentual de alinhamento aos modelos de melhoria de processo ix
11 LISTA DE QUADROS Quadro 1- Relação de atividades dos passos referentes ao planejamento de projetos Quadro 2 - Pesos dos componentes de acordo com as complexidades Quadro 3 - Graus de influência das características de sistema da APF Quadro 4 - SLOC por pontos de função Quadro 5 - Relação número de transições e pesos de caso de uso Quadro 6 - Relação número de transições e pesos de caso de uso Quadro 7 - Fatores técnicos de complexidade Quadro 8 - Fatores ambientais Quadro 9 - Grau de influência dos fatores Quadro 10 - Obtenção de produtividade Quadro 11 - Direcionadores de cálculo Quadro 12 - Níveis das representações em estágio e contínua Quadro 13 - Níveis de maturidade do processo de gerenciamento de projetos MPS.BR Quadro 14 - Níveis de capacidade ISO/IEC Std Quadro 15 - Relação CMMI-DEV / MPS.BR / ISO/IEC Quadro 16 - Classificação das MPEs quanto ao porte Quadro 17 - Comparação entre os guias pesquisados e os requisitos do guia proposto Quadro 18 - Relação ferramentas e requisitos Quadro 19 - Relação ferramentas e modelos/técnicas suportados Quadro 20 - Alinhamento com o PMBOK Quadro 21 - Alinhamento CMMI-DEV, MPS.BR, ISO/IEC e o guia de estimativa Quadro 22 - Perguntas GQM e métricas Quadro 23 - Resumo dos procedimentos de coleta de dados x
12 LISTA DE TABELAS Tabela 1- Exemplo de dados de projetos Tabela 2 - Setores de atividades MPEs ( ) Tabela 3 - Dados pesquisa gerenciamento de projetos (GP) Tabela 4 - Utilização dos modelos de melhoria de processo em MPEs xi
13 LISTA DE EQUAÇÕES Equação 1 - Forma modelos paramétricos Equação 2 - Distância Euclidiana Equação 3 - Fórmula PERT Equação 4 - Fórmula Desvio Padrão Equação 5 - Cálculo do ponto de função não ajustado Equação 6 - Valor do fator de ajuste Equação 7 - Ponto de função ajustado Equação 8 - Cálculo do esforço Equação 9 - Cálculo do esforço Equação 10 - Total não ajustado de atores (unadjusted actor weights - UAW) Equação 11 - Cálculo do total não ajustado de caso de uso Equação 12 - Cálculo do total não ajustado de caso de uso Equação 13 - Calculo do FatorT Equação 14 - Cálculo do TCF Equação 15 - Calculo do EFactor Equação 16 - Cálculo do EF Equação 17 - Cálculo do FA Equação 18 - Cálculo do esforço (Pessoa/mês) Equação 19 - Fórmula-padrão para modelos algoritmos Equação 20 - Cálculo do conjunto simplificado de direcionadores de processo Equação 21 - Cálculo do esforço (pessoa-mês) Equação 22 - Fórmula para estimar prazo Equação 23 - Cálculo do F Equação 24- Fórmula PERT Equação 25 - Fórmula desvio padrão xii
14 LISTA DE ABREVIATURAS E SIGLAS BFPUG CASE CMMI COCOMO COSMIC-FPP EAP FP FPA GQM IFPUG ISO/IEC LQPS MCT MPEs MPS.BR NESMA PERT PMI QSM SEBRAE SEI SLOC SOFTEX UML UNIVALI UKSMA Brazilian Function Point Users Group Capability Maturity Model Integration Constructive Cost Model Common Software Measurement International Consortium Full Function Points Estrutura Analítica do Projeto Function Points Function Points Analyse Goal Question Metric International Function Point Users Group International Organization for Standardization/ International Electrotechnical Commission Laboratório de Qualidade e Produtividade de Software Ministério da Ciência e Tecnologia Micro e Pequenas Empresas Melhoria de Processo do Software Brasileiro Netherlands Software Metrics Association Program evaluation and Review Technique Project Management Institute Quantitative Software Management Serviço Brasileiro de Apoio às Micro e Pequenas Empresas Software Engineering Institute S Line of code Associação para Promoção da Excelência do Software Brasileiro Unified Modeling Language Universidade do Vale do Itajaí United Kingdom Software Metrics Association xiii
15 SUMÁRIO 1 INTRODUÇÃO MOTIVAÇÃO OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA Metodologia da Pesquisa Metodologia da Aplicação ORGANIZAÇÃO DO DOCUMENTO FUNDAMENTAÇÃO TEÓRICA GERÊNCIA DE PROJETOS PLANEJAMENTO Estimativas de software Tipos de Estimativas Modelos/Técnicas para Estimativas de Software PMBOK UM GUIA DO CONJUNTO DE CONHECIMENTOS EM GERENCIAMENTO DE PROJETOS MODELOS DE MELHORIA DE PROCESSO DE SOFTWARE CMMI MPS.BR Norma ISO/IEC Considerações sobre os modelos CONTEXTUALIZAÇÃO DO TRABALHO: MICRO E PEQUENAS EMPRESAS MPES DE SOFTWARE BRASILEIRAS CARACTERÍSTICAS DE MPES DE SOFTWARE ESTADO DA ARTE E DA PRÁTICA DISCUSSÃO DOS GUIAS PESQUISADOS DESENVOLVIMENTO DO GUIA DESCRIÇÃO xiv
16 5.2 PROCESSO GENÉRICO MODELOS E TÉCNICAS DE ESTIMATIVAS TEMPLATES EXEMPLOS FERRAMENTAS Considerações sobre as ferramentas AVALIAÇÃO DE CONFORMIDADE AVALIAÇÃO DO GUIA PLANEJAMENTO DA AVALIAÇÃO EXECUÇÃO ANÁLISE DOS DADOS COLETADOS AMEAÇAS A VALIDADE CONCLUSÕES RECOMENDAÇÕES E TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICES xv
17 1 INTRODUÇÃO De acordo com Drucker (1989), as empresas são impulsionadas a investir para se manterem num mercado complexo e dinâmico, independente de seu porte. Atualmente, com os investimentos das organizações em softwares que facilitem o desenvolvimento de suas atividades há uma preocupação das empresas de software em atender bem aos clientes e para isso buscam uma estrutura que lhes permita fornecer a estes, produtos de qualidade de acordo com suas necessidades (MIT, 2002). Neste contexto, encontram-se as micro e pequenas empresas de software (MPEs), que de acordo com MCT (2002) estão em torno de 70% no Brasil, se utilizado o critério de força de trabalho, ou seja, número de funcionários para definir o porte destas. Conforme SEBRAE (2004) empresas com até 9 funcionários considera-se micro empresa e de 10 a 49 empregados pequena empresa. Estas, perante o aumento de demanda de mercado, necessitam adotar estratégias que possibilitem seu crescimento e desenvolvimento com qualidade (UEHARA, 2003). Isto implica no fornecimento e produção de software ou serviço com qualidade e produtividade. No entanto, percebe-se em pesquisa do Standish Group (1994) que 31,1% dos projetos são cancelados antes de serem finalizados e 52,7% ultrapassam o custo estimado; apenas 16,2 dos projetos são concluídos no tempo e com o orçamento previsto. Uma pesquisa mais recente do Standish Group (2004) afirma que 27% dos projetos são finalizados dentro do tempo e com o custo previsto, que 40% dos projetos são cancelados antes de terminarem e que 50% dos projetos em média custam 180% a mais do que foi estimado inicialmente. Pode-se perceber que houve uma melhora no que se refere aos projetos com sucesso de 16% para 27%, porém este número ainda é preocupante visto que não equivale nem a metade dos projetos. Ainda em trabalho mais recente Charette (2005) afirma que de 5% a 15% dos projetos na área de Tecnologia da Informação são abandonados antes ou logo após o seu início; outros serão modificados em funcionalidade e orçamento até o final, e poucos serão completados com sucesso. Charette (2005) ressalta ainda que quando um projeto falha pode por em risco a sobrevivência da empresa. Nas MPEs este fator é ainda mais relevante, pois iniciam suas atividades com um capital baixo e trabalham sempre no limite. De acordo com o SEBRAE (2004) 49,4% das MPEs de vários setores no Brasil até 2002, tiveram um tempo máximo de vida de 2 anos e as
18 principais causas foram falta de capital de giro e problemas financeiros, o que confirma uma possível mortalidade da empresa no caso de um projeto com insucesso, considerando o investimento inicial das MPEs. Outro fator de mortalidade ressaltado foi a forte concorrência. No contexto das MPEs de software, para manter-se no mercado e crescer, estas necessitam de soluções em engenharia de software efetivas (RICHARDSON e WANGENHEIM, 2007). No entanto, de acordo com pesquisa realizada pelo MCT (2005), as MPEs em sua maioria dependem demais de seus recursos humanos, pois se utilizam de um processo de desenvolvimento de software informal. Em sua grande maioria acreditam que modelos de referencias e padrões/normas despenderiam recursos e tempo demais, sendo muito difíceis de serem aplicadas (RICHARDSON e WANGENHEIM, 2007). Desta forma, para que se mantenham competitivas no mercado uma solução às MPEs é o investimento na melhoria de sua qualidade e produtividade, que pode ser visualizada em seu produto final (WEBER; HAUCK; WANGENHEIM. 2005). Tipicamente, o desenvolvimento de um software ou serviço é considerado um projeto, sendo este um esforço temporário para criação de um produto ou serviço único (PMI, 2004). No entanto, torna-se necessário o planejamento e acompanhamento deste projeto para que se obtenha o produto esperado. Sendo assim, a adoção de um modelo de gerenciamento de projetos de software pode possibilitar as MPEs qualidade e produtividade no processo de criação e obtenção de um produto final. De acordo com Jalote (2002), entre as causas mais comuns para o insucesso em projetos está a falta de uma metodologia de gerência de projeto, justificando a carência das empresas de software na adoção destas. De acordo com PMI (2004), o gerenciamento de projetos é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos. O objetivo do gerenciamento de projetos é entregar ao cliente um produto/serviço de qualidade que está dentro do escopo, do tempo e do orçamento determinados no planejamento do projeto (PMI, 2004). Neste sentido, este projeto trata de uma das áreas relacionadas ao gerenciamento de projetos, considerada crucial para obtenção de um desenvolvimento de software adequado, o planejamento. Nesta atividade seus vários processos e interações definirão um plano para que o projeto possa ser gerenciado (PMI, 2004). Wysocki e McGary (2003) afirmam que o planejamento de projeto é indispensável, além de apresentar a maneira como o trabalho deve ser desenvolvido, torna-se uma 17
19 ferramenta para tomada de decisão. O planejamento do projeto fornece informações para o desenvolvimento e controle das atividades do projeto (SEI, 2006). Entre as atividades do planejamento de projeto, uma das áreas que apresenta maior dificuldade e complexidade e que será o foco deste trabalho é a de estimativa em projetos de software. De acordo com Harman (1998), na maior parte das vezes há uma subestimação em projetos, por isso considera a estimativa atividade crucial em qualquer projeto mesmo o que parece ser o mais simples. Em um projeto com estimativas pobres existe a possibilidade das organizações desenvolvedoras e os patrocinadores tomarem decisões baseadas em informações sem grande confiabilidade (THOMSETT, 2002). Conforme PMI (2004), um projeto envolve estimativas de parâmetros de projetos como tamanho do produto e atributos duração e esforço de atividades e do projeto. Esta primeira estimativa é determinante para a previsão das demais e é avaliada considerando o código do software ou funcionalidades deste (SOMERVILLE, 2004) A estimativa da duração de atividades define o número de períodos de trabalho (por exemplo, em horas ou semanas) necessário para execução de cada tarefa destacada no cronograma. (PMI, 2004). Esforço refere-se há quanto tempo (por exemplo, podendo ser medidas em pessoa/hora, pessoa/mês) cada pessoa envolvida no projeto levará para executar cada atividade definida no planejamento. Atualmente várias técnicas são utilizadas para realizar estimativas no domínio de software, incluindo Pontos por Função FP (ALBRECHT, 1981), análise por ponto de casos de uso (KARNER, 1993), estimativa baseada na experiência do especialista, com base em dados históricos, métodos como Modelo construtivo de custo COCOMO (BOEHM, 1981) e Wideband delphi (BOEHM, 1981) entre outros. 1.1 MOTIVAÇÃO Percebe-se conforme Standish Group (1994), que entre as principais características apontadas de falhas em projetos de software está a superação do custo e do tempo. A primeira apresenta 214% (em pequenas empresas) acima da estimativa inicial e a segunda em 239% (em pequenas empresas). Estes dados confirmam que a aplicação das técnicas existentes não está trazendo o resultado esperado. Torna-se relevante verificar que este fato pode ocorrer pela falta de 18
20 adoção das técnicas/modelos existentes e/ou por estes não serem direcionados as MPEs e por este motivo não estarem sendo adotados. Aliado a isto, as micro e pequenas empresas apresentam dificuldades na aplicação nos modelos e normas de melhoria de processo de software existentes (PMI, 2007a). Um dos fatores é o fato de modelos como o CMMI-DEV (SEI, 2006) e a norma ISO/IEC (ISO/IEC Std , 2005), terem sido direcionados principalmente para grandes empresas. Outro ponto é que estes modelos não foram desenvolvidos com intuito de apresentar descrições ou definições da melhor forma de realizar estimativa e de quais técnicas seriam interessantes dependendo da organização (SEI, 2006; ISO/IEC , 2005; SOFTEX, 2007). Esta característica também é observada no MPS.BR (SOFTEX, 2007), modelo brasileiro criado objetivando pequenas e médias empresas, mesmo apresentando um guia de implementação não tem como objeto o detalhamento das atividades relacionadas a estimativa de software.. Desta forma, modelos e normas se tornam, na visão das MPEs demorados, caros e difíceis de serem implantados segundo Johnson e Brodman (1997), no que se refere ao CMM para pequenas organizações. A falta de modelos específicos para este tipo de empresa pode levar a não adoção de uma metodologia para a gestão de seus projetos (JOHNSON e BRODMAN, 1997). Desta forma, este trabalho está direcionado para suportar o processo de estimativa de projetos de software alinhando aos modelos para gerenciamento de projetos e a modelos e normas de qualidade existentes. Pergunta de pesquisa Desta forma, esta pesquisa pretende responder a seguinte questão: A utilização de um guia de estimativas contribui, em termos de facilidade e eficiência, para definição de um processo de estimativa de projetos (tamanho de software, duração e esforço de duração) em MPEs de software, de forma a orientar na implementação desta atividade alinhada a modelos de melhoria de processo de software? 19
21 Proposta de solução Este trabalho propõe a criação de um guia para estimativas de parâmetros de projeto, envolvendo esforço e duração de atividades; e atributos de produtos de trabalho como tamanho, aplicado às MPEs de Software. Pretende-se com base nos métodos e técnicas de estimativas existentes apresentar opções que estejam adequadas e alinhadas as características de uma MPE. Também será considerado como base para este trabalho o guia de gerência de projetos PMBOK (PMI, 2004), além de modelos e normas de qualidade e produtividade de software como CMMI-DEV (SEI, 2006), a norma ISO/IEC (ISO/IEC Std , 2005) e o MPS.BR (SOFTEX, 2007). Justificativa Pretende-se através da existência e utilização de um guia para estimativas voltado para o contexto de MPEs de software, facilitar a tarefa de realizar estimativas em MPEs, fazendo com que estas tenham projetos mais viáveis e por conseqüência tornando a execução destes mais precisos. Isto pode aumentar a competitividade e o sucesso das MPEs e conseqüentemente será uma possível contribuição para evitar a mortalidade tão precoce de tantas empresas deste porte. Além disso, poderá favorecer ao aumento de precisão no processo de estimar em micro e pequenas empresas de software, reduzindo, por exemplo, o tempo/esforço que os responsáveis necessitam para estimar. Este guia servirá como orientação aos consultores que realizam a implantação de programas de melhoria de processo baseado em modelos ou normas de qualidade e produtividade de software em MPEs, para a escolha de técnicas de estimativas que possam ser utilizadas pela empresa e permitam o alinhamento aos modelos. Cabe salientar, que a atividade de estimar é um processo dentre os vários que devem estar adequados aos modelos e normas para a obtenção de avaliação pelas empresas, assim a utilização do guia poderá contribuir também na obtenção de avaliações oficiais das MPEs no que se refere a padronização do processo de estimar. Outro fator que pode ser considerado em relação ao uso do guia é que por estar alinhado a modelos internacionalmente reconhecidos, ele pode contribuir indiretamente para a inserção destas empresas no mercado exterior. De acordo com SOFTEX (2005), em pesquisa realizada com 30 empresas com valores significativos de exportação, quatorze empresas brasileiras que exportavam software eram de pequeno e médio porte. Entre as barreiras citadas para exportação de software 20
22 encontra-se a falta de certificações de qualidade e técnicas. Além disso, o relatório cita como fatores críticos para competitividade no exterior a qualidade de produtos, pontualidade, preço de venda e custo de produção. Logo, percebe-se que a proposta apresentada pode também auxiliar as MPEs na busca de um mercado fora do país, pois os recursos e o tempo estimados fazem parte dos aspectos apontados que comprometem a competitividade no mercado externo. 1.2 OBJETIVOS Objetivo Geral Estabelecer um guia para estimativa de esforço e duração de atividades e tamanho do produto de trabalho para micro e pequenas empresas de software alinhado aos modelos de melhoria de processo CMMI-DEV, ISO/IEC e MPS.BR e ao PMBOK como referência a gerência de projetos Objetivos Específicos OE1. Identificar as características das MPEs e de seus processos de software, em particular no cenário nacional a partir da literatura, enfocando estimativa. OE2. Analisar os requisitos referentes ao processo de estimar da área de processo de planejamento de projeto no PMBOK e nos principais modelos de melhoria de processo CMMI-DEV, MPS.BR e ISO/IEC OE3. Analisar modelos/técnicas existentes para estimativas relacionadas às características de MPEs identificadas. OE4. Analisar ferramentas existentes na área de estimativas relacionadas às características de MPEs identificadas. OE5. Estabelecer diretrizes para a seleção dos modelos/técnicas e ferramentas do guia. OE6. Desenvolver o guia com base em modelos/técnicas e ferramentas existentes na área de estimativas de projeto de software. 21
23 OE7. Avaliar o guia por meio de experiências práticas de profissionais certificados em modelos de melhoria de processo. 1.3 METODOLOGIA Para melhor compreensão dos métodos que foram utilizados nesta dissertação, este tópico será dividido em metodologia da pesquisa e metodologia da aplicação Metodologia da Pesquisa Este tópico descreve as características da pesquisa que tem como objetivo a solução da situação problema identificada. As pesquisas podem ser utilizadas para diversos fins, seja para formular ou testar teorias. A pesquisa pode ser definida como um processo formal e sistemático que desenvolve o método científico, em que o principal objetivo é encontrar as respostas para os problemas, empregando o uso de procedimentos científicos (GIL, 1994). Este estudo utilizou como base do desenvolvimento do guia de estimativas os modelos de melhoria de processos CMMI-DEV, MPS.BR e ISO/IEC A partir dos resultados da comparação do PMBOK e os referidos modelos das características das MPEs e seus processos de softwares; e da análise dos modelos e técnicas existentes para realizar estimativas relacionadas às características das MPEs, obteve-se a descrição da realidade do fato em estudo, cujo interesse prático circunda na aplicação futura de um guia. Desta forma, este trabalho classifica-se como uma pesquisa aplicada. No entendimento de Gil (1994), a pesquisa aplicada caracteriza-se pelo interesse na aplicação, utilização e conseqüências práticas dos conhecimentos, além de se preocupar com a aplicação imediata na realidade circunstancial, porém está estreitamente relacionada com a pesquisa pura, uma vez que depende dos resultados e desenvolvimento da mesma para sua aplicação. Sobre pesquisa aplicada, contemplam Marconi e Lakatos (1999, p. 22) [...] caracteriza-se por seu interesse prático, isto é, que os resultados sejam aplicados ou utilizados, imediatamente, na solução de problemas que ocorrem na realidade. Já Oliveira (2001) explica que a pesquisa aplicada tem por objetivo pesquisar, comprovar ou rejeitar hipóteses sugeridas pela teoria, aplicando-se a diferentes necessidades humanas, considerando determinadas teorias como ponto de partida. 22
24 Os objetivos OE1, OE2, OE3 e OE4 vislumbram a descrição dos fenômenos em estudo, com intuito de oportunizar aos pesquisados o conhecimento profundo e detalhado da realidade estudada, possibilitando a comparação, levantamento e registro de características que abordam o PMBOK, modelos de melhoria de qualidade de software e MPEs. Quanto à pesquisa descritiva destaca-se o pensamento de Oliveira (2001) em que sustenta que este tipo de estudo permite identificar diversas formas dos fenômenos, bem como analisar as variáveis de causa e efeito. Enfim, pode-se dizer que o estudo descritivo fornece ao pesquisador a compreensão do comportamento de diversos fenômenos. Com base na descrição dos fenômenos são atendidos os objetivos OE5 e OE6, que estão baseados no desenvolvimento do guia de estimativas. Estes por sua vez, reforçam a característica aplicada deste estudo e se fundamentam em uma pesquisa bibliográfica construída a partir dos pensamentos de teóricos a cerca do PMBOK, CMMI-DEV, ISO/IEC e MPS.BR. Destacase que, segundo Marconi e Lakatos (1999) a pesquisa bibliográfica aborda o levantamento, a seleção e a documentação de bibliografias já publicadas, sobre o assunto pesquisado, e tem como objetivo proporcionar ao pesquisador contato direto com o material já escrito sobre o mesmo. Em especial quanto às informações sobre as características das MPEs, foram descritas por meio de pesquisas disponíveis no site do MCT (Ministério da Ciência e Tecnologia) e outras pesquisas relacionadas ao tema. No que diz respeito ao OE7, destaca-se que aborda conceitos e resultados que norteiam as análises deste estudo, pois pretende apresentar um cenário de avaliação da aplicação do guia Metodologia da Aplicação Por meio da comparação entre o PMBOK e os principais modelos de melhoria de processo de software CMMI-DEV, MPS.BR, ISO/IEC , obteve-se parâmetros adaptáveis as MPEs de forma a selecionar, com base nas características destas, modelos/técnicas de estimativas alinhadas aos modelos em destaque. Tendo como base o PMBOK, esta descrição envolve como parâmetro avaliativo esforço, duração de atividades e tamanho de software. Realizou-se também, a análise das ferramentas existentes na área de gerenciamento de projetos e estimativas. Inicialmente, foram levantadas por meio de pesquisas as ferramentas e a seguir elencaram-se requisitos desejáveis a estas. Em seguida as ferramentas foram executadas a 23