É possível comprar a implementação de 1000 pontos por função para um projeto de software?

Antes de iniciar a resposta, irei apresentar algumas definições sobre métricas de software e pontos por função.

A idéia de métricas de software está, intimamente, ligada à gestão e controle de projetos. Lembre da velha máxima de Tom de Marco: “em algum lugar agora um projeto está falhando…” Alguém está pagando caro por não ter estimado e planejado corretamente um projeto de software.

Pontos por função é uma das técnicas (ou métodos) que proporcionam estimar a complexidade de um software. Formalmente, FPA é caracterizado como um método que busca medir a complexidade de um software pela quantificação das funcionalidades. É importante ressaltar que tal método foi criado em 1974 pela IBM e foi, posteriormente, desenvolvido por Caper Jones e pelo International Function Point Users Group.

Para inferir os pontos por função em um projeto de software necessário mapear:

• Os arquivos lógicos internos; a quantidade de campos em cada tabela e a quantidade de tuplas estruturadas para armazenar os registros.
• Os arquivos de interface externa.
• As entradas e a saídas de dados fornecidas pelo software.

Após mapear os valores quantitativos, destacados anteriormente, é necessário qualificá-los segundo a sua complexidade: baixa, média ou alta (essa planilha pode ajudar). Por fim, é necessário aplicar o fator de ajuste nos pontos mapeados, tal fator pode aumentar ou diminuir em 35% o número encontrado. Definido o número de pontos por função ajustados é possível mapear o número de linhas de código por meio da tabela de conversão (veja uma experiência acadêmica realizada pelo autor deste texto).

Apesar da teoria de pontos por função ser datada de 1974, é possível perceber que a complexidade de um produto caracterizado como software toca os seguintes pontos: acesso e manipulação de arquivos internos e externos e elaboração de interface. Este fato determinou a estabilização do método, possibilitando assim, a sua aplicação durante todos esses anos.

Algumas empresas, aquelas que implementam os modelos qualitativos de software, aplicam (ou já aplicaram) pontos por função nas estimativas e, consequentemente, na gestão de seus projetos.

Não é trivial encontrar alguém que tope o desafio estampado no título deste texto. Vou mais além, acredito que a maioria das empresas não sabe o que representa um ponto por função dentro de seu escopo de produção. Lembre-se que a institucionalização da técnica de pontos por função ocorre junto com a estruturação de um processo de produção de software. A partir do momento que uma determinada empresa possui um conjunto de atividades bem definido, e nelas são gerados artefatos consistentes, é possível institucionalizar a técnica em questão. Destaco a necessidade de estabelecer uma base histórica de projetos, isto só acontece com o planejamento e controle de produção (pcp).

“Hei…!!! Você ou sua empresa consegue vender a implementação de 1000 pontos por função?”

José Augusto Fabri
Fundação Educacional do Município de Assis
Faculdade de Tecnologia de Ourinhos

Fontes de Consulta

Brazilian Function Point Users Group. http://www.bfpug.com.br.
International Function Point Users Group. http://www.ifpug.org.
Tabela de direcionadores de custos – aplicado na técnica de COCOMO.

22 Responses to “É possível comprar a implementação de 1000 pontos por função para um projeto de software?”

  1. Geraldo Xexéo Says:

    Na verdade, é bastante fácil encontrar uma empresa que tope esse desefio. Nos grandes centros, a prática é comum. O problema é a discussão do que é um ponto de função, pois as contagens, feitas muitas vezes por profissionais não certificados, tendem a diferir em até 200%.

    Porém, esse é certamente um dos melhores contratos possíveis de se fazer.

  2. O link da tabela está Quebrado!!!

  3. João Carlos Says:

    Guto, o link da planilha está quebrado.

  4. […] Como mapear o tempo/esforço de desenvolvimento em um projeto de software? O calculo do tempo/esforço de desenvolvimento em um projeto de software está intimamente ligado aos conceitos de métricas de software. No blog existe alguns textos alinhados a estes conceitos (texto 1 (Existe certo grau de  interpretação ao contarmos os pontos por função em um projeto de software), texto 2 (É possível comprar a implementação de 1000 pontos por função para um projeto de softw…, […]

  5. Pedro Henrique de Alencar Machado Says:

    Sim, compraria a tabela atualizada com os valores, pois seria umaq justificativa para cobrar um determinado valor pelo software. Como o autor baseia-se em uma teoria ja comprovada, poderia usar como justificativa do valor cobrado pela aplicação

  6. Pablo Paulo da Silva Says:

    Compraria, pois seria um meio de ter como base para cobrar os serviços prestados.

  7. vinicius de araujo coimbra Says:

    É possivel comprar, pois a tabela de 94 foi feita em épocas que linguagens como C# ainda não existiam e com tabela fica possivel calcular os custos.

  8. Vinícius Braga Gallo Says:

    Compraria, pois com essa tabela você tem uma base para colocar um valor justo no seu software e seria mais uma maneira de justificar ao cliente o preço que você colocou na aplicação.

  9. Compraria pelo simples fato de ser mais uma referencia de custo aplicado sobre o valor do produto final, tendo em visto que quanto mais informações dos valores cobrados sobre o produto, melhor para a transparência da equipe e da empresa

  10. Renan dos Santos Raquel Says:

    Eu não compraria uma tabela de conversão atualizada, ela pode até dar uma ideia de quantas linhas de código é necessário para implementar um ponto por função, mas isso dependeria principalmente de quem for implementar esse ponto por função, um desenvolvedor com menor experiência provavelmente criaria mais código do que um desenvolvedor mais experiente.

  11. Rafael Hideo Mikoda Says:

    Com relação a compra da tabela de valores, eu não compraria devido ao fato de que é possível fazer o calculo do valor de varias outras maneiras, onde essas podem ser encontradas de maneira gratuita (é só saber procurar).
    E se comprar, após um ou n anos teríamos que comprar outra tabela para obter os preços atualizados?
    Devido essas questão, não acho viável a compra. Mas é realmente interessante saber da existência desse método de calculo.

  12. Carlos Henrique P. Sousa Says:

    Sim! Compraria a tabela. Vale muito mais a pena planejar o software se baseando em custos e pontos de uma tabela atualizada do que em uma antiga. Se seu software esta sendo calculado com base na tabela antiga, esses valores podem estar inconsistentes, o que pode causar um certo prejuízo (ou não!).

  13. Vinicius de Alvarenga Says:

    Existem outras forma de se avaliar o preço de um software, no entanto uma tabela destas atualizada também pode ser um boa forma alternativa de se avaliar um preço de um software, mas eu não compraria.

  14. Sim, compraria, pois assim seria possivel eu me basear no valor padrão de serviçlo

  15. Alex Ricardo Says:

    Não compraria, pois procuraria me embasar e criar uma estatística em cima dos projetos desenvolvidos e assim definindo uma própria tabela referente aos projetos aos quais eu possa gerenciar ou coordenar.

  16. Jorge Nakagawa Says:

    Não compraria! A estimativa pode não bater de acordo com a realidade da minha implementação. E assim não irá bater com a realidade do mercado.

  17. […] unidade de medida utilizada na engenharia de software continua sendo a de pontos por função. Essa evidência pode ser constatada em uma consulta rápida ao mercado e aos grupos de usuários […]

  18. Ótimo post, foi útil para calcular os pontos por funções aqui para o meu tcc.

  19. […] Antes de executar o vídeo, sugiro que todos leiam este texto. […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: