Skip to content
como-estimar-o-esforço-para-o-desenvolvimento-de-software

Como estimar o esforço para o desenvolvimento de software

Um desenvolvedor de software se depara com uma série de desafios em seu dia a dia de trabalho, e um dos principais obstáculos enfrentados por um “dev” é como estimar o real esforço necessário para entregar o projeto de software. Demonstrar a quem financia o projeto a necessidade de recursos para a sua conclusão é fundamental, e caso essa etapa não seja satisfatória, o projeto pode nem começar. 

Diante das atividades diárias de um desenvolvedor de software, resolvi criar um texto com um pouco da minha experiência com a missão de estimar. 

Por que fazer estimativa de desenvolvimento de software? 

Quando estamos diante de um projeto de software, a principal pergunta que nos é apresentada é: “Quanto tempo você vai levar para entregar essa demanda?”. Nesse momento, por mais experiente que um dev seja, estimar tempo e prazo sempre será uma tarefa desafiadora. 

Podemos citar alguns dos motivos que atrapalham os profissionais na hora de estimar os prazos para o desenvolvimento de software:  

  • Desconhecimento dos requisitos do projeto;
  • Falta de conhecimento dos devs de como metrificar os processos de software;
  • Falta de análise dos requisitos antes de estimar;
  • Solicitações de mudança de escopo após o início do projeto;
  • Diferença na experiência e produtividade dos devs que fazem parte da equipe. 

Planejar é uma das principais atividades dentro de qualquer projeto, quando falamos em software não é diferente. Estimar prazos da melhor maneira possível é a garantia de que ao final o sucesso será alcançado. 

Quando o desenvolvimento não segue como planejado, os atrasos aparecem e os prazos estabelecidos não são cumpridos. Isso pode afetar toda a empresa, aumentando os custos e até causando prejuízos. 

Técnicas de estimativa 

Antes de qualquer coisa, é imprescindível decompor o projeto em atividades menores. Estimar o projeto como todo torna a tarefa ainda mais difícil e assim o risco de não prever alguns problemas se torna maior e o sucesso pode não ser alcançado. 

Existem inúmeras técnicas de estimativas para o desenvolvimento de software, e vamos listar aqui algumas para poder auxiliar nessa tarefa. 

Planning Poker 

A utilização dessa técnica é bem simples e pode ser utilizada em qualquer projeto. Para isso é necessário um baralho com os números das cartas baseado na sequência de Fibonacci (1,2,3,5,8,13,21,34 e 55), se a tarefa for maior que isso, ela é considerada grande de mais e deve ser quebrada em mais de uma tarefa. 

São necessários dois devs que vão ler os requisitos e então escolher uma carta que representa a quantidade de horas que ele levará para concluir a tarefa. Ambos mostram as cartas e se forem diferentes os tempos, eles devem explicar os motivos. Em seguida, refazem o processo e se ainda sim forem divergentes o maior valor é escolhido. 

Comparação 

Geralmente os times de desenvolvimento contam com profissionais bastante experientes e que já participaram de diversos projetos e assim, a técnica de comparação pode ser empregada utilizando dados de projetos anteriores como base de planejamento atual. 

Para isso acontecer da forma correta, é preciso manter uma documentação consistente onde seja possível buscar informações de prazos anteriores.  

Decomposição 

Essa técnica é bem simples, porém pode ser complexa e demorada quando se trata de projetos grandes. A ideia é dividir as atividades dentro do projeto até atingir tarefas mínimas que possam ser estimadas com maior exatidão. Podemos citar o exemplo do cadastro de clientes, deve-se dividir em cadastrar, editar e excluir dessa forma, fica mais fácil de estimar o tempo real de cada parte e para saber o tempo total do cadastro de cliente basta somar todas as estimativas. 

PERT ou Técnica dos três pontos 

Para calcular a estimativa, basta utilizar a fórmula PERT que aplica um peso maior para a estimativa mais provável sem deixar de considerar a pessimista e a otimista. 

PERT = (Pessimista + 4 x Provável + Otimista) / 6 

Exemplo: 

Otimista: 20 dias 

Pessimista: 35 dias 

Provável: 25 dias  

35+25*4+20/6=25,83

Nesse caso, a estimativa PERT para a tarefa é se 25,83 dias. 

Desvio Padrão  

Indica o quanto a duração calculada na fórmula ainda poderá variar para mais ou para mesmo. 

Desvio Padrão: Pessimista – Otimista / 6 

Seguindo o exemplo, temos: 

Desvio Padrão: 35 – 20 / 6 = 2,5 dias 

Ou seja, a atividade pode varia 2,5 dias para mais ou para menos. Para descobrir qual o desvio padrão do projeto como um todo, calcule a variância de cada atividade, some e tire a raiz quadrada do resultado para encontrar o Desvio Padrão do Projeto. e não somar os desvios padrão de cada tarefa.  

Variância: ((Pessimista – Otimista)) ² 
               6 

Considerações finais 

Estimativas de software são uma tarefa desafiadora para qualquer profissional de TI. Existe certa pressão e ocorre excesso de confiança em uma percepção subjetiva. No entanto, os maiores problemas na estimativa se derivam da forma como os requisitos chegam até a equipe: incompletos, subjetivos ou inexistentes. Então é iniciado um processo em que os devs tem o trabalho de tentar extrair o maior número de informações e decompor para transformar um requisito abstrato em um conjunto de partes concretas. 

Particularmente eu gosto de utilizar uma combinação das técnicas de decomposição e PERT (quando o projeto permite). Com a decomposição, tenho fluxos e processos menores o que facilita o entendimento da demanda e a técnica PERT mostra os pontos de atenção e que podem extrapolar os prazos. Com essa informação em mãos, a equipe pode tomar a decisão de detalhar melhor o requisito ou iniciar o projeto sabendo que tal tarefa necessita de mais atenção para garantir o sucesso da entrega. 

Bacharel em sistemas de informação pela Universidade do Oeste Paulista – UNOESTE e Mestre em ciências pela Universidade Tecnológica Federal do Paraná – UTFPR (Curitiba). Atualmente trabalha como desenvolvedor de software na DB1 Global Software.

Comments (0)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

O Tech Journey é o blog da DB1 Global Software. Focado em informações sobre o mercado de tecnologia, é feito com a participação de colaboradores e convidados.

Redes Sociais

Política de Privacidade

Canal de Ética

Uma Marca:

Selos e certificados:

Back To Top
Tech Journey | Blog | DB1 Global Software
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.