• Nenhum resultado encontrado

3 ESTIMATIVAS DE SOFTWARE

3.1 O PROCESSO DE PLANEJAMENTO DE PROJETO

3.1.3 Estimativas do Projeto de Software

O processo de estimativas tem início com a determinação do tamanho do projeto de software. A partir do tamanho é possível determinar o esforço para construí-lo. Desse esforço, pode-se obter o cronograma e os custos do projeto. (VALENÇA, 2007).

Determinar o tamanho do software significa quantificar o trabalho a ser executado no desenvolvimento de um projeto usando uma determinada unidade de medida. Cada projeto pode ser estimado a partir do seu tamanho físico levando em conta, por exemplo, a especificação dos requisitos e a quantidade de linhas de código. Um projeto de software, também, pode ser estimado com base nas funcionalidades que o usuário obtém e na complexidade do problema que este software irá resolver. (FENTON; PFLEEGER, 1997; MCPHEE, 1999 apud FREIRE, 2008, p. 35).

Pressman (2006) afirma que a estimativa de um projeto de software será boa na mesma medida em que a sua estimativa de tamanho for bem realizada.

O cálculo do esforço para um projeto de software pode ser obtido a partir da estimativa de tamanho. O esforço pode ser entendido como a quantidade de trabalho necessária para completar uma atividade do projeto, sendo normalmente expresso em horas por pessoa. (PMBOK, 2004 apud FREIRE, 2008, p. 35).

O esforço de desenvolvimento de um projeto de software demanda um determinado prazo de execução que depende da quantidade de recursos alocados. A estimativa de prazo pode ser dada pela razão entre o esforço previsto e a quantidade de recursos alocados para o projeto. (FREIRE, 2008).

Segundo Sommerville (2003), o cálculo do custo total do projeto de software envolve os custos com hardware e software, custos com possíveis viagens e treinamentos e custos relativos ao esforço, ou seja, o pagamento da equipe do projeto.

Figura 3 – Derivando Esforço, Cronograma e Custo. Fonte: Valença (2007, p. 11).

Valença (2007) explica que para a realização de um processo adequado de estimativa devem ser levados em consideração as informações do escopo do projeto, prioridades, restrições e dados históricos de projetos anteriores.

O autor, também, afirma que a qualidade da estimativa depende de uma boa especificação dos requisitos iniciais do projeto. Ter habilidade para controlar as mudanças que ocorrem nestes requisitos ao longo da execução do projeto contribui muito para a obtenção de estimativas mais precisas.

Durante o ciclo de vida do software, as estimativas devem ser refeitas, pois, à medida que são obtidas mais informações sobre projeto, as estimativas tendem a melhorar. (PFLEEGER, 2007 apud FREIRE, 2008, p. 33).

Figura 4 – Processo de Estimativas. Fonte: Valença (2007, p. 10).

O processo de estimativa deve ser apoiado por uma técnica de estimativa. Esta técnica ou método de estimativa não constitui uma verdade absoluta, mas, sim, uma aproximação desta verdade em um determinado momento. Os métodos de estimativa devem ser revistos e calibrados com base no histórico das estimativas anteriores. (VALENÇA, 2007).

A seguir, serão descritas as técnicas de estimativas mais comuns.

Modelos paramétricos: Os modelos paramétricos assumem que existe um relacionamento matemático entre tamanho, esforço e cronograma e que estes relacionamentos são afetados por parâmetros mensuráveis. Estes modelos utilizam informações históricas de projetos anteriores para calcular as estimativas e usam o tamanho do software como base para estes cálculos. (MCGARRY et al., 2002 apud FREIRE, 2008, p. 29).

Analogia: A analogia tem como base a comparação entre projetos similares. Ela requer bastante conhecimento de ambos os projetos para que possam ser identificadas as principais diferenças e semelhanças. Essa técnica normalmente é realizada por um especialista com a ajuda de algoritmos de busca de projetos similares. (JORGENSEN; INDAHL; SJOBERG, 2003 apud FREIRE, 2008, p. 29).

Julgamento de especialistas: Essa técnica tem como base as experiências profissionais de especialistas que já trabalharam em projetos similares. Ela é muito útil na ausência de dados quantitativos. (FREIRE, 2008).

Modelo baseado em atividades: Essa técnica consiste em estimar tamanho, esforço, custo e prazo para atividades individuais. O valor global da estimativa é obtido através da soma das estimativas das atividades individuais. (MCGARRY et al., 2002 apud FREIRE, 2008, p. 29).

Relações simples de estimativas: Utilizam os modelos paramétricos de forma simplificada. Esses modelos têm como base os dados históricos de projetos anteriores e equações aritméticas simples, ao invés de modelos matemáticos complexos. (MCGARRY

et al., 2002 apud FREIRE, 2008, p. 29).

Sommerville (2003), ainda, descreve duas abordagens de estimativas que também podem ser usadas: top-down e botton-up.

Top-down: A abordagem top-down tem início a partir da análise do sistema como um todo. O responsável pela estimativa inicia a sua atividade examinando a funcionalidade geral do sistema. A partir dessa funcionalidade, ele calcula a estimativa das demais atividades e fases do projeto. Os custos com integração, gerenciamento de configurações e documentação também são levados em conta.

Botton-up: A abordagem botton-up tem início a partir da análise dos componentes. O sistema é decomposto em componentes menores, e é

calculada a estimativa para cada um deles. A estimativa total é calculada com base na soma das estimativas de todos os componentes.

Sommerville (2003) explica que cada técnica de estimativa tem os seus pontos fortes e fracos e que, em grandes projetos, é necessário utilizar várias técnicas para combinar os seus resultados. Caso os resultados sejam muitos diferentes, isso significa que as informações são insuficientes para se fazer a estimativa. É necessário obter mais informações e refazer as estimativas até que os resultados se igualem.

O autor também explica que é difícil produzir uma estimativa exata no estágio inicial do projeto. Isso ocorre, principalmente, pelo fato de que todos os requisitos do projeto ainda não são conhecidos. À medida que o projeto evolui e mais informações a seu respeito são obtidas, as estimativas também tendem a melhorar.

Documentos relacionados