Estimar tempo, custo e recursos para um projeto de software é um grande desafio empresarial, pois são diversos fatores que podem influenciar seu sucesso. Muitos dos fracassos que verificamos atualmente são decorrentes em sua maioria da ausência de planejamento e levantamento adequado do esforço para ter o projeto realizado. Muitos profissionais argumentam que mesmo que todas as funções sejam adequadamente apuradas, os resultados ainda não serão precisos pois existem diferenças técnicas dos profissionais que realizam atividades semelhantes, o que ocasionaria resultados divergentes.
A Análise de Pontos de Funções (APF), ou no original em inglês Function Point Analysis, é uma das principais técnicas utilizadas no mercado de software para dimensionamento do trabalho realizado. Originalmente idealizada por Allan Albrecht em um trabalho realizado em 1979, atualmente é mantida pela International Function Point Group (IFPUG). A certificação CFPS, ou Certified Function Point Specialist, gera grande valor para os profissionais que conseguem aprovação no exame.
A base da contagem deve ser realizada após a etapa de análise de sistemas, independentemente da metodologia utilizada. A criação de um protótipo é considerada boa prática pois facilita a identificação das funções da aplicação pelo ponto de vista do usuário, e após esta etapa identificamos e enumeramos as entradas externas, as saídas externas, os arquivos lógicos interno, arquivos de interface externa e as consultas externas. Logo a seguir classificamos de acordo com a complexidade cada uma das funções identificadas, por exemplo em simples, médio ou complexo, de acordo com parâmetros de complexidade publicados pela IFPUG. Por último clasificamos os pontos de função ajustáveis em conjunto, para estarem em conformidade com a complexidade de processamento.
Apesar de não apresentar acuracidade de 100%, a APF possibilita aos gestores de projetos de software contratar recursos e estimar tempo e custos. Em equipes maduras e utilizando-se de métodos de melhoria contínua é possível incrementar os percentuais de acerto. Além de ser uma atividade de grande complexidade técnica, existem fatores como a heterogeneidade dos recursos, que podem gerar grandes desvios, mas é melhor do que não existir planejamento algum.
--Marco Aurélio Monteiro de Barros Thomé
--Marco Aurélio Monteiro de Barros Thomé
Fontes:
Function Point Analysis - Training Course
David Longstreet
Longstreet Consulting Inc - Março de 2004 - SoftMetrics.com