Lean Software DevelopmentDo conceito ao
dinheiroRafael [email protected]
Rafael Caceres★ Sócio da Taller★ 15 anos de experiência com web★ Cientista da computação
HISTÓRIA
Partes Intercambiáveis
Pessoas Intercambiáveis
Os Toyodas
O Sistema Toyota de Produção
Just in Time
Just in Time
Lean
PRINCÍPIOSconceitos atemporais
Os 7 princípios do desenvolvimento de software enxuto
1. Eliminar desperdícios2. Integrar Qualidade3. Criar Conhecimento4. Adiar comprometimentos5. Entregar rápido6. Respeitar as pessoas7. Otimizar o todo
Eliminar Desperdícios
Integrar Qualidade
Criar Conhecimento
Adiar Comprometimento
s
Entregar Rápido
Respeitar as Pessoas
Otimizar o Todo
Desenvolvimento
Transformar idéias em produtos
Duas maneiras:● Determinística● Empírica
VALOR
Conceito, viabilidade, piloto e
dinheiro
Clientes Encantados
A Organização focada no cliente
1.O engenheiro chefe2.Time dirigente3.Liderança compartilhada4.Quem é o responsável?
Colaboração entre TI e Negócios
DESPERDÍCIO
Seja menos complexo!
Os 7 desperdícios
1. Trabalho Inacabado2. Funcionalidades Extra3. Reaprendizagem4. Transferência de controle5. Troca de tarefas6. Atrasos7. Defeitos
Trabalho Inacabado
Funcionalidades Extra
Reaprendizagem
Transferência de Controle
Troca de Tarefas
Atrasos
Defeitos
Mapeando o Fluxo de Valor
VELOCIDADE
Entregas Rápidas
Teoria das Filas
Reduzindo o tempo de ciclo● Ajuste a chegada de trabalho● Minimize o número de coisas no
processo● Minimize o tamanho das coisas em
processo● Estabeleça uma cadência regular● Limite o trabalho à capacidade● Use cronograma puxado
PESSOAS
W. Edwards Deming
Por que bons programadores
fracassam?
O que faz uma equipe?
Trabalho autodirecionado
1.Kanban2.Andon3.Dashboard
Incentivos
Diretrizes de compensação
1. Garanta que o sistema de promoção seja intangível
2. Retire a ênfase em aumentos anuais3. Recompense baseado no alcance de
influência, e não no alcance de controle4. Encontre motivações melhores que o dinheiro
CONHECIMENTO
Um modo científico de pensar
Comprometimento Just-in-Time
Uma abordagem disciplinada de resolução de problemas
1. Defina o problema2. Analise a situação3. Crie uma hipótese4. Realize experimentos5. Verifique resultados6. Acompanhe e padronize
Eventos Kaizen
QUALIDADE
Feedback constante
Disciplina
Desenvolvimento Guiado por Testes
TDD
Gerência de Configuração
Integração Contínua
Sincronização Aninhada
A JORNADA
Para onde vamos?
O que aprendemos?
● Six Sigma● Teoria das restrições● Hipóteses● Roteiro
O que aprendemos?● Otimize o todo● Respeite as pessoas● Entregue rápido● Postergue o comprometimento● Crie conhecimento● Integre qualidade● Elimine desperdícios
Dúvidas?
Top Related