Estimativa de Esforço de Desenvolvimento de Software Apoiado por Dados Históricos
A gestão do ambiente de software não está vinculada somente a um projeto ou a um produto específico e sim, ao conjunto dos projetos e produtos da instalação como um todo. É o nível tático de gestão. Neste nível, a preocupação é avaliar a qualidade dos processos de estimativa de esforço, de planejamento de projetos, de desenvolvimento de software e de gestão dos produtos quando em utilização, visando atingir patamares cada vez mais elevados de qualidade sob o conceito de melhoria contínua.
A gerência, criando os padrões de medidas para a instalação e tendo uma base histórica das medidas realizada, fica em posição de monitorar o comportamento dos projetos e produtos individualmente, analisar resultados, compará-los e verificar a adequabilidade dos respectivos processos e necessidades de implementar melhorias. Além disto, possui uma grande fonte para subsidiar a estimativa de esforço de desenvolvimento de software.
Para tanto, as medições operacionais devem ser agregadas a fim de permitir: a análise de tendências de determinados indicadores, que podem subsidiar ações para reversão ou sustentação dessas tendências; a análise de impactos na introdução de novas tecnologias sobre qualidade e produtividade, que pode auxiliar na decisão sobre quais combinações de elementos de tecnologia garantem melhores resultados; a análise de atributos, que permite a comparação da qualidade e produtividade entre plataformas, metodologias, áreas de aplicação, habilidades técnicas de pessoas e assim sucessivamente.
A exigência de precisão na estimativa de esforço desenvolvimento de software desempenha um fator crítico de sucesso no gerenciamento de projeto de software. A maioria dos modelos de softwares de estimativa de esforço existentes só compara a acurácia da estimativa de esforço a partir de dados históricos, sem agregação. Um fator potencial que pode afetar a exatidão da estimativa de esforço feito a partir de modelos estabelecidos é a homogeneização dos dados.
Gerentes de projetos de Software geralmente estimam esforços de desenvolvimento de software, custo e duração nas fases iniciais do ciclo de vida do software, a fim de planejar, acompanhar e controlar a alocação dos recursos nas atividades do projeto. Em função disto, a precisão na estimativa do esforço de desenvolvimento de software desempenha um fator crítico de sucesso do desenvolvimento de software ou projetos de manutenção. Muitos métodos de estimativa de esforços têm sido propostos durante as últimas duas décadas. Estes métodos incluem estimativa por peritos, analogia à base de cálculo e estimação paramétrica.
O método paramétrico de estimativa de esforço é uma das abordagens mais amplamente utilizada. Um modelo paramétrico é baseado na aplicação de métodos estatísticos para obter estimativas de esforço. Existem muitos fatores que podem afetar a precisão das estimativas de esforço em modelos paramétricos. Um fator importante é o histórico das características dos projetos de software utilizados para estabelecer modelos de estimativas de esforços.
É sabido que a estimativa de esforço de software é uma questão importante para a gestão de projetos. A estimativa de esforço de desenvolvimento de software pode ser obtida a partir do tamanho do software e da produtividade do seu processo de desenvolvimento. Atualmente a Análise de Pontos de Função destaca-se como uma abordagem largamente utilizada para estimar tamanho de software, enquanto que os valores de produtividade são extraídos de bases de dados históricos internacionais.
Alguns dados apresentam valor médio de produtividade de vários projetos, enquanto outros apresentam dados de acordo com algumas caracterizações específicas de projetos. A definição das características que impactam no projeto de software pode melhorar a comparação da produtividade entre projetos acabado e novas estimativa de esforço.
Várias técnicas de estimativa e ferramentas estão disponíveis para predizer a quantidade de tempo e esforço necessário para desenvolver sistemas de software. A maior parte destas técnicas exige uma ampla variedade de fatores, incluindo dados históricos, complexidade das medidas, o nível de habilidade da equipe, limitação do projeto, e uma estimativa do volume de código (o tamanho do projeto).
Em particular, temos de definir claramente o processo de estimativa, os profissionais devem receber a formação adequada, todos devem seguir o processo, e temos de avaliar os resultados de eficácia. Existem apenas alguns poucos métodos de estimativa de tamanho de software reconhecido. A geração de estimativas de tempo e esforço confiáveis depende fortemente da aplicabilidade das técnicas de precisão em pelo menos uma estimativa de tamanho já existente.
O resultado da estimativa é influenciado pelo ambiente de desenvolvimento. Por consequência, a relação entre o dimensionamento do tamanho e o esforço de desenvolvimento não é diretamente aplicável a outras equipes ou em diferentes domínios problema, línguas, sistemas, etc.
A precisão da estimativa de esforço pode melhor a confiança do cliente a partir de dois aspectos: primeiramente, melhorando a consistência das estimativas e em segundo, melhorar o envolvimento e comunicação com o cliente, fazendo com que ele tenha conhecimento dos esforços em conjunto, bem como as incertezas existentes nas estimativas.