Desconstruindo
o mito da
estimativa
perfeita
Eduardo
Meira
Peres
10 levels castle,
por fdecomite
(CC-by)
Como fazer
estimativas com
acurácia usando
métodos ágeis?
Bah...
Veja bem, depende
do contexto...
Disappoints
Function Points? LOCs?
Use Case Points? Page Points?
Agile Function Points?
O que falhou,
o projeto ou a estim...
Qual é o problema
com as
estimativas?
Nunca fomos
bons em fazer
estimativas de
escopo, prazo e
custo.
Às vezes
erramos muito,
e mesmo assim
continuamos a
insist...
Linha do Tempo das Estimativas
Marcos rígidos no
planejamento e execução
de um projeto, datas
cravadas em cronogramas.
[al...
O que
sabemos
Como usamos
www.construx.com
EstimativaCliente
Seria a busca
incessante por
uma estimativa
com acurácia
uma das causas
para o fracasso
dos projetos?
Como vou explicar para o cliente que mesmo
tendo detalhado todos estes requisitos antes
de iniciar a implementação teremos...
100% de estouro no
prazo e orçamento!
Este cara pensa
que sou louco?
Sacanagem me
colocar de castigo
para contar o
quanto de dinheiro
ele vai perder!
O que será de mim
quando ele descobrir
qu...
Desaprender
Estimativas são
instrumentos
indispensáveis aos
projetos de software,
pois estabelecem
com acurácia,
desde ced...
Qual é a expectativa do cliente?
Atendimento das necessidades de negócio, com
prazos e orçamentos definidos.
Um projeto co...
Reaprender
Estimativas são limitadas
como instrumentos de acurácia.
Devem respeitar o
conhecimento existente,
que aumenta ...
O que priorizar no Backlog
e o que não priorizar
O que retirar do escopo
ex.: itens de alto custo e baixo valor
agregado
S...
• Ron Jeffries
Estimation is Evil
• Martin Fowler
Purpose of Estimation
• Tom Gilb
Estimation or Control
• Mike Cohn
Agile...
Desaprender / Reaprender
Da busca incessante por uma estimativa precisa,
impossível nas fases iniciais do projeto...
...pa...
Meus objetivos de
negócio foram alcançados
no prazo e orçamento que
combinamos!
Nossa estratégia de
estimativas auxiliou n...
Planejamento em níveis de abstração
planejamento de release com estimativas de baixa acurácia
+ planejamento das iterações...
Priorização das funcionalidades
com possível postergação de outras funcionalidades
Incorporação de mudanças
com possível p...
Estratégia para Estimativas
Estimativa da Release
Estimativa da Iteração
Abordagem Sugerida
1) Release
• Estimar requisitos de alto-nível
• Proteger a baixa acurácia das
estimativas com um Buffer...
Estimativa da Release
Conjunto de Contêineres temáticos, com limite de
transvordo, para acondicionamento das estórias já c...
Uma Possível Escala de Pontos
Pontos
0 1 2 3 5 8 13 20 40 100
RequisitosemAltoNível
RequisitosDetalhados
Estimativa da Release (Requisitos)
Story Points
Estimativa da Release (Proteção)
Multiplicador
Buffer de Calibragem
40
30
20
10
Intervalo de
confiança da
Recalibragem
da estimativa
Contenção de
Incertezas
Recalibragem...
Estimativa da Iteração
Story Points
e/ou horas
20
10
40
30
20
10
40
30
20
10
Tema Tema Tema Épico
Buffer
40
30
20
10
40
30
20
10
20
10
Épico
Estória
Estória
Estória
Estó...
Estimativa
da Release Registro Base
Histórica
Processo de Estimativa
iteração 1 iteração 2 iteração 3 iteração 4iniciação ...
0
10
20
30
40
50
60
1 2 3 4 5
Buffer
Planejado
Limite Buffer
Buffer
Realizado
Gráfico de Evolução do Buffer
Exemplo ao tér...
Estimar, Priorizar, Implementar, Monitorar
Como garantir
que todas as
funcionalidades
relevantes serão
implementadas?
Agir
Priorização usando
MoSCoW Rules
Russia, por Victorgrigas (CC-BY-SA 3.0))
User Story Mapping
como em: It´s All in How You Slice, 2005. JEFF PATON
Gerenciamento da Estimativa
• Previsibilidade de escopo
• Em story points, com margem de confiança
• Desvios das estimativ...
Eduardo Meira Peres
eduardop@dbserver.com.br
Próximos SlideShares
Carregando em…5
×

