Experiência com base histórica de projetos

Vários interlocutores do blog ao se deparar com o post Institucionalizando o conceito de base histórica de projetos em empresas de produção de software solicitaram-me que compartilhasse mais experiências sobre a institucionalização de base histórica de projetos. Dentro deste contexto, este post visa apresentar um mecanismo, aplicado durante consultorias e treinamentos, para iniciar a construção de uma base histórica nas células de produção de código fonte.

Antes de apresentar o mecanismo, vale a pena definir novamente base histórica de projetos.

Uma base histórica tem como objetivo colecionar informações sobre os aspectos produtivos dentro de um projeto. Em empresas focadas na produção de software a base pode conter, entre outras informações, o tempo e o esforço para a execução das atividades do processo e o custo na produção dos artefatos. Por exemplo, duas pessoas trabalharam 10 horas para confeccionar o manual do usuário de um software qualquer.

O mecanismo:

  1. Durante o treinamento in-company (ou consultoria)  solicite que cada programador estime o tempo (em minutos) destinado para a implementação deste programa.
  2. Solicite a implementação do programa.
  3. Após a implementação, o programador deve informar: o tamanho do programa (em linhas de código – line of code – loc); o tempo real de implementação e; a linguagem de programação utilizada.
  4. Colecione as informações nesta planilha.

Ao analisar a planilha é possível perceber que na grande maioria dos casos o tempo orçado é diferente do tempo realizado.

É possível minimizar essa diferença?

Claro que sim. Perceba que neste momento temos um projeto já armazenado na base histórica, ele irá balizar a estimativa temporal para o desenvolvimento de um novo projeto – fato este solicitado no passo 5 do mecanismo,

  1. Solicite a implementação do novo do programa. Perceba que o programa possui semelhanças com o primeiro: quantidade de variáveis de entrada; instrução de calculo e comandos de decisão.
  2. Após a implementação, o programador deve informar novamente: o tamanho do programa (em linhas de código – line of code); o tempo real de implementação e; a linguagem de programação utilizada.
  3. Colecione as informações em uma nova planilha.

Ao analisar a nova planilha é perceptível que a diferença entre orçado e realizado foi minimizada em 70% dos casos – vide os números abaixo.

8, -12, -8, -2, 2, -1, -06, -2, -3, 5: diferença orçado e realizado planilha 1

-3,-05, -3, 0,  0,  0, -19, 0, -5, 0: diferença orçado e realizado planilha 2

Concluindo:

Uma base histórica de projetos consistente pode proporcionar uma melhora significativa no processo de estimativa de um projeto de software. Faça a experiência para a atividade de implementação, e por que não, para as demais atividades do processo.

José Augusto 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: