o programador lean

111
O programador Lean Auxiliando sua liderança a tomar melhores decisões sobre seus processos Rodrigo Yoshima blog.aspercom.com.br @rodrigoy

Upload: rodrigo-yoshima

Post on 12-Jun-2015

867 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: O programador lean

O programador LeanAuxiliando sua liderança a tomar melhores decisões sobre seus processos

Rodrigo Yoshimablog.aspercom.com.br@rodrigoy

Page 2: O programador lean
Page 3: O programador lean
Page 4: O programador lean
Page 5: O programador lean
Page 6: O programador lean
Page 7: O programador lean
Page 8: O programador lean
Page 9: O programador lean

SistemaSistema

ComplexoComplexo

Page 10: O programador lean

“Um sistema ruim vencerá um cara bom sempre”W. Edwards Deming

Page 11: O programador lean
Page 12: O programador lean

y = f(x)

Page 13: O programador lean

Estado Atual Agile(Status Quo)

Page 14: O programador lean

Estado Atual Agile

Trabalho em EquipeAuto-organizadoCliente presenteBoa Engenharia

Melhoria ContínuaResultados Rápidos

Page 15: O programador lean

Estado Atual Agile

? Trabalho em EquipeAuto-organizadoCliente presenteBoa Engenharia

Melhoria ContínuaResultados Rápidos

Page 16: O programador lean

Estado Atual Agile

Modelo de Transição

LEAN / KANBAN

Page 17: O programador lean

Estado Atual

Agile

Modelo de Melhoria Contínua

LEAN / KANBAN

Zen Jedi

Na verdade...

Page 18: O programador lean

Por que mudanças são tão difíceis?

Page 19: O programador lean
Page 20: O programador lean
Page 21: O programador lean

“Pessoas não resistem mudar,elas resistem serem mudadas”

Peter Senge

Page 22: O programador lean

2nd Generation Agile

Segunda Geração

de Métodos Ágeis

Page 23: O programador lean

Cap

acid

ade

Revolução“Kaikaku”

Tempo

Status Quo

Novo Status Quo

Por que Kanban?Por que Kanban?

Page 24: O programador lean

Cap

acid

ade

Revolução“Kaikaku”

Tempo

Evolução“Kaizen”

Status Quo

Novo Status Quo

Por que Kanban?Por que Kanban?

Page 25: O programador lean

Kanban Method princípios

começe com o que você já faz hoje

concorde em buscar uma abordagem evolucionária para mudança

inicialmente respeite papéis, responsabilidades e cargos estabelecidos

Page 26: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Page 27: O programador lean

Lições do Programador Lean

✔Adota uma abordagem evolucionária para mudanças

Page 28: O programador lean

O que é Visualizar?

Page 29: O programador lean
Page 30: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Essa é a história de umaequipe de manutenção

Page 31: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoMétodo Usado: XGH

Sem testes automatizadosSilos entre Produto e DevsHomologação em ProduçãoLead time médio: 3 semanas

Page 32: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Page 33: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Fluxo deTrabalho

Page 34: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Equipes

Page 35: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Demanda deValor

(amarelo)

Page 36: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Demanda deFalha(rosa)

Page 37: O programador lean

Lições do Programador Lean

✔ Adota uma abordagem evolucionária para mudanças

✔Visualiza o fluxo de ponta-a-ponta(isso reforça ciclos de feedback)

Page 38: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Page 39: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoAlgumas semanas depois...

Page 40: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoTemos 45% de Demandas de Falha,e a maioria delas são causadas porque

nós homologamos em produção!

Page 41: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoTemos 45% de Demandas de Falha,e a maioria delas são causadas porque

nós homologamos em produção!

Mas homologar em Produção é errado!

(e o Kanban está “permitindo” isso)

Page 42: O programador lean

There's no judgement There's no judgement in Kanbanin Kanban

David J. AndersonDavid J. Anderson

Page 43: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoVamos mudar o processo para queo pessoal de negócio homologue antes

de ir para a produção!

Page 44: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

Page 45: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

Nova etapa noFluxo

