Post on 15-Apr-2017
Comparativo entre as filosofias Lean e Agile
Filosofia Lean• Termo cunhado em 1988 na obra Triumph of Lean Production
System de John Krafcik
• Essência originada do bom senso, organizada pela Toyota (TPS)
• Benjamin Franklin, Henry Ford e Frank Gilberth já citavam conceitos básicos
• Projetado para reduzir o desperdício, aumentar a eficiência operacional e comumente relacionado à atividades repetitivas
Princípios da Filosofia Lean
• Eliminar o desperdício
• Melhorar a qualidade
• Reduzir o tempo!
• Reduzir o custo total
"Getting the right things at the right place at right time in the right quantity to achieve
perfect workflow; while minimizing waste, being
flexibe and able to change."
Filosofia Agile
• Termo cunhado em fevereiro de 2001 em Chicago
• Refletir a realidade dinâmica, singular e caótica da engenharia de software
• Projetado para desenvolver atividades em curtos ciclos, com frequente envolvimento do cliente e estar preparado para efetuar mudanças rapidamente
Manigesto Ágil
• Pessoas e interações sobre processos e ferramentas
• Software funcionando sobre documentação abrangente
• Colaboração com o cliente sobre negociação de contratos
• Responder à mudanças sobre seguir um plano
Desenvolvimento Lean de Software
• Mary e Tom Poppendieck identificaram o valor do Lean para o Desenvolvimento de Software
• Lean Software Development, Implementing Lean Software Development, Leading Lean Software Development e The Lean Mindset
Princípios do Desenvolvimento Lean de Software
• Eliminar o desperdício*
• Construir qualidade
• Criar conhecimento
• Postergar decisões
• Entregar rápido
• Respeitar as pessoas
• Otimizar o todo
*Desperdício em Desenvolvimento de Software
• Multitasking
• Requisitos não claros ou em constante mudança
• Processos burocráticos
• Defeitos
• Iniciar mais trabalho do que pode ser concluído (código parcial)
• Funcionalidade ou código desnecesário
• Comunicação ineficiente
Princípios do Desenvolvimento Ágil de Software
• Maior prioridade é a satisfação do cliente
• Abraçar as mudanças
• Entregar software funcionando
• Negócios e desenvolvedores cooperam diariamente
• Desenvolver projetos com pessoas motivadas
• Priorizar comunicação cara-a-cara
• Medir progresso por software funcionando
• Ritmo de desenvolvimento sustentável
• Atenção contínua à excelência técnica
• Simplicidade
• Times auto-gerenciáveis
• Reflexões e adaptações regulares
Princípios Lean vs Práticas Ágeis
• Software funcionando
• Onsite costumer / Product Owner
• Sprint Retrospectives
• Evitar documentação desnecessária
Eliminar o desperdício
• Test Driven Development
• Pair Programming
• Automated Acceptance Testing
Construir qualidade
Princípios Lean vs Práticas Ágeis
• Pair programming
• Collective code ownership
• Code reviews
• Hackathon / Coding Dojos
Criar conhecimento
• Sprint Planning
• Agile contracting
• Refactoring
Postergar decisões
Princípios Lean vs Práticas Ágeis
• Keep it Simple Stupid
• Slicing the cake
• Potentially shipable product
• Continuous delivery
Entregar rápido
• Pessoas e interações sobre processos e ferramentas
• Planejamento feito por quem executa
• Jornadas de trabalho sustentáveis
• Daily Scrum (cara-a-cara)
Respeitar as pessoas
Princípios Lean vs Práticas Ágeis
• Times multidisciplinares
• Times auto-gerenciáveis
• Sprint Retrospectives
• Scrum/Kanbam board
Otimizar o todo
Lean==Agile?
• Ser Lean não é ser Agile
• Agile foi criado baseado em vários conceitos já adotados pelo Lean
• Mindset lean é necessário para alcançar o Agile
• Ambos trazem benefícios distintos que podem ser fortalecidos ao serem combinados