A maioria dos projetos e demandas exige um previsão de esforço, prazo e custo antes das suas aprovações para execução. Embora já existam movimentos emergentes contrários ao conceito de estimativas em alguns círculos da comunidade ágil (#noestimates), as estimativas são necessidades básicas em praticamente toda organização, inclusive naquelas que já usam métodos ágeis.
Nesse sentido, compilo aqui 5 técnicas que analistas, coordenadores e gerentes podem usar ao se deparar com o problema de estimativas em métodos ágeis.
Mas antes que falemos das técnicas, devemos nos lembrar de três pontos muito importantes da prática de estimativas.

1.Reconhecer que estimativas são apenas… projeções imprecisas. Estimativas, por definição, tem erros associados. Alguns estudos na TI mostram que a variabilidade das estimativas realizadas no fase inicial de projetos é de +- 4x .

Fonte: Cone da incerteza, Steve McConnell

2.Não confundir estimativas, compromissos e metas. Estimativas são projeções realizadas com um grau de incerteza e que tentam prever um estado futuro. Ao mesmo tempo, as estimativas devem ser baseadas em algum racional técnico e estatístico. Já as metas não normalmente arbitradas por gerentes e não possuem racional estatístico associado. Saber separar estas duas informações é importante para reduzir o conflito, buscar compromissos viáveis e não cair na armadilha da orçamentação (ver figura). Um compromisso é normalmente um número que se posiciona entre a estimativa e uma meta gerencial.


Fonte: Dilbert.com (todos os direitos reservados)

3.Usar técnicas de contagem sempre que possível. Se não for possível, usar técnicas de cálculo. E se não for possível, usar técnicas de julgamento.

Uma forma simples de entender esta regra seria pensar em uma tarefa de estimativa do número de cadeiras e mesas que um determinado salão de festas suportaria. A técnica mais precisa seria literalmente contar as cadeiras e mesas em um ambiente similar e fazer alguma analogia. Na impossibilidade da contagem, podemos fazer cálculos baseados nas dimensões das cadeiras, mesas e do salão. E na impossibilidade de cálculo, podemos recorrer a especialistas que fazem julgamentos baseado nas suas experiências anteriores.
Apresentados os avisos sobre estimativas, vamos às técnicas.

Técnica 1 — Contagem Antecipada de Pontos de Função por Técnica Indicativa [Categoria: Contagem]

Esta técnica é super simples e demanda apenas que você conte quantas entidades o seu sistema irá manter (ALIs) e quantas entidades o seu sistema irá interfacear (AIEs). E depois basta multiplicar os ALIs por 35 e o AIEs por 15. Simples e direta.
E o mais interessante é que existe uma boa correlação estatística desta técnica com a contagem detalhada de pontos de função. O gráfico de correlação abaixo foi gerado pelo instituto europeu de contagem de pontos de função que criou esta técnica, o NESMA.

Técnica 2 — Contagem Antecipada de Pontos de Função por Técnica Estimativa [Categoria: Contagem]

Aqui você identifica e conta as entidades e também as transações. Cada entidade mantida soma 7 pontos, cada entidade externa soma 5 pontos, cada entrada externa soma 4 pontos, cada consulta externa soma 4 pontos e finalmente cada saída externa soma 5 pontos.
Um exemplo passo a passo de como usar as técnicas 1 e 2 é mostrada aqui no site da Fatto.

Técnica 3 — Planning Poker com as Mãos [Categoria: Julgamento]

Esta técnica se baseia no tradicional planning poker, mas com uma diferença crucial que é o uso das mãos para gerar os pontos de cada história. Cada pessoa usa a sua mão na hora de votar e pode portanto indicar os valores 1, 2, 3, 4 e 5. Isso dá mais dinamismo ao jogo e permite realizar sessões com mais velocidade que a técnica tradicional.
Devemos lembrar que todos devem votar simultaneamente, pois uma das premissas do planning poker (que é um tipo de prática Wide Band Delphi) é não gerar viés de influência para os participantes da dinâmica.

Técnica 4 — Estimativa por Três Pontos [Categoria: Julgamento]

Aqui o especialista estima o tamanho de uma tarefa baseado em três parâmetros: o valor médio, o valor pessimista e o valor otimista. Depois ele utiliza os três pontos para fazer o cálculo do valor estatisticamente provável e o desvio padrão associado. O valor provável (E) é calculado como: (4* valor médio + valor pessimista + valor otimista)/6. Já o desvio padrão (SD) é calculado como: (valor pessimista — valor otimista)/6.
Com estes dois números podemos agora expressar a nossa estimativa com um grau de confiança estatística conforme tabela abaixo:
Nível de confiança do valor de E +/- SD é aproximadamente 68%
Nível de confiança do valor de E +/- 1.645 * SD é aproximadamente 90%
Nível de confiança do valor de E +/- 2 * SD é aproximadamente 95%
A técnica dos três pontos é usada como insumo na técnica PERT, para a organização de cronogramas e caminhos críticos. A técnica PERT é hoje implementada em ferramentas gerenciais como o MS Project ou Primavera.

Técnica 5 — Estimativas por Analogia [Categoria: Cálculo e Julgamento]

Aqui você observa o comportamento de projetos similares ao seu (em termos de tamanho ou tecnologia) e usa estes dados para estimar o tamanho, tempo ou custo do seu projeto. Existem hoje muitas ferramentas que podem ser usadas para suportar este trabalho. Uma ferramenta livre que utilizo há mais de 10 anos para o suporte a estimativas ágeis é o Construx Estimate. Com entradas muito simples, como a quantidade de pontos de função do projeto e o custo médio do seu time, ela projeta faixas prováveis de esforço, prazo e orçamento para o seu projeto. No exemplo da tela abaixo ela me mostra por exemplo que a iniciativa estimada terá entre 8,5 a 12 meses para ser realizada.

Por baixo dos panos, esta ferramenta usa a técnica de Simulação de Monte Carlo para fazer as análises do caminhos prováveis, mas você não precisa conhecer esta técnica para usar a ferramenta (assim como não precisa ser um mecânico de automóveis para dirigir o seu carro).
Para finalizar, é primordial lembrar que times ágeis calibram as suas estimativas permanentemente ao longo de um projeto. Para isso, eles devem medir a sua velocidade (pontos entregues em um sprint) e usar este tamanho para calibrar o tamanho dos itens que serão levados para o próximo sprint.

Marco Mendes

Categorias: Agilidade

Deixe uma resposta

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