Page 46: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologaçãoAlgumas semanas depois...

Page 47: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Demanda de falha reduziu para 23%!

Page 48: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Demanda de falha reduziu para 23%!

KAIZEN CONFIRMADO

Page 49: O programador lean

Lições do Programador Lean

✔ Adota uma abordagem evolucionária para mudanças

✔ Visualiza o fluxo de ponta-a-ponta

✔Mensura Demanda de Falha

Page 50: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

Page 51: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

Gargalo!!

Tô garrado...uai!

Page 52: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

WIPWIP

Page 53: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

LEAD TIME

Page 54: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

THROUGHPUTTHROUGHPUT

Page 55: O programador lean

Throughput = Leadtime

Work-in-progress

Throughput Leadtime =

Work-in-progress

Little's Law

Page 56: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

É idioticetrabalhar

para alimentaruma fila!

Page 57: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Vamos limitar o trabalho em progressopara estabelecer o fluxo!

Page 58: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

Page 59: O programador lean
Page 60: O programador lean

LIMITESINCLUIDOS

LIMITES RESPEITADOS

Page 61: O programador lean

SISTEMA MAIS PREVISIVEL E ESTÁVEL

Page 62: O programador lean
Page 63: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

Page 64: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

WIP Baixo:Lead Time menorThroughput maior

(Lei de Little)

Page 65: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoFLUXO ESTABELECIDO!Lead time médio: 6 dias

Throughput: 8 por semana(Sistema mais previsível)

Page 66: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoFLUXO ESTABELECIDO!Lead time médio: 6 dias

Throughput: 8 por semana(Sistema mais previsível)

KAIZEN CONFIRMADO

Page 67: O programador lean

Lições do Programador Lean

✔ Adota uma abordagem evolucionária para mudanças

✔ Visualiza o fluxo de ponta-a-ponta

✔ Mensura Demanda de Falha

✔Se foca na redução do Lead Time

Page 68: O programador lean

Kanban:

Como a água...

Page 69: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

Page 70: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Nossa Demanda de Falha aindaé ALTA. Vamos automatizar testes!

Page 71: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

$$$!!

Page 72: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Vamos contratar um tester!

Vamos mudar para Ruby!

Vamos terceirizar para a India!

Page 73: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoO que programadores

geralmente fazem...

Page 74: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoIsso não é Agile!

No livro do Kent Becknão é assim!

No treinamento do _______isso é errado!

Burro praKCT!!!

Page 75: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

WTF?

Page 76: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

O que Programadores LEAN

fazem...

Page 77: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoCusto da Equipe: $ 40.000 / mêsCarga de Falha: ~$ 10.000 / mês

Custo do Kaizen (automatizar testes): ~$ 20.000 em 2 meses- Somente o módulo mais crítico (que representa 40% dos bugs)

Objetivo: Reduzir carga de falha em ~$ 4.000 / mêsRetorno sobre Investimento: 5 meses

Page 78: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoCusto da Equipe: $ 40.000 / mêsCarga de Falha: ~$ 10.000 / mês

Custo do Kaizen (automatizar testes): ~$ 20.000 em 2 meses- Somente o módulo mais crítico (que representa 40% dos bugs)

Objetivo: Reduzir carga de falha em ~$ 4.000 / mêsRetorno sobre Investimento: 5 meses

$$$!

Page 79: O programador lean

Cap

acid

ade

Revolução“Kaikaku”

Tempo

Evolução“Kaizen”

Status Quo

Novo Status Quo

Lidando com código legado e KanbanLidando com código legado e Kanban

Page 80: O programador lean

Cap

acid

ade

Revolução“Kaikaku”

Tempo

Evolução“Kaizen”

Status Quo

Novo Status Quo

Lidando com código legado e KanbanLidando com código legado e Kanban

Reescrever tudo em Ruby

Querer automatizartodos os testes

Rupturas grandes

WIP Altíssimo (Risco)

Automatizar aos poucos

Refatoração sob demanda

Reescritas pequenas

WIP Menor

Page 81: O programador lean

Lições do Programador Lean

