Filosofia Lean
A filosofia Lean fala eliminar desperdício. O desperdício não acrescenta valor nenhum no que fazemos.
- Aprenda enxergar desperdício;
- O desperdício aparece :
- Quando se deixa algo para trás;
- Quando faz algo que não server para nada ou sem necessidade;
- Na atenção que perdemos quando fazemos varias tarefas ao mesmo tempo;
- No tempo que perdemos esperando algo de alguém;
- Na movimentação que pode ser evitada;
- Quando criando-se defeitos;
- No excesso de controle.
A filosofia diz que devemos aproveitar todas oportunidades para aprender mais. Isto acontece através de feedbacks, interações e integrações.
Decida tardiamente quando tiver mais informações. Isto tem custo, mas é menor do que os trazidos pelas más decisões.
Entregue o quanto antes. Tempo não se recupera.
Aprenda delegar e acredite no potencial das pessoas com quem trabalha.
Procure sempre melhorar suas habilidades de motivação e liderança e estimule o compartilhamento de aprendizado.
Desenvolva a visão do todo.
Não abra mão da qualidade.
Tenha orgulho do que faz ou você pode estar desperdiçando sua vida.
Origem do Lean
W. Edwards Deming (1900-1993):
- Sistema de conhecimento profundo;
Ciclo de Shewhart
- O Sistema de Produção da Toyota:
Taiichi Ohno (1912 - 1990)
Fluxo “Just-In-Time”:
- Complexidade X Economia de Escala;
Automação :
Shigeo Shingo (1909 - 1990):
Produção sem estoque:
- Trabalho organizado em tarefas pequenas;
Zero Inspeções:
Os valores foram expandidos para outras
áreas:
- Produção Lean;
- Manufatura / Operações Lean;
- Cadeia de Suprimentos Lean Desenvolvimento de Produtos Lean.
Desenvolver software é criar um novo
produto!
- Sempre aparece algo novo.
Problemas com Software
- Requisitos que mudam com freqüência;
- Decisões centralizada;
- Gerenciamento de escopo rígido;
- Desenvolvimento linear;
- Quase sem foco na qualidade do software.
Fluxo do Lean
Princípios Lean voltado para software
- Elimine Desperdícios;
- Inclua a Qualidade no Processo;
- Crie Conhecimento;
- Adie Comprometimentos;
- Entregue Rápido;
- Respeite as Pessoas;
- Otimize o TODO.
Eliminando desperdício poderemos entregar software funcionando que agregue valor ao cliente.
Elimine Desperdícios
- Trabalho incompleto;
- Processos desnecessários ou a mais;
- Funcionalidades desnecessários ou a mais;
- Troca de tarefas;
- Handoffs;
- Atrasos;
- Defeitos;
Inclua a Qualidade no Processo
- Não deixe os testes para final;
- Ciclos de teste extensos quase sempre gastam tempo corrigindo defeitos;
- Ao invés de se esforçar para gerenciar defeitos tente evita-lós, Teste de unidade ajudam;
- Prevenindo defeitos com vários tipos de teste:
- Testes de Aceitação;
- Testes de Usabilidade;
- Testes de Unidade;
- Testes de Resposta, Segurança,
Escalabilidade.
Crie Conhecimento
- Metáfora: criar x preparar uma receita;
- Incentive o compartilhamento de conhecimento;
- O processo deve sofrer melhoramentos contínuos.
Não existe bala de prata.
Fred Brooks
- Método científico (Plan-Do-Check-Act):
- Enquadre o problema;
- Busque pela raiz do problema;
- Fazer a proposta de uma solução;
- Implemente a solução;
- Verifique os resultado;
- Analise e adapte seus padrões.
- Mito: Predições criam previsibilidade.
Adie Comprometimentos
- Decisões irreversíveis devem ser tomadas o mais tarde possível ;
- Opções reais;
- É preciso definir o momento da decisão quando houver mais informação;
- Flexibilidade mal usada é ruim;
- Um bom líder saberá alocar flexibilidade;
- Mito: Um plano é um comprometimento;
- Design baseado em conjunto:
Na incerteza, experimente diversas soluções;
Agende o momento da decisão;
Sempre haverá uma solução que funciona.
Entregue Rápido
- Competir com base na velocidade traz
grande vantagem competitiva; - Utilize sistemas Pull em software;
- Utilize disseminadores de informações:
Kanban e Meeting.
- Utilize pequenas quantidades de trabalho:
Limite o trabalho à capacidade; - Teoria das filas:
Tempo do ciclo = Tarefas em processo/
Taxa Média para completa
Lições:
Pequenas quantidades de trabalho andam mais rápido;
Possuir alguns recursos inativos diminui o tempo do
ciclo.
- Tempo gasto esperando na fila é desperdício!
- Objetivo: Reduzir o tempo do ciclo!
Respeite as Pessoas
- 3 pilares estão relacionados às pessoas:
Liderança;
Time de trabalho com conhecimento;
Planejamento e controle baseado em responsabilidade.
- Liderança:
Bom conhecimento técnico;
Bom conhecimento do cliente. - Times completos.
- Pessoas são recursos?
- Papel da gerência é distribuir tarefas e
monitorar? - Exemplo: Idéia coletadas na Toyota.
- Motivação:
- Propósito;
- Participação;
- Segurança;
- Competência;
- Progresso;
A verdadeira inovação da Toyota é sua
habilidade em usufruir da inteligência dos
trabalhadores comuns. Gary Hamel
- Mova a responsabilidade e o poder de decisão para o nível mais baixo possível;
Otimize o TODO
- Círculo vicioso 1 no desenvolvimento
de software:
- Cliente pede nova funcionalidade, para ontem;
- Desenvolvedor ouve: Termine rápido!
- consequência: Mudanças feitas de qualquer jeito no
código; - consequência: Aumenta complexidade do código;
- consequência: Número de defeitos aumenta do código;
- consequência: Tempo para adicionar funcionalidade
cresce exponencialmente.
- Círculo vicioso 2 no desenvolvimento de
software:
- Equipe de testes sobrecarregada;
- consequência: Testes depois da codificação, nada agile;
- consequência: Desenvolvedores não recebem feedback
imediato, comunicação anda ruim no time; - consequência: Desenvolvedores criam mais defeitos;
- consequência: Equipe de teste sobrecarrega de trabalho.
- É preciso olhar para o processo todo;
- Não adianta remediar sintomas;
- É preciso achar a causa e resolver;
- 5 Porquês.
- Métricas:
- Medir informação x Medir desempenho;
- Tenha cuidado:
- É fácil medir muitas coisas;
- É fácil medir as coisas erradas;
- Diminua o número de métricas de
desempenho; - Meça para cima:
- Medidas no nível mais alto que direcionam para o comportamento correto;
- Medidas a nível de time, não de indivíduos.
- Incentive a colaboração do time.
Fonte:http://www.agilcoop.org.br
e www.youtube.com/watch?v=FsKghWVmyQo
Bye see you next post