Porque estimar e porque deixar de estimar

3,478 views

Published on

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.

Published in: Business

Porque estimar e porque deixar de estimar

  1. 1. Porque estimarPorque estimar e porque deixare porque deixar de estimar...de estimar... Rodrigo Yoshima @rodrigoy
  2. 2. Por que você estima?
  3. 3. Agenda de Hoje - Apologética para não estimar - Como obter previsibilidade sem bola de cristal - Modelo econômico para estimativas
  4. 4. Disclaimer: o foco aqui é a razão não a emoção...
  5. 5. Argumento da coerência das Estimativas
  6. 6. Argumento da coerência das Estimativas Estima-se esforço (pontos, horas, FPA)
  7. 7. Argumento da coerência das Estimativas Estima-se capacidade (horas, velocidade, Gantt)
  8. 8. Argumento da coerência das Estimativas Estimativa de capacidade 8 pessoas 6 horas por dia 20 dias por mês/sprint 960 horas / mês (ou sprint)
  9. 9. Argumento da coerência das Estimativas Estimativa de capacidade 8 pessoas 6 horas por dia 20 dias por mês/sprint 960 horas / mês (ou sprint) Premissa importante: A produtividade por dia por pessoa deve ter pouca ou nenhuma variabilidade.
  10. 10. 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.
  11. 11. A variabilidade do fluxo é uma melhor explicação para a previsibilidade (Argumento da Variabilidade)
  12. 12. E aí? Quando fica pronto?
  13. 13. Analistas / POs Desenvolvedores Testers / Infra
  14. 14. Analistas / POs Desenvolvedores Testers / Infra FLUXO
  15. 15. Analistas / POs Desenvolvedores Testers / Infra Lotes
  16. 16. Analistas / POs Desenvolvedores Testers / Infra Entrega de Valor
  17. 17. Analistas / POs Desenvolvedores Testers / Infra LEAD TIME (Dias / Semanas)
  18. 18. Analistas / POs Desenvolvedores Testers / Infra LEAD TIME (Dias / Semanas) Percepção do Cliente
  19. 19. Analistas / POs Desenvolvedores Testers / Infra Tempo de Trabalho (Touch Time)
  20. 20. Analistas / POs Desenvolvedores Testers / Infra Tempo de Fila (Queue Time)
  21. 21. Analistas / POs Desenvolvedores Testers / Infra Lead Time = Tempo de Trabalho + Tempo de Fila
  22. 22. Analistas / POs Desenvolvedores Testers / Infra Eficiência do Processo (EP) EP = Tempo de Trabalho Lead Time
  23. 23. 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?
  24. 24. “Quanto maior o esforço de um lote mais tempo levará para ser feito...” 13 8 5 2 3 1
  25. 25. “Quanto maior o esforço de um lote mais tempo levará para ser feito...” 13 8 5 2 3 1 Isso é verdade somente se a eficiência é alta. (geralmente não é!)
  26. 26. “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 pequenos param em filas igualmente! Analistas / POs Desenvolvedores Testers / Infra
  27. 27. Esforço não é determinante para a 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)
  28. 28. Esforço não é determinante para a 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 estimar isso senão meu processo é imprevisível!!!
  29. 29. Esforço não é determinante para a 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)
  30. 30. Esforço não é determinante para a 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ço da ordem de 600%
  31. 31. Esforço não é determinante para a 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 Time da ordem de 40%
  32. 32. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1
  33. 33. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1 8 dias com 90% de confiança
  34. 34. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1
  35. 35. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1 7 dias com 70% de confiança
  36. 36. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1
  37. 37. Como usar o Lead Time Control Chart Dias 9 8 7 6 5 4 3 2 1 7 dias com 90% de confiança
  38. 38. Analistas / POs Desenvolvedores Testers / Infra Onde isso me ajuda?
  39. 39. Analistas / POs Desenvolvedores Testers / Infra Onde isso me ajuda? Vai estar lá em 7 dias
  40. 40. 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
  41. 41. 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 semana com 90% de confiança
  42. 42. Uma nota sobre o WIP Analistas / POs Desenvolvedores Testers / Infra WORK IN PROGRESS (trabalho em andamento)
  43. 43. Uma nota sobre o WIP
  44. 44. Porque limitar WIP é importante
  45. 45. Porque limitar WIP é importante Inclusão dos limites
  46. 46. Porque limitar WIP é importante Inclusão dos limites Sistema mais previsível e estável
  47. 47. Porque limitar WIP é importante WIP limitado estabiliza a EP, reduzindo a variabilidade
  48. 48. WIP Limitado == Menor variabilidade Menor variabilidade == Mais previsível Analistas / POs Desenvolvedores Testers / Infra WORK IN PROGRESS (trabalho em andamento)
  49. 49. Dica 1: Visualização
  50. 50. Mais evidências que variabilidade no tamanho dos lotes não influencia a Previsibilidade...
  51. 51. Como usar esse insight? (Argumento da Variabilidade)
  52. 52. A variabilidade do fluxo é uma melhor explicaçã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.
  53. 53. Planejamento determinístico é economicamente inviável (Argumento Econômico da Estimativas)
  54. 54. O quanto devo investir em previsibilidade que se justifique economicamente?
  55. 55. 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
  56. 56. 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
  57. 57. 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?”
  58. 58. Brincando com Cost of Delay Cost of Delay (por mês) Projeto A 2.000 Projeto B 10.000 Projeto C 50.000 daqui 1 mês Projeto D 20.000 Setembro de 201X
  59. 59. Brincando com Cost of Delay Cost of Delay (por mês) Projeto A 2.000 Projeto B 10.000 Projeto C 50.000 daqui 1 mês Projeto D 20.000 Outubro de 201X
  60. 60. Brincando com Cost of Delay Cost of Delay (por mês) Tamanho Projeto A 2.000 Projeto B 10.000 Projeto C 50.000 daqui 1 mês Projeto D 20.000 Outubro de 201X Preciso saber o tamanho dos projetos para tomar essa decisão?
  61. 61. 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?
  62. 62. 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
  63. 63. 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
  64. 64. E daí???
  65. 65. E daí??? Estimativas tem um custo econômico...
  66. 66. Estimativas tem um custo econômico... - 7 pessoas - 4 horas de planning - 28 horas de esforço
  67. 67. 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.
  68. 68. Um parêntese sobre Plannings, Planning Poker e Story Points
  69. 69. 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 Lead Time x Esforço Estimado Estimativa (pontos) LeadTime(semanas) 19 10 9 7 4 3 2 2
  70. 70. Dica 1: Visualização Obrigado! Preços especiais para participantes do AgileValePreços especiais para participantes do AgileVale Mais informações: www.aspercom.com.br Rodrigo Yoshima blog.aspercom.com.br @rodrigoy

×