Lean Software Development
Do conceito ao dinheiro
Rafael Caceres
rafael@taller.net.br
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ÍPIOS
conceitos atemporais
Os 7 princípios do desenvolvimento de
software enxuto
1. Eliminar desperdícios
2. Integrar Qualidade
3. Criar Conhecimento
4. Adiar comprometimentos
5. Entregar rápido
6. Respeitar as pessoas
7. Otimizar o todo
Eliminar Desperdícios
Integrar Qualidade
Criar Conhecimento
Adiar
Comprometimentos
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 chefe
2. Time dirigente
3. Liderança compartilhada
4. Quem é o responsável?
Colaboração entre
TI e Negócios
DESPERDÍCIO
Seja menos complexo!
Os 7 desperdícios
1. Trabalho Inacabado
2. Funcionalidades Extra
3. Reaprendizagem
4. Transferência de controle
5. Troca de tarefas
6. Atrasos
7. 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. Kanban
2. Andon
3. Dashboard
Incentivos
Diretrizes de compensação
1. Garanta que o sistema de promoção seja intangível
2. Retire a ênfase em aumentos anuais
3. Recompense baseado no alcance de influência, e não
no alcance de controle
4. 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 problema
2. Analise a situação
3. Crie uma hipótese
4. Realize experimentos
5. Verifique resultados
6. 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?

Implementando o Desenvolvimento Lean de Software - Do conceito ao dinheiro

Notas do Editor

  • #3 [fala] - Hi, my name is Rafael Caceres and I am a co founder and manager partner at Taller. I'm a graduate in computer science and I have 15 year of experience with Web Projects.
  • #42 Value is when your client realizes that he is getting more or spending less with you. Expensive or cheap is simply a perception of value.
  • #43 [fala] - A system with more then 80% of it capacity tends to have endless queues. [fala] - It is like a car queue. If the street is full with 100% of its capacity, all the cars stop everytime one car stops.