Porque estimar e porque deixar de estimar

84
Porque estimar Porque estimar e porque deixar e porque deixar de estimar... de estimar... Rodrigo Yoshima @rodrigoy

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

Page 1: Porque estimar e porque deixar de estimar

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

RodrigoYoshima@rodrigoy

Page 2: Porque estimar e porque deixar de estimar

Por que você estima?

Page 3: Porque estimar e porque deixar de estimar

Agenda de Hoje

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

Page 4: Porque estimar e porque deixar de estimar

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

Page 5: Porque estimar e porque deixar de estimar

Argumento da coerência das Estimativas

Page 6: Porque estimar e porque deixar de estimar

Argumento da coerência das Estimativas

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

Page 7: Porque estimar e porque deixar de estimar

Argumento da coerência das Estimativas

Estima-se capacidade(horas, velocidade, Gantt)

Page 8: Porque estimar e porque deixar de estimar

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)

Page 9: Porque estimar e porque deixar de estimar

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.

Page 10: Porque estimar e porque deixar de estimar

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.

Page 11: Porque estimar e porque deixar de estimar

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

(Argumento da Variabilidade)

Page 12: Porque estimar e porque deixar de estimar

E aí? Quando fica pronto?

Page 13: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Page 14: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

FLUXO

Page 15: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Lotes

Page 16: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Entrega de Valor

Page 17: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

LEAD TIME (Dias / Semanas)

Page 18: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

LEAD TIME (Dias / Semanas)

Percepção do Cliente

Page 19: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Tempo de Trabalho(Touch Time)

Page 20: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Tempo de Fila(Queue Time)

Page 21: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Lead Time = Tempo de Trabalho + Tempo de Fila

Page 22: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Eficiência do Processo (EP)

EP = Tempo de Trabalho

Lead Time

Page 23: Porque estimar e porque deixar de estimar

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?

Page 24: Porque estimar e porque deixar de estimar

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

13

8

5

2

3

1

Page 25: Porque estimar e porque deixar de estimar

“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 é!)

Page 26: Porque estimar e porque deixar de estimar

“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

Page 27: Porque estimar e porque deixar de estimar

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)

Page 28: Porque estimar e porque deixar de estimar

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!!!

Page 29: Porque estimar e porque deixar de estimar

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)

Page 30: Porque estimar e porque deixar de estimar

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%

Page 31: Porque estimar e porque deixar de estimar

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%

Page 32: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Page 33: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

8 dias com 90% de confiança

Page 34: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Page 35: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

7 dias com 70% de confiança

Page 36: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

Page 37: Porque estimar e porque deixar de estimar

Como usar o Lead Time Control ChartDias

9

8

7

6

5

4

3

2

1

7 dias com 90% de confiança

Page 38: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Onde isso me ajuda?

Page 39: Porque estimar e porque deixar de estimar

Analistas / POs Desenvolvedores Testers / Infra

Onde isso me ajuda?

Vai estar lá em 7 dias

Page 40: Porque estimar e porque deixar de estimar

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

Page 41: Porque estimar e porque deixar de estimar

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

Page 42: Porque estimar e porque deixar de estimar

Uma nota sobre o WIP

Analistas / POs Desenvolvedores Testers / Infra

WORK IN PROGRESS(trabalho em andamento)

Page 43: Porque estimar e porque deixar de estimar

Uma nota sobre o WIP

Page 44: Porque estimar e porque deixar de estimar

Porque limitar WIP é importante

Page 45: Porque estimar e porque deixar de estimar

Porque limitar WIP é importante

Inclusão doslimites

Page 46: Porque estimar e porque deixar de estimar

Porque limitar WIP é importante

Inclusão doslimites

Sistema maisprevisível e estável

Page 47: Porque estimar e porque deixar de estimar

Porque limitar WIP é importante

WIP limitado estabilizaa EP, reduzindo a

variabilidade

Page 48: Porque estimar e porque deixar de estimar

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

Analistas / POs Desenvolvedores Testers / Infra

WORK IN PROGRESS(trabalho em andamento)

Page 49: Porque estimar e porque deixar de estimar

Dica 1: Visualização

Page 50: Porque estimar e porque deixar de estimar

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

Page 51: Porque estimar e porque deixar de estimar
Page 52: Porque estimar e porque deixar de estimar
Page 53: Porque estimar e porque deixar de estimar
Page 54: Porque estimar e porque deixar de estimar
Page 55: Porque estimar e porque deixar de estimar
Page 56: Porque estimar e porque deixar de estimar

Como usar esse insight?

(Argumento da Variabilidade)

Page 57: Porque estimar e porque deixar de estimar
Page 58: Porque estimar e porque deixar de estimar
Page 59: Porque estimar e porque deixar de estimar
Page 60: Porque estimar e porque deixar de estimar
Page 61: Porque estimar e porque deixar de estimar
Page 62: Porque estimar e porque deixar de estimar
Page 63: Porque estimar e porque deixar de estimar
Page 64: Porque estimar e porque deixar de estimar
Page 65: Porque estimar e porque deixar de estimar

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.

Page 66: Porque estimar e porque deixar de estimar

Planejamento determinístico é economicamente inviável

(Argumento Econômico da Estimativas)

Page 67: Porque estimar e porque deixar de estimar

O quanto devo investir em previsibilidade que se

justifique economicamente?

Page 68: Porque estimar e porque deixar de estimar

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

Page 69: Porque estimar e porque deixar de estimar

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

Page 70: Porque estimar e porque deixar de estimar

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?”

Page 71: Porque estimar e porque deixar de estimar

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

Page 72: Porque estimar e porque deixar de estimar

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

Page 73: Porque estimar e porque deixar de estimar

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?

Page 74: Porque estimar e porque deixar de estimar

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?

Page 75: Porque estimar e porque deixar de estimar

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

Page 76: Porque estimar e porque deixar de estimar

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

Page 77: Porque estimar e porque deixar de estimar

E daí???

Page 78: Porque estimar e porque deixar de estimar

E daí???

Estimativas tem um custo econômico...

Page 79: Porque estimar e porque deixar de estimar

Estimativas tem um custo econômico...

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

Page 80: Porque estimar e porque deixar de estimar

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.

Page 81: Porque estimar e porque deixar de estimar

Um parêntese sobre Plannings, Planning Poker e

Story Points

Page 82: Porque estimar e porque deixar de estimar

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

Page 83: Porque estimar e porque deixar de estimar
Page 84: Porque estimar e porque deixar de estimar

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