o programador lean
TRANSCRIPT
O programador LeanAuxiliando sua liderança a tomar melhores decisões sobre seus processos
Rodrigo Yoshimablog.aspercom.com.br@rodrigoy
SistemaSistema
ComplexoComplexo
“Um sistema ruim vencerá um cara bom sempre”W. Edwards Deming
y = f(x)
Estado Atual Agile(Status Quo)
Estado Atual Agile
Trabalho em EquipeAuto-organizadoCliente presenteBoa Engenharia
Melhoria ContínuaResultados Rápidos
Estado Atual Agile
? Trabalho em EquipeAuto-organizadoCliente presenteBoa Engenharia
Melhoria ContínuaResultados Rápidos
Estado Atual Agile
Modelo de Transição
LEAN / KANBAN
Estado Atual
Agile
Modelo de Melhoria Contínua
LEAN / KANBAN
Zen Jedi
Na verdade...
Por que mudanças são tão difíceis?
“Pessoas não resistem mudar,elas resistem serem mudadas”
Peter Senge
2nd Generation Agile
Segunda Geração
de Métodos Ágeis
Cap
acid
ade
Revolução“Kaikaku”
Tempo
Status Quo
Novo Status Quo
Por que Kanban?Por que Kanban?
Cap
acid
ade
Revolução“Kaikaku”
Tempo
Evolução“Kaizen”
Status Quo
Novo Status Quo
Por que Kanban?Por que Kanban?
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
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
Lições do Programador Lean
✔Adota uma abordagem evolucionária para mudanças
O que é Visualizar?
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Essa é a história de umaequipe de manutenção
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
PróximasDemandas
Aguardando Produção
Implementação Em Produção
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Fluxo deTrabalho
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Equipes
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Demanda deValor
(amarelo)
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Demanda deFalha(rosa)
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)
PróximasDemandas
Aguardando Produção
Implementação Em Produção
PróximasDemandas
Aguardando Produção
Implementação Em ProduçãoAlgumas semanas depois...
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!
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)
There's no judgement There's no judgement in Kanbanin Kanban
David J. AndersonDavid J. Anderson
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!
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
Nova etapa noFluxo
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologaçãoAlgumas semanas depois...
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Demanda de falha reduziu para 23%!
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Demanda de falha reduziu para 23%!
KAIZEN CONFIRMADO
Lições do Programador Lean
✔ Adota uma abordagem evolucionária para mudanças
✔ Visualiza o fluxo de ponta-a-ponta
✔Mensura Demanda de Falha
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
Gargalo!!
Tô garrado...uai!
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
WIPWIP
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
LEAD TIME
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
THROUGHPUTTHROUGHPUT
Throughput = Leadtime
Work-in-progress
Throughput Leadtime =
Work-in-progress
Little's Law
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
É idioticetrabalhar
para alimentaruma fila!
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Vamos limitar o trabalho em progressopara estabelecer o fluxo!
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
LIMITESINCLUIDOS
LIMITES RESPEITADOS
SISTEMA MAIS PREVISIVEL E ESTÁVEL
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
WIP Baixo:Lead Time menorThroughput maior
(Lei de Little)
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)
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
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
Kanban:
Como a água...
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Nossa Demanda de Falha aindaé ALTA. Vamos automatizar testes!
PróximasDemandas
Aguardando Produção
Implementação Em Produção
$$$!!
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Vamos contratar um tester!
Vamos mudar para Ruby!
Vamos terceirizar para a India!
PróximasDemandas
Aguardando Produção
Implementação Em ProduçãoO que programadores
geralmente fazem...
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!!!
PróximasDemandas
Aguardando Produção
Implementação Em Produção
WTF?
PróximasDemandas
Aguardando Produção
Implementação Em Produção
O que Programadores LEAN
fazem...
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
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
$$$!
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
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
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
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
PróximasDemandas
Aguardando ProduçãoImplementação Em ProduçãoHomologação
42 44 46
FILAFILA
PróximasDemandas
Aguardando Produção
Implementação Em Produção
Fila “Aguardando Produção” toma emmédia 15% do nosso Lead Time!
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
PróximasDemandas
Implementação Em ProduçãoHomologação
42 44 46
PróximasDemandas
Implementação Em ProduçãoHomologação
42 44 46
One ClickDeploy!
Como usar o Lead time Control Chart
9
8
7
6
5
4
3
2
1
Dias
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
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?
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
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.
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)
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!
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...
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!
“Mude. Mas comece devagar, porque a direção é mais importanteque a velocidade.”
Clarice Lispector
Nem toda mudançaNem toda mudança é melhoria....é melhoria....
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
Cu
sto
de
Tra
nsa
ção
Cu
sto
de
Tra
ns
ação
Geração de Valor
Custo de Coordenação
Carga de Falha
Cu
sto
de
Tra
nsa
ção
Cu
sto
de
Tr
an
saç
ão Geração de Valor
Custo de Coordenação
Carga de Falha
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
Cu
sto
de
Tra
ns
ação
Carga de Falha
Geração de Valor
Custo de Coordenação
Cu
sto
de
Tra
nsa
ção
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
Cu
sto
de
Tra
nsa
ção
Cu
sto
de
Tra
ns
ação
Carga de Falha
Geração de Valor
Custo de Coordenação
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
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
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
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
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.
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