Anlise de Pontos de Funo (APF) uma tcnica de medio das funcionalidades fornecidas
por um software do ponto de vista de seus usurios. Ponto de funo (PF) a sua unidade
de medida, que tem por objetivo tornar a medio independente da tecnologia utilizada para
a construo do software. Ou seja, a APF busca medir o que o software faz, e no como ele
foi construdo.
No Brasil, alguns usam o termo original do ingls: FPA - Function Point Analisys. Outros
usam termos parecidos como "Anlise de Pontos por Funo", "Anlise por Pontos de
Funo", ou "Anlise por Pontos por Funo", que so tradues ligeiramente diferentes da
traduo oficial - Anlise de Pontos de Funo.
As organizaes usam pontos de funo muitas vezes com diferentes propsitos Pode-se
destacar vrios benefcios da aplicao da anlise de pontos de funo nas organizaes:
- Prov auxlio aos usurios na determinao dos benefcios de um pacote para sua
organizao, atravs da contagem das funes que especificamente correspondem aos seus
requisitos. Ao avaliar o custo do pacote, o tamanho das funes que sero efetivamente
utilizadas, a produtividade e o custo da prpria equipe possvel realizar uma anlise do tipo
"make or buy".
O valor R$/PF ir variar de acordo com o trabalho exigido para a entrega das funcionalidades
do software de acordo com o padro tcnico e de qualidade solicitado pelo cliente, como
tambm conforme a quantidade de entregveis (artefatos, documentos, modelos, etc)
exigidos pelo cliente. Em resumo, tudo aquilo que afeta custo de forma significativa mas que
no tem relao direta com o tamanho medido pela APF acaba sendo computado no preo do
ponto de funo.
Em resumo, no existe um preo nico para ponto de funo. Deve-se avaliar o conjunto de
atividades relativas disponibilizao das funcionalidades medidas em pontos de funo, o
modelo de contrato que ditar a remunerao de um ponto de funo e tambm os aspectos
no funcionais que so desconsiderados na medio dos pontos de funo para obter uma
referncia confivel. A melhor alternativa para obter esta referncia analisar os projetos j
realizados. Para projetos j concludos uma informao certamente disponvel o quanto se
pagou ou se cobrou por cada projeto e quais atividades estavam compreendidas. Caso o
tamanho funcional (PF) dos projetos no esteja disponvel, pode-se obt-lo rapidamente
atravs de uma medio ou de uma estimativa; basta analisar seus requisitos. Tendo o preo
do projeto e o seu tamanho em pontos de funo, obtm-se o seu preo por ponto de funo
(R$/PF). No entanto provvel que sua organizao empreenda projetos de diferentes tipos.
Neste caso deve-se proceder a anlise do R$/PF para cada categoria de projetos, pois
dificilmente um preo nico ser representativo para projetos de tipos distintos.
A Anlise de Pontos de Funo (APF) uma tcnica para medir as funcionalidades oferecidas
por um software para seus usurios. E esta medio sempre feita numa perspectiva
externa; do ponto de vista dos usurios. Porm cabe destacar que o conceito de usurio para
a APF no apenas do usurio final do software. Usurio para APF qualquer pessoa ou
coisa que interage com o software a qualquer momento. Ou seja, usurio para APF pode ser
tanto uma pessoa agindo como usurio final do software ou tambm outro software que
utiliza servios do software em anlise.
Considerando que todo e qualquer software existe para oferecer um ou mais servios
(funes) para algum (pessoa ou coisa); ento conclui-se que todo e qualquer software
pode ser medido pela APF.
Um equvoco comum de alguns iniciantes com a APF usar como ponto de vista da anlise
apenas o usurio final. Neste caso alguns softwares sero parcialmente (ou completamente)
"invisveis" para este usurio. E da o iniciante conclui equivocadamente que a APF no serve
para medir aquele software. O mais comum o iniciante aprender os princpios da APF
aplicada a sistemas com telas e relatrios. Porm quando este se depara com softwares que
no possuem telas, softwares com processamento batch, middlewares, softwares bsicos,
natural sentir dificuldade em fazer a medio.
Vamos imaginar que o objetivo fosse medir um driver de impressora. Ora, no h um usurio
final (pessoa) para este tipo de software. Nesta perspectiva, o driver de impressora
"invisvel" para o usurio final. Porm o driver de impressora existe para oferecer servios a
algum; no caso o sistema operacional. Analisando portanto o driver de impressora na
perspectiva do sistema operacional, possvel enxergar funes; por exemplo: funes para
iniciar a impressora, informar a situao geral do dispositivo, ejetar uma folha, imprimir,
alertar tinta prxima do final, dentre outras.
Como o processo de contagem de pontos de funo?
Neste passo, o objetivo deixar bem claro o que se pretende atingir com a
contagem que ser feita; qual o problema que se pretende resolver com ela. A
forma como os passos seguintes so conduzidos depende diretamente desse
propsito.
( 1) Comunicao de Dados
( 2) Processamento Distribudo
( 3) Performance
( 5) Volume de Transaes
( 8) Atualizao On-Line
( 9) Complexidade de Processamento
(10) Reutilizao
- projeto de melhoria: EFP = [(ADD + CHGA + CFP) x VAFA] + (DEL x VAFB), onde:
A melhor forma de obter indicadores de produtividade que realmente sejam teis nas
estimativas com pontos de funo apurar esse indicador atravs dos projetos
desenvolvidos pela organizao. Mas como fazer isto?
O primeiro passo recuperar dos projetos passados as duas grandezas que compe o
indicador de produtividade: o tamanho (em pontos de funo) e o esforo (horas). Com
estes dois dados tem-se de forma direta a produtividade daquele projeto. Mas se cada
projeto tiver um nmero de produtividade diferente, qual deve ser empregado no projeto a
ser estimado?
Certamente que cada projeto pode apresentar um nmero distinto, mas se este
procedimento for repetido para um conjunto maior de projetos ser possvel observar que
para determinados subconjuntos a produtividade bastante similar. Isso acontece quando os
projetos tm caractersticas similares em relao aos fatores que afetam diretamente o
esforo para desenvolv-los. Logo, razovel concluir que dependendo da natureza dos
projetos desenvolvidos pela organizao, no haver um nico indicador de produtividade
para todos os projetos da organizao; mas sim indicadores de produtividade por grupos de
projeto similares. Sendo assim, o primeiro passo para estimar um novo projeto enquadr-
lo em algum grupo de projetos e s ento usar o indicador de produtividade adequado. Mas
quais so os fatores que definem esses grupos de projetos?
Sem a pretenso de estabelecer uma lista completa, pode-se citar os seguintes fatores:
H uma variao grande na produtividade da contagem de pontos de funo por dia para um
profissional, causada principalmente por:
- Deixar a contagem ser "contaminada" pela implementao: a APF uma tcnica para medir
requisitos funcionais de um software. Ou seja, mede o que o usurio solicita e recebe do
software independente do como este foi implementado. Logo, o resultado de uma contagem
de pontos de funo tem que ser o mesmo, seja qual for a soluo de implementao
(processo, arquitetura, ferramentas, ambiente computacional, etc) adotada pelo
desenvolvedor. Contar pontos de funo de um sistema um exerccio de abstrao do
problema de negcio do usurio que o software deve atender. Porm nem sempre isto uma
tarefa fcil e mesmo analistas de pontos de funo experientes podem desviar o foco da
contagem para a soluo de implementao do desenvolvedor. Muitas vezes o analista
induzido neste caminho por falta de documentao adequada.
Esta relao de fatores no est apresentada em nenhuma ordem especfica, mas bastante
representativa dos principais fatores que causam contagem de pontos de funo incorreta.
Qual a importncia dos requisitos do software para a APF?
Devido a esta importncia dos requisitos para a APF, quanto melhor a qualidade dos
requisitos, mais fcil e gil torna-se o processo de medio, e mais preciso o resultado.
Requisitos de qualidade ruim afetam negativamente todo o projeto de software, inclusive a
atividade de medio. Porm um efeito colateral benfico do processo de medio
justamente evidenciar falhas nos requisitos. Quanto mais cedo no projeto estas falhas forem
identificadas, menor o custo de corrig-las e maior a chance de sucesso do projeto.