Estimativas a partir de uma base histórica de projeto – uma nova experiência

Neste post apresentei uma experiência, realizada durante treinamento e consultoria, sobre base histórica de projetos.

Hoje pretendo utilizar as bases geradas [1 e 2] para estimar o tempo e o tamanho (em linhas de código), nas linguagens C e JAVA, de um projeto de software com as seguintes características:

a) leitura de 4 variáveis de memória.

b) o programa possui uma estrutura de decisão e uma estrutura de repetição.

c) o programa possui um procedimento de calculo – a média aritmética das variáveis.

Para realizar as estimativas vou partir da base 2, pois ela foi inferida a partir dos valores gerados na base 1.

Importante: As características do projeto apresentado neste texto possui a mesma características da especificação do projeto utilizado para gerar a base histórica 2 (leitura de 5 variáveis, um procedimento de calculo (para juros composto) e uma estrutura de decisão).

Na referida base é possível perceber:

  • 6 programadores trabalham com a linguagem C, 4 com a linguagem Java e 1 deles com ti-basic;
  • A média produtiva para C é de 10 minutos, em Java é 14;
  • O número médio de linhas código produzido por programador em C é de 27, em Java é de 21;
  • Os programadores em C produzem 2,6 linhas de código por minuto, os programadores em Java produzem 1,5;
  • O maior tempo de produção de um programador em C é de 12 minutos em Java é de 20.

Configurando as estimativas a partir da base:

Estimando o tempo

É possível estimar o tempo de produção de duas formas:

  • 1 – a partir da média produtiva (10 minutos para C e 14 para Java) – neste caso assumiria que o tempo para desenvolvimento do projeto apresentado neste texto seria de 12 minutos em C e 17 minutos em Java (acréscimo de 20% em média – esse acréscimo é uma sugestão), visto que no projeto é necessário implementar uma estrutura de repetição, estrutura esta não implementada no projeto que gerou a base histórica 2.
  • 2 – a partir do maior tempo de produção (12 minutos em C e 20 em Java) – neste caso assumiria que o tempo para desenvolvimento do projeto apresentado neste texto seria de 15 minutos em C e 24 minutos em Java (acréscimo de 20% em média), lembrando que no projeto em questão é necessário implementar uma estrutura de repetição.

Estimando o tamanho

Para estimar o tamanho vou utilizar o número médio de linhas de código produzido por programador, 27 em C e 21 em Java, acrescentando 20%, novamente lembrando que no projeto em questão é necessário implementar uma estrutura de repetição. Neste caso chegaríamos a casa de 32 em C e 25 em Java.

Conclusões

Estimar o tempo utilizando a forma 2 pode minimizar, ainda mais, os possíveis atrasos durante o desenvolvimento do projeto. As estimativas relacionadas a tamanho não impactam diretamente nos marcos de entrega do software e sim no esforço, este fato me levou a delinear tal métrica a partir do número médio de linhas de código.

Fabri – fabri@utfpr.edu.br

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: