Como melhorar as estimativas em seus projetos de software
"O processo é chamado de estimativa, não de exatidão."
Esta citação de Phillip Armour, que é um consultor independente, praticamente diz tudo. Às vezes pensamos que fazer uma estimativa implica estabelecer dados precisos sobre quanto tempo vai levar para executar uma tarefa, quanto nos custará para executá-la ou, até mesmo, quão complexo é, mas a realidade é: quem realmente tem o capacidade de adivinhar o que acontecerá no futuro? Então, por que esperamos que os dados que fornecemos ao gerar uma estimativa sejam tão precisos?
“O chamado julgamento especializado é o meio menos preciso de estimativa”
Diferentes estudos constataram que as técnicas de estimativa que visam comparar um projeto atual com um projeto passado, tomando apenas como referência a experiência das pessoas, são as mais utilizadas (McConnell, 2006). No entanto, essas técnicas de estimativa são as menos precisas (McConnell, 2006), pois têm uma alta correlação com os desvios de tempo do projeto (McConnell, 2006). Então, por que continuamos a usá-los?
A ciência das estimativas
Hoje, os pesquisadores dedicados a melhorar softwares de estimativa estão focados em melhorar as técnicas que permitem as organizações obtenham resultados de projeto de +-5% de variação de seus resultados de estimativa (McConnell, 2006). Essas técnicas são matematicamente intensivas e funcionam melhor quando combinadas com ferramentas de estimativa de software.
Nenhuma técnica de estimativa é perfeita
Como nenhuma técnica de estimativa é perfeita, o uso de várias abordagens é muito útil. Então, aqui estão algumas técnicas que podem ajudá-lo a melhorar suas estimativas de tempo sem precisar se tornar um guru de matemática e estatística para fazer isso:
Contar, calcular e julgar
Antes de usar o julgamento de especialistas, conta. Se não pode dizer, calcule. Se não pode calcular, julgue.
Contar -> Calcular -> Julgar
Aqui estão 3 atividades para você praticar essas técnicas:
Atividade 1 - Conta
Contagem - Quantas peças de lego existem?
Atividade 2 – Calcular
Calcular - Quantas bolas de bilhar estão na jarra?
Atividade 3 – Juiz
Juiz - Quantas crateras existem na lua?
1- Sem pesquisar no Google ou consultar qualquer outra fonte, apenas usando seu julgamento e experiência anterior, indique quantas crateras você acha que existem na Lua.
2- Em seguida, pesquise no Google e encontre uma fonte confiável para determinar quantas crateras a Lua possui.
3 - Reflita: quantas vezes você teve que adivinhar para estimar em seus projetos?Qual é a diferença de precisão quando você adivinha e quando você olha para uma fonte confiável?
Estimativa analógica
1- Procure um projeto ou atividade semelhante no registro de informações históricas
2- Estima o novo projeto ou atividade com base em informações históricas.
Exempo
1- Usando a tabela à esquerda, que representa dados históricos sobre o esforço para codificar formulários em uma empresa, determine quanto esforço seria necessário para codificar 4 formulários.
2- Se você olhar a tabela, encontrará um registro que, no passado, programar 4 formulários demandava 10 horas de esforço.
3- Usando uma estimativa semelhante, poderíamos dizer que executar novamente a atividade de programar 4 formulários exigiria um esforço de 10 horas.
Exercício
1. Usando a tabela do exemplo anterior e estime o esforço de uma atividade que consiste em programar 14 formulários.
2. O que você faria se encontrasse mais de um registro na tabela de registros históricos que representasse o valor que você está estimando? Você teria uma média? Você escolheria a maior quantidade de esforço dos três registros?
Estimativa paramétrica
Este tipo de estimativa usa um algoritmo para calcular esforço, duração ou custo com base em dados históricos e outros parâmetros. Como funciona:
1- Obtenha todas as informações históricas da atividade ou entrega que você vai estimar
2- Aplique o método dos mínimos quadrados ordinários.
3- Determina se as informações históricas disponíveis são aceitáveis para projetar o futuro
4- Estimar esforço, duração ou custo e determinar o nível de confiança da estimativa
Exemplo
Aqui está um exemplo desta técnica de estimativa. Recomendamos segui-lo ao pé da letra, mas depois de entendê-lo, tente alterar alguns dados para ver resultados diferentes.
Conclusões
- A melhor coisa que você pode fazer é experimentar diferentes técnicas de estimativa e descobrir os resultados por si mesmo.
- Não se esqueça de comparar os resultados de sua estimativa com os resultados de seus projetos.
- Encontrar e testar novas técnicas de estimativa.
- Pratique até se tornar um especialista em estimativas. Para obter mais informações, recomendamos que você baixe este whitepaper.