✔ Adota uma abordagem evolucionária para mudanças

✔ Visualiza o fluxo de ponta-a-ponta

✔ Mensura Demanda de Falha

✔ Se foca na redução do Lead Time

✔Sabe lidar com código legado

Page 82: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

Page 83: O programador lean

PróximasDemandas

Aguardando ProduçãoImplementação Em ProduçãoHomologação

42 44 46

FILAFILA

Page 84: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em Produção

Fila “Aguardando Produção” toma emmédia 15% do nosso Lead Time!

Page 85: O programador lean

PróximasDemandas

Aguardando Produção

Implementação Em ProduçãoPela Lei de Little, com WIP fixo, 15% de redução de Lead Timerepresenta um acrescimo de 15% no Throughput

Custo do Kaizen (Continuous Delivery): ~$10.000 em 1 mês

Objetivo: Diminuir Variabilidade / Aumentar Entregas

Page 86: O programador lean

PróximasDemandas

Implementação Em ProduçãoHomologação

42 44 46

Page 87: O programador lean

PróximasDemandas

Implementação Em ProduçãoHomologação

42 44 46

One ClickDeploy!

Page 88: O programador lean

Como usar o Lead time Control Chart

9

8

7

6

5

4

3

2

1

Dias

Page 89: O programador lean

Lições do Programador Lean

✔ Adota uma abordagem evolucionária para mudanças

✔ Visualiza o fluxo de ponta-a-ponta

✔ Mensura Demanda de Falha

✔ Se foca na redução do Lead Time

✔ Sabe lidar com código legado

✔Toma decisões baseadas no modelo econômico

Page 90: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

O que é mesmo Kanban?

Page 91: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Visualize TUDO!

Fluxo, Bugs, Colaboração,Filas, Gargalos, Métricas,

Software não usado

Page 92: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Você não consegue gerenciaro que não consegue ver.

Page 93: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Uma ação sistêmica simplesque tem um benefício econômico

espetacular!

(Lei de Little)

Page 94: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Sem métricas não há Kaizen!

Page 95: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Tudo fica mais divertido comregras claras...

Page 96: O programador lean

Kanban Method propriedades

visualize

limite o trabalho em progresso

meça e gerencie o fluxo

torne as políticas do processo explícitas

melhore colaborativamente com métodos científicos

Mudanças e Kaizen nãosão sinônimos!

Page 97: O programador lean

“Mude. Mas comece devagar, porque a direção é mais importanteque a velocidade.”

Clarice Lispector

Page 98: O programador lean

Nem toda mudançaNem toda mudança é melhoria....é melhoria....

Page 99: O programador lean

Economical Model for Lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Page 100: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Geração de Valor

Custo de Coordenação

Carga de Falha

Page 101: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tr

an

saç

ão Geração de Valor

Custo de Coordenação

Carga de Falha

Page 102: O programador lean

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Cu

sto

de

Tra

ns

ação

Page 103: O programador lean

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Cu

sto

de

Tra

nsa

ção

Page 104: O programador lean

O que queremos?

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Page 105: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Page 106: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Sistemas puxadosAuto-organização

Democracia Organizacional

Page 107: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

Contratar SamuraisCloud

Arquitetura SimplesColaboração com cliente

Page 108: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de Coordenação

ChefCloud (Infra Simples)Continuous Delivery

Software fácil de usar

Page 109: O programador lean

Cu

sto

de

Tra

nsa

ção

Cu

sto

de

Tra

ns

ação

Carga de Falha

Geração de Valor

Custo de CoordenaçãoTestes AutomatizadosQualidade embutidaIntegração Contínua

Colaboração com usuários

Page 110: O programador lean

Resumo

Se encontrar resistência emocional, crie um sistema de forma que os problemas se tornem visíveis e engaje o grupo emocionalmente na

mudança.

Page 111: O programador lean

Obrigado!

Em BELO HORIZONTEPreços especiais para participantes do DevDay 2012!Preços especiais para participantes do DevDay 2012!

Dias 31 de novembro e 1 de dezembroMais informações: www.aspercom.com.br