Post on 29-Jun-2015
description
Desconstruindo
Da busca incessante por uma estimativa com
acurácia para a aprendizagem de que...
...estimativas viáveis podem contribuir para a
definição de metas de orçamentos e prazos de
projetos, mas não são as metas em si.
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?
Falhou o projeto ou
a estimativa?
Qual é o problema
com as
estimativas?
Estimativa(Projeto) ≠ Resultado
Estimativa + Controle + Ajustes =
Resultado no Alvo
P R O J E T O
Estimativas
para gerenciar
escopo,
prazos e
custos
Acurácia da
estimativa
acima de tudo
Marcos
rígidos de
planejamento
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...
www.construx.com
O Que Sabemos Como
Usamos
Estimatrix
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
que quase metade das
funcionalidades
entregues nunca serão
utilizadas?
2002
Seria a busca
incessante por
uma estimativa
com acurácia uma contribuição
para o fracasso
dos projetos?
Era uma vez
um projeto
em que
encontrei
Estimatrix.
Nunca fomos
bons em lidar
com estimativas
de escopo,
prazo e custo.
Às vezes
erramos muito,
e mesmo assim
continuamos a
insistir no erro.
E se
tentássemos
algo diferente?
Qual é a expectativa
do cliente?
Atendimento das necessidades de
negócio com qualidade, dentro de
prazos e orçamentos definidos.
“Não é possível ter
estimativas com acurácia para projetos técnicos complexos,
mas através de feedback e
mudança é possível manter os
orçamentos e prazos acordados,.”
[Tom Gilb, Estimation or Control]
Desaprender
Estimativas
determinam
com acurácia,
desde cedo, a
previsibilidade
necessária para o
ambiente de negócios.
Desaprender Quanto mais
acurácia tiver a
estimativa dos
requisitos maior
será:
- o valor agregado
ao negócio.
- o atendimento as
metas de prazo e
orçamento.
Reaprender
Estimativas são
limitadas como
instrumentos de
acurácia e
precisão.
Reaprender
Estimativas devem
respeitar o
conhecimento existente sobre o
produto, que
aumenta ao
longo do projeto.
Reaprender
Em conjunto com outras abordagens, as
técnicas de estimativa podem dar suporte a:
• previsibilidade • tomada de decisão, • definição de objetivos,
• construção de planos adaptativos • ...
Reaprender
A aplicabilidade das estimativas
depende do CONTEXTO.
© Túrelio (via Wikimedia-Commons) / Lizenz: Creative
Commons CC-BY-SA-3.0-de
Não
é
Fácil
Desaprender...
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
À Procura de Soluções
#NoEstimates
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 as 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 com toda equipe
Como?
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)
Incentivo à criatividade
Como?
X X
a a a
a a
Iteração 1 Iteração 2 Iteração 3 conhecido desconhecido
Necessidades
dos Usuários
Características
do Produto
Requisitos
do
Software
Início Fim
Iterativo e Incremental
Estratégia para Estimativas
Estimativa da Release
Estimativa da Iteração
Release Estimar requisitos de alto-nível
Proteger a estimativa
Monitorar e Controlar a proteção
Estimativa
em 2 níveis
Iterações Estimar em detalhe
Recalibrar as estimativas
Aprender
Estimativa
da Release Registro Base
Histórica
Processo de Estimativa
iteração 1 iteração 2 iteração 3 iteração 4 iniciaçã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
Planejamento
da Release
Estimativa da Release
Estimativa da Release (Proteção)
Estimativa da Iteração
Story Points
e/ou horas
Estimar, Priorizar, Implementar, Monitorar
Como garantir
que todas as
funcionalidades
relevantes serão
implementadas?
Agir
0
10
20
30
40
50
60
1 2 3 4 5
BufferPlanejado
Limite Buffer
BufferRealizado
Gráfico de Evolução do Buffer
Exemplo ao término da iteração 3
Priorização usando
MoSCoW Rules
Russia, por Victorgrigas (CC-BY-SA 3.0))
User Story Mapping
It´s All in How You Slice, 2005. JEFF PATON
Meus objetivos de
negócio foram alcançados
no prazo e orçamento que
combinamos!
Os riscos foram
compartilhados e nossa
estratégia de
estimativas auxiliou
na sustentação deste
compromisso.
O que você
pode fazer na
próxima vez
em que
encontrá-la?
Eduardo Meira Peres
eduardop@dbserver.com.br