Porque estimar e porque deixar de estimar

Post on 18-Dec-2014

1.620 views 2 download

description

Argumento apologético de Rodrigo Yoshima para deixar de estimar tamanho e capacidade em projetos de software e mesmo assim, obter previsibilidade. Apresentado no AgileVale 2013.

Transcript of Porque estimar e porque deixar de estimar

Porque estimarPorque estimare porque deixare porque deixarde estimar...de estimar...

RodrigoYoshima@rodrigoy

Por que você estima?

Agenda de Hoje

- Apologética para não estimar- Como obter previsibilidade sem bola de cristal- Modelo econômico para estimativas

Disclaimer: o foco aqui é a razão não a emoção...

Argumento da coerência das Estimativas

Argumento da coerência das Estimativas

Estima-se esforço(pontos, horas, FPA)

Argumento da coerência das Estimativas

Estima-se capacidade(horas, velocidade, Gantt)

Argumento da coerência das Estimativas

Estimativa de capacidade

8 pessoas6 horas por dia20 dias por mês/sprint

960 horas / mês (ou sprint)

Argumento da coerência das Estimativas

Estimativa de capacidade

8 pessoas6 horas por dia20 dias por mês/sprint

960 horas / mês (ou sprint)

Premissa importante: A produtividade por dia por pessoadeve ter pouca ou nenhuma variabilidade.

Argumento da coerência das Estimativas

1. O planejamento determinístico estima a variabilidade no esforço dos lotes

2. O planejamento determinístico não considera a variabilidade na capacidade

3. Existe variabilidade na capacidade

4. Logo, planejamento determinístico é incoerente.

A variabilidade do fluxo é uma melhorexplicação para a previsibilidade

(Argumento da Variabilidade)

E aí? Quando fica pronto?

Analistas / POs Desenvolvedores Testers / Infra

Analistas / POs Desenvolvedores Testers / Infra

FLUXO

Analistas / POs Desenvolvedores Testers / Infra

Lotes

Analistas / POs Desenvolvedores Testers / Infra

Entrega de Valor

Analistas / POs Desenvolvedores Testers / Infra

LEAD TIME (Dias / Semanas)

Analistas / POs Desenvolvedores Testers / Infra

LEAD TIME (Dias / Semanas)

Percepção do Cliente

Analistas / POs Desenvolvedores Testers / Infra

Tempo de Trabalho(Touch Time)

Analistas / POs Desenvolvedores Testers / Infra

Tempo de Fila(Queue Time)

Analistas / POs Desenvolvedores Testers / Infra

Lead Time = Tempo de Trabalho + Tempo de Fila

Analistas / POs Desenvolvedores Testers / Infra

Eficiência do Processo (EP)

EP = Tempo de Trabalho

Lead Time

Analistas / POs Desenvolvedores Testers / Infra

Eficiência do Processo (EP)

EP = Tempo de Trabalho

Lead Time

Qual seria a Eficiência do Processo

da sua empresa?

“Quanto maior o esforço de um lote mais tempo levará para ser feito...”

13

8

5

2

3

1

“Quanto maior o esforço de um lote mais tempo levará para ser feito...”

13

8

5

2

3

1

Isso é verdadesomente se a eficiência é alta.(geralmente não é!)

“Quanto maior o esforço de um lote mais tempo levará para ser feito...”

13

8

5

2

3

1

Lotes grandes, médios e pequenosparam em filasigualmente!

Analistas / POs Desenvolvedores Testers / Infra

Esforço não é determinante paraa previsibilidade!

Touch Time(esforço real)

Lote A 2

Lote B 12

Lote C 8

Lote D 4

Para um processo com 25% de EP(estou sendo bonzinho)

Esforço não é determinante paraa previsibilidade!

Touch Time(esforço real)

Lote A 2

Lote B 12

Lote C 8

Lote D 4

Para um processo com 25% de EP(estou sendo bonzinho)

Cacete! Tenho que estimarisso senão meu processo

é imprevisível!!!

Esforço não é determinante paraa previsibilidade!

Touch Time(esforço real)

Queue Time Lead Time

Lote A 2 19 21

Lote B 12 18 30

Lote C 8 16 24

Lote D 4 21 25

Para um processo com 25% de EP(estou sendo bonzinho)

Esforço não é determinante paraa previsibilidade!

Touch Time(esforço real)

Queue Time Lead Time

Lote A 2 19 21

Lote B 12 18 30

Lote C 8 16 24

Lote D 4 21 25

Para um processo com 25% de EP(estou sendo bonzinho)

Variabilidade do esforçoda ordem de 600%

Esforço não é determinante paraa previsibilidade!

Touch Time(esforço real)

Queue Time Lead Time

Lote A 2 19 21

Lote B 12 18 30

Lote C 8 16 24

Lote D 4 21 25

Para um processo com 25% de EP(estou sendo bonzinho)

Variabilidade do Lead Timeda ordem de 40%

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

8 dias com 90% de confiança

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

7 dias com 70% de confiança

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

7 dias com 90% de confiança

Analistas / POs Desenvolvedores Testers / Infra

Onde isso me ajuda?

Analistas / POs Desenvolvedores Testers / Infra

