sexta-feira, 29 de maio de 2009

Análise de Pontos de Função (APF)

O gerenciamento de projetos de software não é algo completamente novo, já amadureceu muito, aproveitando idéias de diversas ciências e engenharias já existentes para que pudesse se tornar um projeto gerenciável.

Mas uma das dificuldades que este tipo de projeto encontrou foi o de gerenciamento de prazos. É razoavelmente conhecido como devemos proceder para estimar quanto tempo levaremos para produzir um prédio sabendo sua metragem, andares, planta, etc. Mas das métricas que foram criadas para medir o tamanho de um software, pontos de função é uma das mais bem aceitas.

Claro que não é qualquer projeto que precisa desta solução, mas consultorias são um bom exemplo de onde uma técnica como esta pode trazer resultados muito bons. Estimar errado o tamanho de um software para menos, pode gerar prejuízo (pagando por funcionários por mais tempo do que foi cobrado do cliente) e insatisfação (pelo atraso em si). Estimar o tamanho errado para o outro lado, também é um problema.
Afinal, você não quer ter que cobrar o dobro do estimado inicial só por segurança, quer? Não acha que é provável que outra consultoria consiga fazer um preço menor e mais justo? Pois é...

A IBM acabou criando e deixando em domínio público esta técnica que é aprimorada hoje em dia pela IFPUG, que nada mais é que transformar todas as funcionalidades que um software precisa fazer em um número (chamado de Pontos de Função). Uma descrição um pouco melhor de como é feita esta contagem pode ser vista neste artigo da presidente da Quality Plus Technologies em 1998, Carol A. Dekkers: http://www.bfpug.com.br/Artigos/Dekkers-PontosDeFuncaoEMedidas.htm. Mas não se preocupe, já existem até freewares que ajudam nesta contagem de pontos de função, como a APFPlus que pode ser encontrada no dia deste post pelo link http://www.bsb.netium.com.br/mecenas/apf.htm.

Baseado neste número, histórico da empresa, baseando-se no nível dos profissionais que vão implementar o software, nível de conhecimento deles na linguagem escolhida, quantidade de documentos que precisam ser gerados (variam de empresa para empresa, pode ter certeza) e inúmeras outras variáveis, é que se define quanto tempo levaria-se para produzir o software em questão.

Isto quer dizer que o sistema já é perfeito? Não. Certamente há muito o que melhorar neste cálculo e é até por isso que IFPUG continua desenvolvendo este padrão, conforme nossa maturidade com projetos de software aumente. Mas certamente é uma das melhores soluções que temos hoje em dia.

Nenhum comentário: