Executando verificação de segurança...
2

Estimando Tarefas

Recentemente comecei a leitura do livro "O Mítico Homem-mês", de Frederick P. Brookz e uma das reflexões logo no começo do livro me fez pensar bastante sobre a dificuldade de estimar prazos para tarefas.

Acredito que todo desenvolvedor tenha que estimar quanto tempo vai levar pra realizar determinada tarefa. Percebo que a tendência é errar feio no começo, mas ao longo do tempo, com a maturidade do projeto e dominância da tecnologia utilizada, o desenvolvedor começa a aproximar o tempo de estimativa e de execução.

Porém existem muitas coisas que permeiam e podem distorcer essa estimativa, como a própria cultura de desenvolvimento que é aplicada na empresa. Portanto, vou deixar aqui um trecho do autor que traz uma técnica pra estimar:

1/3 planejamento
1/6 codificação
1/4 testes de componentes e testes iniciais do sistema
1/4 testes do sistema, todos os componentes disponíveis.

A minha conclusão aqui, é chamar a atenção pra quantidade mínima de tempo codificando. Temos a péssima mania de achar que tudo vai dar certo sempre e que imprevistos não acontecer. Acredito que reservando um tempo significativo planejando e um tempo maior ainda testando, a confiança naquilo que produzimos é instaurada.

Carregando publicação patrocinada...
2

Vale lembrar que esse livro é super antigo. Sua primeira edição é de 1975 e nós ainda cometemos muitos erros que esse livro já demonstrou quase 50 anos atrás. Chega a ser bizarro!

2

Estimar tarefas é mais difícil que programar (pelo menos pra mim).
Certa vez um gestor me falou de uma estratégia bem interessante que é uma unidade de medida chamada story point que é uma medida associada a dificuldade do trabalho, diferente das datas que não leva em consideração a trabalho envolvido.

Basicamente definimos quantos story points cabem na sprint do time e assim conseguimos montar as tarefas.

Mais sobre story points: https://www.atlassian.com/agile/project-management/estimation

1

Algumas técnicas também são utilizadas pra ajudar nas estimativas de tarefa, ainda mais sendo em um time com muitos devs e níveis de senioridade diferentes.
Uma que já utilizei e achei legal é o Planinng Poker, onde basicamente cada dev dava sua estimativa sobre uma atividade que foi apresentada (baseada em horas, story points, etc) e se tivesse muito discrepante, discutiam sobre a complexidade da atividade pra chegar numa estimativa comum, onde a estimativa serviria tanto pro Junior quanto pro Senior/Especialista da equipe (claro que isso seria num mundo ideal).

De toda forma, é um exercício bem legal ^^