Cansado de errar as estimativas dos projetos?
Veja 3 técnicas de estimativa para projetos de software que vão ajudar você a parar com o "chutômetro".

Cansado de errar as estimativas dos projetos?

“Eu gostaria de um software para gerenciamento da minha loja física, que seja integrado com a minha loja online. É coisa simples, pra cadastrar o cliente e controlar o processo de venda. Ah, e fazer o estoque né... Consegue estimar quanto custaria e qual seria o prazo para desenvolvimento e entrega?”

E aí, quem se habilita a calcular preço e prazo com esses requisitos?

Para quem entende um pouco sobre o processo de desenvolvimento de um software esse tipo de pergunta pode parecer brincadeira, mas é muito comum. Acreditem se quiser, já ouvimos algo similar de quem trabalha com desenvolvimento.

Muitos profissionais da área ainda estimam o tempo de execução de uma tarefa ou projeto de software no “chute”. Calcular custo e prazo de um serviço de desenvolvimento, com as métricas e estimativas fornecidas pela engenharia de software, não é uma tarefa fácil, mas é necessária para o sucesso do seu trabalho. Se você e sua equipe ainda não fazem isso, está na hora de tratar seus projetos com a seriedade que merecem.

Podemos utilizar algumas métricas para medir o tamanho do software, grau de dificuldade ou esforço a ser desempenhado em uma determinada tarefa, e com essa informação em mãos, é possível fazer estimativas muito mais precisas.

Para lhe ajudar, explicaremos rapidamente 3 técnicas que são muito utilizadas nos projetos de TI.

1 - Pontos por casos de uso

Através da técnica dos pontos de casos de uso, é possível estimar o tamanho de um sistema, partindo da perspectiva do usuário e suas ações. Com as informações dos atores (usuários) do sistema e dos casos de uso (ações), é construído o diagrama de casos de uso, que expõe as ligações entre eles. Para exemplificar, vamos pensar em um sistema bancário. Neste caso, os atores serão: cliente e gerente. As ações do cliente são: consultar saldo e realizar saque; enquanto o gerente pode, além disso, encerrar a conta. O diagrama ficaria assim:

É atribuído um peso para cada ator e para cada caso de uso, de acordo com a sua complexidade: baixa, média ou alta. Então, alguns cálculos são aplicados até chegar ao número de pontos de casos de uso. Alguns autores apresentam uma média de hora por caso de uso que pode ser aplicada, por exemplo, Karner aconselha a usar 20 horas. Porém, a experiência mostra que esse número pode variar de acordo com a realidade de cada equipe. Aí é só multiplicar os pontos de casos de uso pelas horas e pronto!

2 - Estimativa por analogia

A estimativa por analogia é feita com base em projetos anteriores que apresentam características similares, como tamanho, escopo e complexidade. Basta revisitar o tempo de esforço que foi empregado para a execução de um projeto já concluído, para estimar o tempo de duração do projeto atual.

Esse tipo de estimativa tem a vantagem de ser fácil, rápido e barato, porém, possui pouca precisão.

Apesar da desvantagem, pode ser uma alternativa quando o tempo para elaboração da estimativa é muito apertado e quando ainda não se tem informações detalhadas do projeto.

3 - Planning Poker

Depois do chute, o Planning Poker talvez seja a estratégia mais utilizada para estimar o tempo de desenvolvimento de um produto/tarefa de software. O processo de estimativa se torna dinâmico e interativo, envolvendo toda a equipe.

O método leva esse nome porque possui o formato de um jogo de baralho, em que as cartas são marcadas com números da sequência de fibonacci. Depois que a tarefa ficou clara para toda a equipe reunida, cada membro do time escolhe uma carta que expressa o grau de complexidade do projeto. Todos mostram suas cartas ao mesmo tempo, para evitar que a escolha de alguém influencie outros da equipe. Na sequência, a pessoa com o maior e o menor número explicam o porquê de suas escolhas e suas opiniões são discutidas. O processo é repetido até que haja convergência de toda a equipe para valores mais aproximados e então, caso ainda haja divergência entre dois números próximos, pode ser feita uma votação para que a maioria decida entre as duas opções.

Pronto! A equipe conseguiu quantificar o trabalho, mas calma lá, e a estimativa de tempo? Na verdade, a ideia do Planning Poker é de obter uma medida para o trabalho que deve ser desempenhado, não exatamente em horas. Porém, é claro que na maioria das vezes, para estimar custos e elaborar orçamentos, precisamos chegar a uma quantidade de horas de trabalho. Talvez no primeiro projeto seja necessário utilizar essa técnica em conjunto com o “chute” e na medida que o time vai ganhando experiência o gestor deve ir ajustando as métricas até encontrar a real capacidade de sua equipe.

Meça, documente e ajuste!

A primeira coisa que você deve fazer é medir o trabalho, através das métricas de casos de uso ou utilizando o Planning Poker, para então, medir o tempo com as métricas de hora por ponto de caso de uso, ou hora por ponto de esforço. A primeira experiência pode não trazer resultados satisfatórios e é por isso que você não deve parar por aí.

Documente! Registre a medida em que chegaram para o projeto e as estimativas. Ao concluir, registre também o tempo e o custo em que foi realizado. É nessa hora que as métricas devem ser ajustadas para que as estimativas dos próximos projetos sejam mais realistas.

O processo se repete: medir, documentar e ajustar. Com um histórico de projetos que tiveram seus tamanhos definidos, tempo de desenvolvimento estimados e realizados, fica muito mais palpável estimar um projeto futuro, aumentar a previsibilidade e melhorar os resultados!

Tenha em mente que não existe uma técnica melhor ou pior, mas existe uma estratégia adequada para a necessidade de seu time e projeto! Caso você ainda tenha alguma dúvida sobre como identificar as métricas e estimativas adequadas a sua necessidade, entre em contato conosco! Possuímos um time de especialistas que terá o maior prazer em ajudá-lo!

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos