Análise Indicativa de Pontos de Função (Caso prático)

Análise Indicativa de Pontos de Função (Caso prático)

A Análise Indicativa de Pontos de Função (NESMA) é uma técnica de estimativa capaz de mensurar o tamanho de um software a partir de poucas informações sobre a interface com uma margem de erro de 16,5%. Isso permite que seja utilizada em cotações ainda nas fases iniciais do projeto e que seja utilizada em propostas.

Nesse post, vou mostrar como calcular, como transformar em horas, em custos e em preços. Com esse ferramental, sua empresa vai ganhar muita agilidade na composição de propostas de software.

Como fazer a Contagem Indicativa de Pontos de Função

Imagine um website em que vendedores de uma empresa entram para fazer cotações de pedidos. Os preços podem variar segundo a categorização de clientes, aos quais se oferecem descontos especiais.

Passo 1 – Mapear as entidades

Normalmente, entidades são elementos que gravam dados em banco, os famosos CRUDs. Mas, também podem ser elementos que consomem dados de outros sistemas, as APIs.

analise-indicativa-de-pontos-de-funcao-identificacao-das-entidades-v1

A figura lembra um Modelo Entidade-Relacionamento, mas não precisa necessariamente ter a cardinalidade nem os campos.

Passo 2 – Classificar as entidades

Às entidades que gravam dados e que não dependem de outras para existir chamamos de Entidades Fortes ou, na metodologia, ALIs (Arquivo Lógico Interno). Por exemplo: Quando pensamos na entidade Produtos, podemos inferir que um produto existe ainda que não haja cotações/orçamentos.

Já as entidades que consomem dados ou dependem de outras para existir chamamos de Entidades Fracas ou AIEs (Arquivo de Interface Externa). Por exemplo: A entidade orçamento só existe porque há produtos e clientes, logo, é uma entidade fraca. Um outro tipo de AIE são aquelas interfaces que acessam outros sistemas como a API de mapas do Google, um JSON de um sistema legado ou um REST do barramento de serviços.

analise-indicativa-de-pontos-de-funcao-identificacao-das-entidades-com-apis-v1

Adicionei duas APIs (abstratadas) ao exemplo para ilustrar melhor o conceito de AIEs. Nesta figura, as entidades já estão classificadas entre ALIs (verde escuro) e AIEs (verde claro).

Passo 3 – Contar os pontos de função

Uma vez que as entidades tenham sido classificadas, basta adicionar 35 pontos para cada ALI e 15 pontos para cada AIE, como mostrado na figura abaixo.

analise-indicativa-de-pontos-de-funcao-contagem-de-pontos-de-funcao-v1

Depois devem-se somar os pontos, no exemplo somam-se 265 pontos de função. Para facilitar o acompanhamento, baixe a planilha aqui.

analise-indicativa-de-pontos-de-funcao-contagem-de-pontos-de-funcao-total-v1

Passo 4 – Estimar as horas de trabalho

A média de mercado para linguagens mais robustas como o Java é de 13 hs / PF, incluindo todo trabalho de requisitos, design, desenvolvimento, testes e correções. Neste cenário, devem-se multiplicar os Pontos de Função pela produtividade média para ter uma referência:

265 pontos de função x 13hs/PF = 3.445 horas de trabalho

Pode parecer muito, eu sei, por isso que cada empresa deve manter sua própria média de produtividade. Outro motivo é que a produtividade varia de acordo com a equipe, linguagem, estabilidade da plataforma, reuso etc., fatores que devem ser avaliados a cada projeto.

Passo 5 – Calcular o custo

Para transformar as horas em custos existem duas formas:

1. Multiplicar o total de horas pelo custo médio

3.445 horas x R$ 100,00 = R$ 344.500

2. Segmentar o esforço de trabalho entre diferentes perfis para chegar a um valor mais preciso

analise-indicativa-de-pontos-de-funcao-precificacao-do-esforco-v3

Neste exemplo, distribuí o esforço entre os diferentes perfis e usei taxas-hora diferentes (aleatórias) para cada um. Fazendo a continha, cheguei ao valor de R$ 287.657,50. Da mesma forma, sua empresa pode calcular o custo médio se souber a distribuição do esforço por tipo de projeto, aí voltamos ao modelo 1, que é mais rápido de usar.

Passo 6 – Calcular o preço

Com os custos, pode-se calcular o preço, bastando multiplicar pela margem bruta esperada para o projeto. Para exemplificar, consideremos uma margem de 35%.

R$ 287.657,50 x (1+35%) =   R$  388.337,63

Lembre-se que trata-se da margem bruta do projeto, sobre ela ainda incorrerão impostos, custos operacionais e no final tem que dar lucro!! A área financeira da empresa é capaz de estimar a margem bruta esperada.

Depois disso tudo, basta montar o orçamento do projeto ao longo do tempo, para isso, siga esse tutorial sobre como fazer o controle financeiro de projetos. Se ainda não baixou  a planilha de exemplo, pode baixar aqui.

Nos próximos posts, comentarei mais sobre como manter uma base de conhecimento de produtividade e como estimar a margem bruta dos projetos. Agradecimento ao professor Daniel Breves Martins, que me apresentou essa técnica e, com isso, viabilizou incontáveis estimativas de projetos. Obrigado!

Eli Rodrigues

Publicado por: Eli Rodrigues

Há 1 comentário para este artigo
  1. César Augusto at 11:48

    Mais um post muto bom Eli! Parabéns.
    Principalmente por disponibilizar em conjunto sempre uma planilha para automatizar e facilitar a nossa vida!