Agile brazil 2013: desconstruindo o mito da estimativa perfeita

1.450 visualizações

Publicada em

Apresentação realizada no Agile Brazil 2013 em Brasília, dia 27 de junho de 2013.

Apresenta uma proposição para o uso de técnicas de estimativa em conjunto abordagens de gerenciamento de projetos e métodos ágeis como forma de garantir a previsibilidade esperada para projetos de software.

  • Seja o primeiro a comentar

Agile brazil 2013: desconstruindo o mito da estimativa perfeita

  1. 1. Desconstruindo o mito da estimativa perfeita Eduardo Meira Peres 10 levels castle, por fdecomite (CC-by)
  2. 2. Como fazer estimativas com acurácia usando métodos ágeis? Bah... Veja bem, depende do contexto...
  3. 3. Disappoints Function Points? LOCs? Use Case Points? Page Points? Agile Function Points? O que falhou, o projeto ou a estimativa?
  4. 4. Qual é o problema com as estimativas?
  5. 5. Nunca fomos bons em fazer estimativas de escopo, prazo e custo. Às vezes erramos muito, e mesmo assim continuamos a insistir no erro. E se tentássemos algo diferente?
  6. 6. Linha do Tempo das Estimativas Marcos rígidos no planejamento e execução de um projeto, datas cravadas em cronogramas. [alta precisão, baixa acurácia nos resultados] Estimativas para gerenciar escopo, prazos e custos • permitir previsibilidade • controlar de desvios Para garantir a acurácia da estimativa muitas vezes o sucesso do projeto tem ficado em segundo plano.
  7. 7. O que sabemos Como usamos www.construx.com EstimativaCliente
  8. 8. Seria a busca incessante por uma estimativa com acurácia uma das causas para o fracasso dos projetos?
  9. 9. Como vou explicar para o cliente que mesmo tendo detalhado todos estes requisitos antes de iniciar a implementação teremos um estouro de prazos e custos? Ainda bem que é tudo culpa do cone da incerteza...
  10. 10. 100% de estouro no prazo e orçamento! Este cara pensa que sou louco?
  11. 11. Sacanagem me colocar de castigo para contar o quanto de dinheiro ele vai perder! O que será de mim quando ele descobrir que quase metade das funcionalidades entregues nunca serão utilizadas? 2002
  12. 12. Desaprender Estimativas são instrumentos indispensáveis aos projetos de software, pois estabelecem com acurácia, desde cedo, a previsibilidade de custos, prazos e escopo necessárias para o ambiente de negócios. Angel Arcones (CC-BY)
  13. 13. Qual é a expectativa do cliente? Atendimento das necessidades de negócio, com prazos e orçamentos definidos. Um projeto controlado “Não é possível termos estimativas com acurácia para projetos técnicos complexos, mas é possível mantermos orçamentos e prazos acordados, através de feedback e mudança.” [Estimation or Control, by Tom Gilb]
  14. 14. Reaprender Estimativas são limitadas como instrumentos de acurácia. Devem respeitar o conhecimento existente, que aumenta ao longo do projeto. Em conjunto com outras abordagens, pode suportar: • previsibilidade • tomada de decisão, • definição de objetivos, • construção de planos adaptativos • ... Sua aplicação depende do CONTEXTO
  15. 15. O que priorizar no Backlog e o que não priorizar O que retirar do escopo ex.: itens de alto custo e baixo valor agregado Simplificação de requisitos O que precisa ser melhor compreendido Estimativas na Tomada de Decisão
  16. 16. • Ron Jeffries Estimation is Evil • Martin Fowler Purpose of Estimation • Tom Gilb Estimation or Control • Mike Cohn Agile Estimating and Planning • ThoughtWorks How do you estimate an Agile project? • Steve McConnell Software Estimation in an Agile World • #NoEstimates À Procura de Soluções
  17. 17. Desaprender / Reaprender Da busca incessante por uma estimativa precisa, impossível nas fases iniciais do projeto... ...para a compreensão de que uma estimativa imprecisa no início pode nos apoiar na previsibilidade esperada por algumas organizações e ser útil para o próprio projeto.
  18. 18. Meus objetivos de negócio foram alcançados no prazo e orçamento que combinamos! Nossa estratégia de estimativas auxiliou na definição deste compromisso e os riscos foram compartilhados.
  19. 19. Planejamento em níveis de abstração planejamento de release com estimativas de baixa acurácia + planejamento das iterações com estimativas com boa acurácia + retroalimentação das estimativas Monitoramento das Estimativas Gerenciando com transparência suas incertezas, através do uso de reservas e buffers, e tomando ações corretivas à cada iteração Compartilhamento dos Riscos para garantir os compromissos assumidos a partir de estimativas de baixa acurácia Ciclos curtos de desenvolvimento com entregas, feedback, aprendizagem e adaptação do processo e das estimativas Como?
  20. 20. Priorização das funcionalidades com possível postergação de outras funcionalidades Incorporação de mudanças com possível postergação de outras funcionalidades ou pela simplificação de requisitos mais complexos Maximização do trabalho não realizado estimar e especificar o mais tarde possível, para poder aproveitar as oportunidades que irão surgir Prazo e orçamento fixos com escopo variável, mas com previsibilidade, usando estimativa com níveis de confiança (estimativa reversa) Como?
  21. 21. Estratégia para Estimativas Estimativa da Release Estimativa da Iteração
  22. 22. Abordagem Sugerida 1) Release • Estimar requisitos de alto-nível • Proteger a baixa acurácia das estimativas com um Buffer • Monitorar o Buffer, tomando ações corretivas quando necessário Estimativa em 2 níveis 2) Iterações • Estimar requisitos detalhados • estórias e tarefas • Recalibrar as estimativas • aprender ao longo das iterações
  23. 23. Estimativa da Release Conjunto de Contêineres temáticos, com limite de transvordo, para acondicionamento das estórias já conhecidas e as que serão descobertas, estimadas e detalhadas ao longo do projeto. Utiliza uma Reserva para margens de segurança e um Buffer de Calibragem para monitoração e retroalimentação das estimativas.
  24. 24. Uma Possível Escala de Pontos Pontos 0 1 2 3 5 8 13 20 40 100 RequisitosemAltoNível RequisitosDetalhados
  25. 25. Estimativa da Release (Requisitos) Story Points
  26. 26. Estimativa da Release (Proteção) Multiplicador
  27. 27. Buffer de Calibragem 40 30 20 10 Intervalo de confiança da Recalibragem da estimativa Contenção de Incertezas Recalibragem da estimativa • Absorção das diferenças entre planejado e realizado nas iterações. Indica a saúde da estimativa. Contenção de Incertezas • Disponibilidade para absorção dos prováveis desvios futuros Novas estórias: em caso de sobra Estimativa Inicial (250) Estimativa Final (300) Novas estórias
  28. 28. Estimativa da Iteração Story Points e/ou horas
  29. 29. 20 10 40 30 20 10 40 30 20 10 Tema Tema Tema Épico Buffer 40 30 20 10 40 30 20 10 20 10 Épico Estória Estória Estória Estória Estória Estória X pontos 360 horas Planejamento da 1ª Iteração Refinamento das Estimativas 40 30 20 10
  30. 30. Estimativa da Release Registro Base Histórica Processo de Estimativa iteração 1 iteração 2 iteração 3 iteração 4iniciação encerramento Estimativa da iteração Estimativa Estimativa da iteração Estimativa da iteração Estimativa da iteração Gerenciamento das Reservas e do Buffer de Calibragem Escopo não implementado Release Plan
  31. 31. 0 10 20 30 40 50 60 1 2 3 4 5 Buffer Planejado Limite Buffer Buffer Realizado Gráfico de Evolução do Buffer Exemplo ao término da iteração 3 Estimativa Recalibrada 270 285 295 Estimativa Inicial 260 270 280 290 300
  32. 32. Estimar, Priorizar, Implementar, Monitorar Como garantir que todas as funcionalidades relevantes serão implementadas? Agir
  33. 33. Priorização usando MoSCoW Rules Russia, por Victorgrigas (CC-BY-SA 3.0))
  34. 34. User Story Mapping como em: It´s All in How You Slice, 2005. JEFF PATON
  35. 35. Gerenciamento da Estimativa • Previsibilidade de escopo • Em story points, com margem de confiança • Desvios das estimativas das estórias não implicam em reduzir escopo (apego) • Desvio de estimativa > buffer? • Alerta cedo pelo monitoramento do Buffer • Ações de redução de escopo
  36. 36. Eduardo Meira Peres eduardop@dbserver.com.br

×