Minha opnião… já usei APF, atualmente não estou usando…
Serve para 2 coisas:
- Ter uma ordem de grandeza do software (em questão de pouco tempo, você sabe se o software vai ter muitos pontos de função ou não e saber mais ou menos o tamanho da encrenca).
- Justificar a cobrança de um trabalho , ex:
Imagina que você vai fazer um orçamento de reformar sua casa, em qual pedreiro você confiaria mais?
a) A reforma vai custar R$ 25 mil
b) A reforma vai custar R$ 10 mil para a sala, R$ 10 mil para a cozinha e R$ 5 mil para o banheiro
c) A reforma vai custar R$ 15 mil para a sala, pois você possui 4 paredes, no total de 20 metros quadrados e mais 8 metros quadrados de piso. Como eu cobro X para o metro quadrado do piso e Y para o metro quadrado da parede, este é valor e assim por diante.
Óbvio que isso não quer dizer nada… pode ser que o que cobrou mais barato faça o serviço até mesmo melhor e tenha lucro… como pode largar na metade e deixar na mão! Entretanto ter um argumento do porque do custo acaba ajudando em muitos casos (digo por experiência que a APF realmente já me ajudou)…
Entretanto, alguns cuidados são precisos:
- Você também pode subestimar a APF
- O preço do ponto de função terá de ser de acordo com a complexidade do projeto, equipe, etc…
Algumas coisas por ai que não concordo:
- Usar preço fixo de APF… as vezes são poucos pontos de função mais muita complexidade… o contrário também acontece!
- Chegar no cronograma a partir do ponto de função… são 100 pontos de função, 8 horas por PF, total de 800 horas, 5 desenvolvedores… 1 mês de trabalho… isso costuma dar muito errado!
O ideal que vejo é quebrar as atividades, fazer um cronograma baseado na dependência das mesmas e chegar e um tempo necessário (e assim medir o custo), isso tudo de acordo com as pessoas e recursos que forem utilizados no projeto.
Conflitar isto com a APF é bom pois usando as 2 técnicas, você consegue chegar em um chute um pouco mais preciso (se a apf ta muito alta você esta subestimando o trabalho… o contrário também pode ser verdade).
Não acredito em APF para utilização em projetos internos… Acho que ninguem melhor que o desenvolvedor para estimar e o coordenador para dar o aval!