Post on 27-Jun-2015
description
Lean para Potencializar a Lean para Potencializar a Qualidade no SoftwareQualidade no Software
Trilha de Testes #TDC2014Trilha de Testes #TDC2014Dionatan MouraDionatan Mourawww.about.me/dionatanmourawww.about.me/dionatanmourahttp://topwalls.net
Sobre o Palestrante.● Trabalho como coach ágil nas equipes de desenvolvimento de
software na PROCERGS, buscando a melhor entrega de valor ao cidadão gaúcho. Mestre em Engenharia de Software na UFRGS, graduado em Ciência da Computação na UFRGS. Sou generalista especialista. Trabalho com Java desde 2006, sou coordenador do RSJUG e da trilha Java do TDC Porto Alegre. Ministro palestras e facilito Coding Dojos em eventos de métodos ágeis, tais como do TDC, GUMA-RS e GUTS-RS. Possuo as certificações SAFe Agilist SA, Scrum Master PSM I, Product Owner CSPO, Certified Scrum Developer CSD, Java Programmer OCPJP, testes de software CTFL, gestão de TI ITILv3 e melhoria de processos de software MPS-BR.
Lean é tãoLean é tãopoderoso assim?poderoso assim?
http://auto-carsmag.blogspot.com.br
Sakichi ToyodaSakichi Toyoda
http://phys.org
Mãe do Sakichi ToyodaMãe do Sakichi Toyoda(Final do século XIX)(Final do século XIX)
Model G (1924)Model G (1924)Sem produzir defeitos (Jidoka e Poka-Ioke)Sem produzir defeitos (Jidoka e Poka-Ioke)
http://www.makingthemodernworld.org.uk
Kiichiro ToyodaKiichiro Toyoda
JITJIT(Just-In-Time)(Just-In-Time)
Fundou o departamento automobilístico no Toyoda Automatic Loom Works, Ltd (1933).
Introduziu o método de fluxo de produção na fábrica têxtil de seu pai Sakichi (1938).
Eiji Eiji ToyodaToyoda
TPSTPS (Sistema Toyota de (Sistema Toyota de Produção)Produção)
KaizenKaizen
Taiichi Taiichi OhnoOhno
Fortaleceu Fortaleceu o TPSo TPS
Sete Desperdícios Sete Desperdícios (Muda)(Muda)
http://sesiondecontrol.com
Popularização do TPS
Continuação do Trabalhodo MIT (90's)
O poder do Lean está no foco na
Qualidade!
http://www.kalsi.com.au
Definir Definir Valor é o Valor é o pontapépontapé
http://www.startribune.com
O ValorO Valoré definido pelo cliente!é definido pelo cliente!
Desperdício é tudoque não agrega Valor!
http://www.cliffkule.com/
Reduzir desperdícios:- Aumenta a qualidade- Reduz o tempo de produção- Reduz custos
http://www.hashslush.com
ATENÇÃO!
Procurar defeitos/bugs é desperdício!
http://www.dan-dare.org
EntãoXGH (eXtreme Go Horse)
é Lean?
http://s89.photobucket.com
“Cláusula 20 - Teste é para os fracos.Se você meteu a mão num sistema XGH, é melhor saber o que
está fazendo. E se você sabe o que está fazendo, vai testar pra que? Testes são desperdício de tempo, se o código compilar, é o suficiente.”
eXtreme Go Horsehttp://www.gohorseprocess.com.br
É claro que não!
Porque.
http://s89.photobucket.com
No Lean, prevenir defeitos/bugsé essencial!
http://www.build-the-body.com
http://theclearblue.com
Iceberg dos
problemas
http://theclearblue.com
http://www.theaustin.com
Melhorias adiante!
SejaLean!
Combate aos 3 Mu's
http://www.nortegubisian.com.br
Muda(Desperdícios)
Três tipos de trabalho
● O que agrega valor● O que possui desperdício evidente
● O que possui desperdício oculto
http://pastormattblog.com
Sete Desperdícios (Muda)
Má Má utilização utilização do capital do capital humanohumano
http://placaspredial.com.br
Mura(Desbalanceamento)
JIT (Just-In-Time)● Fluxo Contínuo + Tempo Takt + Sistema Puxado
● 5A:– A peça/informação adequada– na qualidade adequada (zero defeito)– no momento adequado (agora)– nas quantidades adequadas (uma peça)– no lugar adequado (aqui)
www.staffinfotech.com
Muri(Sobrecarga)
Poka-YokePoka-Yoke
● Elementos e Elementos e processos à prova de processos à prova de falhasfalhas● Duas formas:Duas formas:
– Método de Controle Método de Controle (stop the line)(stop the line)
– Método de advertência Método de advertência (alarme)(alarme)
http://qualidadeonline.wordpress.com
JidokaAutonomação
– Automação com um toque humano● Não é puramente automação● Atenção humana apenas em situações anormais● Interrompe imediatamente o trabalho● Um operador para diversas máquinas
– Taylor defendia um homem em um posto com uma tarefa
JidokaJidoka(Autonomação)(Autonomação) http://www.aleanjourney.com
Zero Defeito● Detecção e solução dos problemas em sua origem
● Prevenção de erros● Identificação de erros● Retorno / aviso de erros● Eliminação de erros
Produção Puxada
Fonte: Porsche Consulting
Kanban
blogs.mulesoft.org
Takt Takt TimeTime
Ritmo de produção =Ritmo de produção =
Trabalho / DemandaTrabalho / Demandahttp://emsb-solutions.co.uk
HeijunkaHeijunkaProdução NiveladaProdução Nivelada
● Volume de produção constante Volume de produção constante (takt time)(takt time)
● Estoque para pico de demandaEstoque para pico de demanda● Sem gargalos!Sem gargalos!
Muda,Mura e Muri
Mapeamento de Fluxo de Valor (Value Stream Mapping)
courses.washington.edu
courses.washington.edu
HanseiHansei
http://matthewemay.com
Kaizen para sempre!
http://gophoto.us
Melhoria Contínua
http://marcelojusta.blogspot.com.br/
SDCA (Standardization)
PDCAPDCA
5 whys5 whys5 porquês
http://www.qualitydigest.com
http://designechimarrao.com.br
Visual FactoryVisual Factory
http://www.aleanjourney.com
VariabilidadeVariabilidade
http://blog.toyota.co.uk
Uhuuuuu! E no Desenvolvimento de
Software?
Lean Software Development
● Sete Princípios– Eliminar desperdícios– Inclua a qualidade no processo– Amplificar aprendizado– Decidir tão tarde quanto possível– Entregue rápido– Empoderar o time– Veja o todo
Lean Software Development
● Eliminar Desperdícios– Trabalho incompleto (estoque)– Funcionalidades extras (superprodução)– Reaprendizado– Processos extras (superprocessamento)– Troca de Tarefas– Espera (espera)– Defeito (defeito)
Lean Software Development
Como incluir a qualidade no processo?
Potencialize seu processo!• Feedback constante!• ATDD• BDD• Documentação Viva• Programação em Pares• Teste em Pares• Refatoração• Clean Code• Peer Review• Dívidas técnicas• TFD - Test First Development• TDD - Test Driven Development• Integração frequente• Automatização de testes• Integração Contínua
O Segredo:
FeedbackConstante!
http://www.samatters.com
Como?
<Título>Como um <papel de usuário>Eu quero <objetivo> Para que <razão>
ATDDAcceptance Test-Driven
Development Critério de Aceitação Dado que <pré-condição> Quando <ação> Então <resultado>
BDD
Documentação Viva
Clean Code
http://programmer.97things.oreilly.com/wiki/index.php/Uncle_Bob
TFDTestFirstDevelopment (code)
Refatoração“Uma mudança feita na estrutura interna do software para deixá-lo
mais fácil de entender e barato de modificar sem
mudar seu comportamento
observável.”
Martin Fowler
http://martinfowler.com
TDD - Test Driven DevelopmentTDD = TFD + Refatoração;
Trabalho em ParesTrabalho em Pareshttp://en.wikipedia.org
Peer ReviewPeer Review(Revisão por Pares)(Revisão por Pares)
http://www.phd2published.com
Dívidas Técnicas(Techinal Debt)
http://www.andrejkoelewijn.com/
Integração Contínua e Frequente
http://www.in2it.be
Automatização de Testes
http://martinfowler.com
Agile Testing
http://lisacrispin.com
Feedback é a chave!
Lean é Qualidade Total!
E não se esqueçam:
“Ambiente limpo não é o que mais se limpa,e sim o que menos se suja.” Chico Xavier
photobucket.com
Obrigado!
photobucket.com
Lean para Potencializar a Lean para Potencializar a Qualidade no SoftwareQualidade no Software
Trilha de Testes #TDC2014Trilha de Testes #TDC2014Dionatan MouraDionatan Mourawww.about.me/dionatanmourawww.about.me/dionatanmourahttp://topwalls.net