• Nenhum resultado encontrado

2. Técnicas para Estimativa de Esforço de Software

2.4 Estudo Detalhado das Principais Técnicas de Estimativa

2.4.4 Técnica ISBSG

O International Software Benchmarking Standards Group (ISBSG) é uma organização sem fins lucrativos que mantém e explora dois repositórios de métricas de software:

1. Desenvolvimento de Software e Melhoria 2. Manutenção de Software e Suporte

A missão do ISBSG é ajudar a melhorar o gerenciamento de recursos de TI, tanto pelas corporações quanto pelo governo, através da provisão e exploração de repositórios públicos de conhecimento em engenharia de software, os quais são padronizados, verificados, atualizados e representativos de tecnologias correntes.

Os dados do repositório ISBSG podem ser usados para estimar métricas de projetos de software usando três técnicas de macro-estimativas:

1. Estimativas usando equações 2. Estimativas usando comparação 3. Estimativas usando analogia

2.4.4.1 Estimando Usando Equações

O ISBSG desenvolveu uma técnica interessante e útil de computar esforço baseado em três fatores: o tamanho de um projeto em pontos de função, o tipo de ambiente de desenvolvimento, e o tamanho máximo do time de projeto. Esta técnica envolve o uso de equações de regressão. Estas equações permitem a você calcular uma estimativa para uma métrica particular de projeto tal como esforço ou duração, simplesmente inserindo o tamanho calculado ou estimado do seu projeto na equação apropriada.

Esta técnica de estimativa é comumente usada para produzir estimativas indicativas (aproximadas) cedo na vida de um projeto. Esta técnica não é suficientemente apurada para produzir uma estimativa que poderia ser usada para propostas ou casos de negócios. Uma estimativa indicativa pode ser usada para uma indicação inicial de se uma idéia de projeto é exeqüível, ou quando você estiver com pouco tempo e sem informações detalhadas.

Centro de Informática – UFPE Página 54 O ISBSG produziu conjuntos de equações de regressão usando os dados do repositório ISBSG. As equações produzem uma estimativa em equipe por mês, assumindo 132 horas focadas em projeto por membro da equipe por mês (isto é, excluindo férias, feriados, dias de treinamento, encontros da empresa, e assim por diante). A fórmula Geral é uma fórmula de uso geral para uso em todos os tipos de projetos e é baseado em dados calibrados de cerca de 600 projetos. As outras categorias são calibradas com dados de 63 a 363 projetos.

Você pode usar estas equações para calcular as seguintes métricas de projeto: 1. Taxa de entrega do projeto (pessoas/hora por unidade de Ponto de Função) 2. Esforço (pessoas/hora)

3. Duração

4. Velocidade de entrega (unidades de Ponto de Função entregues por mês de calendário)

Equações são providas para:

1. Plataforma, (Mainframe, Midrange, PC)

2. Tipo de Linguagem (3GL, 4GL & Gerador de Aplicação)

É fácil usar as equações ISBSG. Tendo selecionado as equações apropriadas das tabelas providas, deve-se inserir o tamanho em Pontos de Função do seu projeto e o tamanho máximo da equipe, para produzir uma estimativa.

2.4.4.1.1 Tipo de Projeto: Geral

Pessoas/Mês = 0,512 * PontosDeFunção0,392 *TamanhoMáximoEquipe0,791

2.4.4.1.2 Tipo de Projeto: Mainframe

Pessoas/Mês = 0,685 * PontosDeFunção0,507 * TamanhoMáximoEquipe0,464

2.4.4.1.3 Tipo de Projeto: Midrange

Pessoas/Mês = 0,472 * PontosDeFunção0,375 * TamanhoMáximoEquipe0,882

2.4.4.1.4 Tipo de Projeto: Desktop

Pessoas/Mês = 0,157 * PontosDeFunção0,591 * TamanhoMáximoEquipe0,810

2.4.4.1.5 Tipo de Projeto: Linguagem de Terceira Geração

Centro de Informática – UFPE Página 55

2.4.4.1.6 Tipo de Projeto: Linguagem de Quarta Geração

Pessoas/Mês = 0,317 * PontosDeFunção0,472 * TamanhoMáximoEquipe0,784

2.4.4.1.7 Tipo de Projeto: Melhoria

Pessoas/Mês = 0,669 * PontosDeFunção0,338 * TamanhoMáximoEquipe0,758

