Existe certo grau de interpretação ao contarmos os pontos por função em um projeto de software?

 

Apresente um projeto de software materializado a um grupo de gerentes. Solicite a eles que façam o calculo do tamanho do projeto utilizando pontos por função. Todos chegarão ao mesmo número? Uma experiência realizada por este blog garante que não.

Em um curso de métricas de software, apresentei um projeto de software (com 132 pontos) a 13 gerentes. Solicitei a todos o calculo de pontos por função do projeto. Veja só o conjunto de valores estimados:

Conjunto A (estimativas dos gerentes) = {105, 110, 121,124, 124, 125, 125, 128, 129, 129, 130, 132, 136}

Conjunto B (diferenças em %) { -20.45, -16.67, -8.33, -6.06, -6.06, -5.30, -3.03, -2.27, -1.52, 0, 3.03}

Ao apresentar os resultados várias questões foram levantadas. Neste post destaco algumas:

Se todos utilizaram a mesma técnica e os mesmos artefatos, por que não chegaram a um valor único, 130, por exemplo?

A diferença encontrada ocorre, porque embutimos certo grau de interpretação na leitura dos artefatos de um projeto de software.

Então sempre teremos diferenças nas nossas contagens?

Sim, em um projeto de software é interessante estabelecer aquilo que chamo de variação interpretativa, cerca de 10% para mais e para menos.

Na engenharia a exatidão não é importante?

Sim, a exatidão é algo extremamente importante em qualquer engenharia, inclusive na engenharia de software.

Então, não deveríamos procurar esta exatidão em nossos projetos?

Devemos sempre procurar a exatidão na engenharia de software, porém os artefatos gerados na maior parte dos projetos não possibilitam que ela seja mapeada. Para se ter uma exatidão dentro da nossa engenharia, é preciso trabalhar com uma linguagem formal para descrever os artefatos. É somente que com um alto grau de formalismo que iremos gerar artefatos claros, concisos e consistentes.

Por que então em nossos projetos não trabalhamos com linguagens desta natureza?

Todos sabem que a maioria das empresas não possui um processo de software institucionalizado. A institucionalização de um processo demanda certo investimento. As linguagens formais possuem um alto grau de rigorosidade simbólica descritiva, ao adotar uma linguagem de especificação formal dentro de um processo, este investimento será ainda maior. Este é apenas um dos fatos que levam as empresas a não adotar processos que possuem linguagens desta natureza.

Finalizando, volto a ressaltar que uma pequena variação na contagem dos pontos por função é, perfeitamente, aceitável. Na engenharia de software a maioria dos artefatos não é descrita com linguagens formais, e sim com a linguagem natural. Este fato nos leva a interpretar alguns pontos do projeto de forma diferenciada. Faça a experiência e confira.

José Augusto Fabri

2 Responses to “Existe certo grau de interpretação ao contarmos os pontos por função em um projeto de software?”

  1. Boa Tarde Professor

    É muito interessante suas matérias, porém as cores e o tamanho das fontes no BLOG não são legais. Poderia melhorar para tons mais suaves que não agridam a vista e fontes maiores.

    Obrigada

  2. […] 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…, texto 2 (É possível comprar a implementação de 1000 pontos por função para um projeto de […]

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: