LLeeaann ppaarraa PPootteenncciiaalliizzaarr aa 
QQuuaalliiddaaddee nnoo SSooffttwwaarree 
TTrriillhhaa ddee TTeesstteess ##TTDDCC22001144 
DDiioonnaattaann MMoouurraa 
http://topwalls.net wwwwww..aabboouutt..mmee//ddiioonnaattaannmmoouurraa
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.
LLeeaann éé ttããoo 
ppooddeerroossoo aassssiimm??
http://auto-carsmag.blogspot.com.br 
SSaakkiicchhii TTooyyooddaa
http://phys.org 
MMããee ddoo SSaakkiicchhii TTooyyooddaa 
((FFiinnaall ddoo ssééccuulloo XXIIXX))
MMooddeell GG ((11992244)) 
SSeemm pprroodduuzziirr ddeeffeeiittooss ((JJiiddookkaa ee PPookkaa--IIookkee)) 
http://www.makingthemodernworld.org.uk
KKiiiicchhiirroo TTooyyooddaa 
JJIITT 
((JJuusstt--IInn--TTiimmee)) 
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).
EEiijjii 
TTooyyooddaa 
TTPPSS 
((SSiisstteemmaa TTooyyoottaa ddee 
PPrroodduuççããoo)) 
KKaaiizzeenn
TTaaiiiicchhii 
OOhhnnoo 
FFoorrttaalleecceeuu 
oo TTPPSS 
SSeettee DDeessppeerrddíícciiooss 
((MMuuddaa)) 
http://sesiondecontrol.com
Popularização do TPS
Continuação do Trabalho 
do MIT (90's)
O poder do Lean 
está no foco na 
Qualidade! 
http://www.kalsi.com.au
DDeefifinniirr 
VVaalloorr éé oo 
ppoonnttaappéé 
http://www.startribune.com
OO VVaalloorr 
éé ddeefifinniiddoo ppeelloo cclliieennttee!!
Desperdício é tudo 
que 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ão 
XGH (eXtreme Go Horse) 
é Lean? 
http://s89.photobucket.com
eXtreme Go Horse 
http://www.gohorseprocess.com.br 
“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.”
É claro que 
não! 
Porque. 
http://s89.photobucket.com
No Lean, prevenir 
defeitos/bugs 
é essencial! 
http://www.build-the-body.com
Iceberg 
dos 
problemas 
http://theclearblue.com 
http://theclearblue.com
http://www.theaustin.com 
Melhorias 
adiante!
Seja 
Lean!
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)
MMáá 
uuttiilliizzaaççããoo 
ddoo ccaappiittaall 
hhuummaannoo 
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)
PPookkaa--YYookkee 
● EElleemmeennttooss ee 
pprroocceessssooss àà pprroovvaa ddee 
ffaallhhaass 
● DDuuaass ffoorrmmaass:: 
– MMééttooddoo ddee CCoonnttrroollee 
((ssttoopp tthhee lliinnee)) 
– MMééttooddoo ddee aaddvveerrttêênncciiaa 
((aallaarrmmee)) 
http://qualidadeonline.wordpress.com
Jidoka 
Autonomaçã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
JJiiddookkaa 
((AAuuttoonnoommaaççããoo)) 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
TTaakktt 
TTiimmee 
RRiittmmoo ddee pprroodduuççããoo == 
TTrraabbaallhhoo // DDeemmaannddaa 
http://emsb-solutions.co.uk
HHeeiijjuunnkkaa 
PPrroodduuççããoo NNiivveellaaddaa 
● VVoolluummee ddee pprroodduuççããoo ccoonnssttaannttee 
((ttaakktt ttiimmee)) 
● EEssttooqquuee ppaarraa ppiiccoo ddee ddeemmaannddaa 
● SSeemm ggaarrggaallooss!!
Muda, 
Mura e Muri
Mapeamento de Fluxo de Valor 
(Value Stream Mapping) 
courses.washington.edu 
courses.washington.edu
HHaannsseeii 
http://matthewemay.com
Kaizen para sempre! 
http://gophoto.us 
Melhoria Contínua
http://marcelojusta.blogspot.com.br/ 
PDCA PDCA 
SDCA 
(Standardization)
55 wwhhyyss 
5 porquês 
http://www.qualitydigest.com
http://designechimarrao.com.b 
r
VViissuuaall FFaaccttoorryy 
http://www.aleanjourney.com
VVaarriiaabbiilliiddaaddee 
http://blog.toyota.co.uk
Uhuuuuu! E no 
Desenvolvimento de 
Software?
Lean Software Development
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)
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:
Feedback 
Constante! 
http://www.samatters.com
Como?
<Título> 
Como um <papel de usuário> 
Eu quero <objetivo> 
Para que <razão> 
ATDD 
Acceptance 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
TFD 
Test 
First 
Development (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 Development 
TDD = TFD + Refatoração;
TTrraabb aallhhoo eemm PPaarreess 
http://en.wikipedia.org
PPeeeerr RReevviieeww 
((RReevviissããoo ppoorr PPaarreess)) 
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
LLeeaann ppaarraa PPootteenncciiaalliizzaarr aa 
QQuuaalliiddaaddee nnoo SSooffttwwaarree 
TTrriillhhaa ddee TTeesstteess ##TTDDCC22001144 
DDiioonnaattaann MMoouurraa 
http://topwalls.net wwwwww..aabboouutt..mmee//ddiioonnaattaannmmoouurraa

Lean para potencializar a qualidade no software