2.4.4.1.8 Tipo de Projeto: Novo Desenvolvimento

Pessoas/Mês = 0,520 * PontosDeFunção0,385 * TamanhoMáximoEquipe0,866

Suponha que você esteja criando uma estimativa de esforço para uma aplicação desktop de 1450 pontos de função em Java e você tem um tamanho de time máximo de sete pessoas. A equação Desktop sugere que você irá ter um esforço de 56 Pessoas/Mês:

0,157 * 14500,591 * 70,810

Você pode também usar a equação de Linguagem de Terceira Geração para obter um estimativa de 58 Pessoas/Mês:

0,425 * 14500,488 * 70,697

Um aspecto interessante da técnica ISBSG é que as fórmulas para esforço dependem do tamanho máximo do time de projeto, com times menores produzindo estimativas de esforço total menores. Variar o tamanho máximo do time de 7 para 10 pessoas provoca a variação de 56 para 75 pessoas/mês. De um ponto de vista de estimativa, isto introduz incerteza. De um ponto de vista de controle de projeto, esta diferença pode levar você a usar um time de tamanho menor ao invés de um maior.

Centro de Informática – UFPE Página 56

2.4.4.2 Estimando Usando Comparação

Estimar usando comparação permite alcançar estimativas mais detalhadas que as obtidas usando equações de regressão. Estimativas usando comparação são alinhadas mais especificamente aos atributos do projeto sendo planejado, ao invés de se basearem nos atributos do projeto “médio” do repositório ISBSG.

O projeto planejado deve ser comparado com certo número de projetos do repositório ISBSG que têm atributos similares ao do projeto planejado. São usados os valores medianos para esforço, duração, etc., do grupo selecionado de projetos para produzir uma estimativa da taxa de entrega e velocidade de entrega do projeto, e consequentemente o esforço e duração do projeto.

Os passos são os seguintes:

1. Defina a plataforma aplicável ao seu projeto e identifique este subconjunto dos dados ISBSG.

2. Defina os outros atributos do projeto a ser estimado (ex.: linguagem, ferramentas, etc.).

3. Pesquise o subconjunto identificado dos dados ISBSG para os projetos com os mesmos atributos.

4. Para cada um dos atributos planejados do projeto, obtenha a mediana da taxa de entrega e velocidade de entrega para todos os projetos no repositório ISBSG que exibem aquele atributo.

5. Determine a média das medianas de taxa de entrega e velocidade de entrega do projeto.

6. O resultado é sua estimativa.

Considerando que os valores resultantes estão alinhados com os atributos específicos do projeto a ser estimado, eles são melhores estimativas da taxa de entrega e velocidade de entrega que os valores obtidos das equações que refletem o projeto “médio” do banco de dados.

Centro de Informática – UFPE Página 57

2.4.4.3 Estimando Usando Analogia

Estimativa baseada em analogia é outra técnica para macro-estimativa em momentos iniciais do ciclo de vida. Envolve selecionar um ou dois projetos completos que mais se assemelham às características do seu projeto planejado. Os projetos escolhidos, ou análogos, são então usados como a base para sua nova estimativa.

Estimativa baseada em analogia difere da estimativa baseada em comparação citada anteriormente, na medida em que a estimativa baseada em comparação usa as medianas de um grupo de projetos similares. Analogia opera com um, ou talvez dois projetos passados selecionados com base em sua forte similaridade com o projeto proposto. Comparando um projeto planejado com um projeto passado é comumente usado em uma maneira informal, consequentemente é uma técnica familiar para o praticante.

Estimar esforço de projetos de software por analogia envolve um número de passos: 1. Estabeleça os atributos do seu projeto planejado (tamanho, tipo de linguagem, etc.) 2. Meça ou estime os valores daqueles atributos de projeto.

3. Pesquise o repositório ISBSG para um projeto que se encaixe nos atributos do seu projeto planejado.

4. Use o esforço de desenvolvimento conhecido do projeto selecionado (análogo), como uma estimativa inicial para o projeto alvo.

5. Compare cada um dos atributos escolhidos (tamanho, plataforma, etc.).

6. Estabeleça ou ajuste a estimativa de esforço inicial à luz das diferenças entre o seu projeto análogo e o planejado.

É muito importante que se excluam análogos inapropriados e evite-se a tentação de adotar um análogo aproximado sem o devido cuidado.

Centro de Informática – UFPE Página 58