Cone de Incerteza

O Cone de Incerteza, descrito por Steve McConnel, mostra o que qualquer profissional de software experiente sabe. Que está no início de qualquer projeto, não sabemos exatamente quanto tempo um projeto vai levar.

As razões para isso são muitas. Não há dois projetos que tenham:

  1. Os mesmos requisitos.
  2. As mesmas pessoas.
  3. O mesmo contexto empresarial.
  4. A mesma tecnologia.
  5. As mesmas prioridades.& restrições.

Cada é único. Cada linha de código é trabalhada à mão. E o trabalho de conhecimento envolvendo pessoas criativas inteligentes não se presta à precisão como a escavação de valas faz.

Precisão é o que se pede. Os patrocinadores querem saber exatamente quando o projeto será feito, e quanto custará.

O trabalho com este enigma é quase tão antigo quanto o próprio tempo. Aqui estão algumas formas das equipas e empresas lidarem com esta incerteza.

Trabalhar com o cone

Adicionar a estimativa

Após sentir o ferrão da subestimação, uma reacção comum é duplicar ou triplicar a estimativa da próxima vez. Isto diminui definitivamente o risco inicial, mas encher os números é mais difícil do que parece.

Dê um número demasiado grande, e os patrocinadores não aprovarão o seu projecto. Dê um número muito baixo e você corre o risco de ficar sem dinheiro. Isto fica duplamente ditado quando você está fazendo lances em contratos de lances fixos onde há ainda mais pressão para manter os números baixos.

A maioria dos projetos adiciona algum tipo de acolchoamento nos números finais para dar a si mesmo espaço suficiente para agitar. Outra coisa que as equipes podem fazer é comparar este projeto com outros.

Dimensionar o projeto relativamente

Humans são realmente bons em dimensionar as coisas relativamente. Não podemos dizer com precisão o tamanho de uma pedra. Mas podemos dizer-lhe o quão grande ela é em comparação com outra coisa. Podemos usar isso quando dimensionando projetos também.

Seja honesto e honesto

O modo padrão de operações do Agile é transparência e visibilidade. Portanto, não deve ser surpresa que a forma ágil de lidar com o cone é ser honesto e honesto.

Look. Não sabemos quanto tempo isso vai levar. Este é o nosso melhor palpite. Mas se você nos der algumas iterações, podemos construir algo, medir quanto tempo isso leva, e então dizer-lhe uma sensação muito melhor de quão grande é essa coisa.

Outra abordagem que algumas equipes ágeis vão levar para ajudar a comunicar a incerteza é apresentar as estimativas como um intervalo.

Isso tem a vantagem de mostrar visivelmente aos patrocinadores a incerteza que vem com o projeto, e então deixar os patrocinadores decidirem quanto risco eles podem assumir.

Fund incrementalmente

Outra abordagem que faz muito sentido, mas infelizmente eu não vejo aplicada com frequência suficiente, é o financiamento incremental.

Com financiamento incremental você não pede o saco inteiro de dinheiro adiantado. Apenas o suficiente para aumentar o trabalho, para reportar um número melhor sobre quanto tempo vai demorar.

Não é infalível. Você ainda pode se deparar com problemas mais tarde. Mas ao dar às equipas $30-50K, deixando-as construir algo e vendo quanto tempo isso demora, pode ir um longo caminho para reduzir a variação naquele número inicial.

Você pode ler mais sobre esta forma de planeamento e as vantagens que ela traz no Beyond Budgeting por Jeremy Hope.

A Causa Raiz

Vivemos num mundo de orçamentos anuais. E infelizmente isto conduz a muita da tensão e drama no nosso local de trabalho. Em alguns aspectos os orçamentos anuais são naturais (vivemos e acompanhamos o tempo em ciclos anuais) mas em outros são terríveis para o planeamento, pois um ano é muito tempo no mercado.

Se você se encontrar sendo tropeçado pelo cone da incerteza, basta lembrar que todo o ponto da estimativa de software é determinar se o projeto é mesmo possível.

Or, como diz Steve McConnell:

O propósito principal da estimativa de software não é prever o resultado de um projeto; é determinar se as metas de um projeto são realistas o suficiente para permitir que o projeto seja controlado para alcançá-las.

-Steve McConnell, Software Estimation: Desmistificando a Arte Negra

Deixe um comentário