Onde isso me ajuda?

Vai estar lá em 7 dias

Como usar o Throughput (Vazão)

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 Semana

Itens

9

8

7

6

5

4

3

2

1

Como usar o Throughput (Vazão)

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 Semana

Itens

9

8

7

6

5

4

3

2

1

3 itens por semanacom 90% de confiança

Uma nota sobre o WIP

Analistas / POs Desenvolvedores Testers / Infra

WORK IN PROGRESS(trabalho em andamento)

Uma nota sobre o WIP

Porque limitar WIP é importante

Porque limitar WIP é importante

Inclusão doslimites

Porque limitar WIP é importante

Inclusão doslimites

Sistema maisprevisível e estável

Porque limitar WIP é importante

WIP limitado estabilizaa EP, reduzindo a

variabilidade

WIP Limitado == Menor variabilidadeMenor variabilidade == Mais previsível

Analistas / POs Desenvolvedores Testers / Infra

WORK IN PROGRESS(trabalho em andamento)

Dica 1: Visualização

Mais evidências que variabilidade no tamanho dos lotes não influencia aPrevisibilidade...

Como usar esse insight?

(Argumento da Variabilidade)

A variabilidade do fluxo é uma melhorexplicação para a Previsibilidade

(Argumento da Variabilidade)

1. O Lead Time e o Throughput (Vazão) são métricas mais amigáveis para o Cliente

2. O tamanho dos lotes não são determinantes para a variabilidade no Fluxo se a Eficiência do Processo é

baixa

3. Gerenciar o Fluxo reduz a variabilidade

4. Previsibilidade é razão da variabilidade e a variabilidade é sistêmica.

5. Estimativas sobre capacidade e tamanho dos lotes são desnecessárias para obter previsibilidade.

Planejamento determinístico é economicamente inviável

(Argumento Econômico da Estimativas)

O quanto devo investir em previsibilidade que se

justifique economicamente?

Status Quo

● Para tomar decisões com relação ao portfólio de projetos eu preciso saber o ROI

● Para saber o ROI eu preciso saber o custo e o prazo

● Para saber o custo e o prazo eu preciso levantar grande parte dos requisitos

● Para saber o custo e o prazo eu preciso estimar os requisitos

Status Quo

● Para tomar decisões com relação ao portfólio de projetos eu preciso saber o ROI

● Para saber o ROI eu preciso saber o custo e o prazo

● Para saber o custo e o prazo eu preciso levantar grande parte dos requisitos

● Para saber o custo e o prazo eu preciso estimar os requisitos

O que acontece se esse projeto atrasar?

- Haverá um holocausto nuclear- Criancinhas vão morrer- O CIO vai perder seu bônus- Haverá uma multa- Alguém vai ter que dar uma desculpa

Cost of Delay

A pergunta mais fundamental sobre orçamento e portfólio é aquela menos perguntada:

“Quanto dinheiro nós perdemos por mês sem esse projeto/feature?”

Brincando com Cost of Delay

Cost of Delay(por mês)

Projeto A 2.000

Projeto B 10.000

Projeto C 50.000daqui 1 mês

Projeto D 20.000

Setembro de 201X

Brincando com Cost of Delay

Cost of Delay(por mês)

Projeto A 2.000

Projeto B 10.000

Projeto C 50.000daqui 1 mês

Projeto D 20.000

Outubro de 201X

Brincando com Cost of Delay

Cost of Delay(por mês) Tamanho

Projeto A 2.000

Projeto B 10.000

Projeto C 50.000daqui 1 mês

Projeto D 20.000

Outubro de 201X

Preciso saber o tamanho dosprojetos para tomar essa

decisão?

Brincando com Cost of Delay

Cost of Delay(por mês)

Tamanho

Projeto A 2.000

Projeto B 10.000

Projeto D 20.000

Outubro de 201X

Quanto me custa adiar essa decisão em 1 mês?

Brincando com Cost of Delay

Cost of Delay(por mês) Tamanho

Projeto A 2.000

Projeto B 10.000 É metade de D.

Projeto D 20.000

Outubro de 201X

Brincando com Cost of Delay

Cost of Delay(por mês)

Tamanho

Projeto A 2.000

Projeto B 10.000 É metade de D.

Projeto D 20.000

Outubro de 201X

E daí???

E daí???

Estimativas tem um custo econômico...

Estimativas tem um custo econômico...

- 7 pessoas- 4 horas de planning- 28 horas de esforço

Planejamento determinístico é economicamente inviável

(Argumento Econômico da Estimativas)

1. Estimativas tem custo econômico.

2. Se o custo é maior que o benefício econômico, estimativas são economicamente

danosas.

Um parêntese sobre Plannings, Planning Poker e

Story Points

0 1 2 3 4 5 6 7 80

1

2

3

4

5

6

Lead Time x Esforço Estimado

Estimativa (pontos)

Le

ad

Tim

e (

sem

an

as)

19

10

9

7

4

3

2

2

Dica 1: VisualizaçãoObrigado!

Preços especiais para participantes do AgileValePreços especiais para participantes do AgileValeMais informações: www.aspercom.com.br

Rodrigo Yoshimablog.aspercom.com.br

@rodrigoy