Estimativa de tempo

Introdução

Após alguns anos de experiência e diversas metodologias de trabalho as estimativas ficaram mais fáceis, porém elas eventualmente falham e, por isso, eu comecei a pensar um pouco sobre o assunto e depois de algumas pesquisas juntei tudo nesse post para que pudesse me guiar na hora de fazer alguma estimativa.

3 principais dificuldades na hora de estimar tempo

O que não sabemos que não sabemos

O que é mais estranho (e comum) na hora de estimar é ter que considerar o que ainda não conhecemos.

O pior é o que não sabemos que não conhecemos ainda.

A saída é sempre deixar uma gordura para queimar, o que nem sempre é a melhor coisa a se fazer.

Longos períodos de tempo

Quando temos que estimar um longo período de tempo, normalmente o fazemos de forma errada.

De certa forma, essa dificuldade está minimizada com a adoção de métodos ágeis, como o Scrum.

Qualquer tempo acima de 2 horas deve ser considerado um longo período de tempo.

Excesso ou falta de confiança

O desenvolvedor tende a ser presunçoso em relação ao tempo que vai demorar para realizar uma tarefa em que é muito competente.O oposto acontece quando não se domina o assunto e a tendência é que sejamos pessimistas.

Diariamente tratamos de ambos cenários, alguns dominamos e outros simplesmente nunca ouvimos falar.

Não se deve estimar algo que não se conhece, não faz sentido.

A solução para ambos os casos seria ter exata noção das tarefas que devem ser feitas e estimar cada uma separadamente.

5 dicas para nos tornamos melhores nas estimativas

Quebrar as coisas em pequenas partes

A única forma de estimar algo grande é quebrando em pequenos pedaços.

Da próxima vez que você precisar estimar uma feature, tente quebrar em pequenos pedaços e estimar cada um separadamente.

Uma história tem diversas tarefas e são elas que devemos estimar quanto tempo será necessário para desenvolvê-la.

Essa quebra não tem relação a quantos pontos a história representa no scrum, tente quebrar em tarefas que vão demorar no máximo 2 horas para serem realizadas.

Tenha um tempo para pesquisa

O desconhecido é algo imensurável, portanto devemos investir um tempo pesquisando sobre o que ainda não conhecemos.

Em vez de adicionarmos uma gordura para o que não conhecemos, esse tempo será muito melhor aproveitado, pois faremos uma estimativa melhor.

Mas como fazer isso no Scrum?

Simples! Olhe a lista de backlog antes do planning e já tente imaginar o que será necessário para a realização da história, quais tarefas serão necessárias e, caso necessário, faça a pesquisa dos tópicos que forem mais obscuros.

Meça seu tempo

É importante que saibamos quanto tempo precisamos para realizar uma tarefa.

É contraditório estimar algo que ainda não fizemos sem ao menos podermos dizer quanto tempo demorou para fazer uma tarefa que está concluída.

Quão absurdo é afirmar que somos bons em estimativas sendo que não conseguimos dizer quanto tempo levou determinada tarefa já realizada?

Comece a medir o seu tempo.

Defina tempo limite para as coisas

Aqui entra o meu mais novo método favorito de fazer as coisas.

Quando você define um tempo máximo para realizar determinada tarefa, você consegue.

É quase uma trapaça, mas funciona.

Imagine o cenário em que você tenha que escrever casos de teste para um TDD. Você não para de escrever cenários até que tenha 100% de cobertura, porém isso pode levar muito tempo.

Caso você defina um tempo máximo para criação de casos de teste, você focará seus esforços nos principais cenários e terá feito o que é importante primeiro, sem que tenha investido tempo em refatorações prematuras.

Assim como medir o tempo, definir um tempo limite tem que ser um hábito.

Revisar as estimativas

Repasse por todos as outras dicas e tenha certeza que fez a melhor estimativa.

Não consigo imaginar um cenário onde mais informações seja ruim, portanto, caso necessário, obtenha tantas informações quantas forem necessárias para que se tenha uma estimativa mais precisa.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: