SlideShare uma empresa Scribd logo
A 
prá&ca 
de 
entrega 
de 
so0ware 
com 
rapidez 
e 
qualidade
Rodrigo 
Russo 
@zrusso 
Walmart.com 
iG 
Itautec 
Cetelem 
… 
Coordenador 
de 
Con&nuous 
Delivery
#1 
Walmart 
pela 
Fortune 
• Ranking 
Fortune 
Global 
500 
elegeu 
as 
maiores 
companhias 
em 
lucro 
e 
faturamento 
1. Walmart 
2. Royal 
Dutch 
Shell 
3. Sinopec 
Group 
4. China 
Na&onal 
Petroleum 
5. Exxon 
Mobil 
hUp://exame.abril.com.br/negocios/no&cias/revista-­‐fortune-­‐aponta-­‐wal-­‐mart-­‐como-­‐maior-­‐empresa-­‐do-­‐mundo
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
O 
Departamento 
hUp://api.ning.com/files/z5LYHFwf1ruO8aADGGgDAMNhFm-­‐ydcKSXdej8Szjfwq3fV51MdSpvemYDlo8gWpCwKhkCnMJhBjNOkf3LcLHypsijLGuXtjf/OldWest18501865.jpg
Plataforma 
de 
fornecedor 
hUp://judlaw.files.wordpress.com/2013/12/mesa-­‐ect-­‐368.jpg
hUp://cdn.acidcow.com/pics/20120311/old_west_01.jpg
Testes 
hUp://www.touristmaker.com/images/western-­‐sahara/western-­‐sahara-­‐desert-­‐and-­‐ocean.jpg
Herói
Build 
Master 
hUp://dreamchimney.com/o0heday/otd_images/20110527044721_auto.jpg
… 
Fornecedor 
A 
Fornecedor 
B 
TFS 
2 
Devs 
Code 
review 
Manutenção 
Pequenas 
melhorias 
Máquina 
do 
build 
Master 
• Merge 
do 
código 
• Versionamento 
• Empacotamento
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
hUp://images.huffingtonpost.com/2014-­‐06-­‐23-­‐gunfight.jpeg
E 
mesmo 
assim… 
Venda… 
Venda… 
Venda… 
hUp://www.insidemysteryshopping.com/assets/happy%20shopper%202.jpg
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
hUp://upload.wikimedia.org/wikipedia/commons/8/8e/Marco_zero_de_S%C3%A3o_Paulo_2.JPG
A 
Startup 
hUp://cdni.wired.co.uk/1240x826/a_c/A_startup.jpg
Novas 
dire&vas 
• Data 
center 
próprio 
• Equipe 
de 
infraestrutura 
(~4) 
• Equipe 
de 
System 
Engineers 
(1) 
• Equipe 
de 
InfoSec 
(1) 
• Equipe 
de 
desenvolvimento 
(~10) 
• Agilista 
(1)
Nova 
equipe 
• Foco 
na 
entrega 
• Equipe 
enxuta 
• Autonomia 
• Automação 
• Inovação 
• Novas 
tecnologias
Automação 
e 
novas 
tecnologias 
Push 
Pull 
… 
Package 
Repository 
apt-­‐get 
yum
Novo 
sistema 
no 
ar 
em 
poucas 
semanas 
• +90% 
de 
cobertura 
de 
testes 
unitários 
• Testes 
funcionais 
automa&zados 
• TDD 
• Pair 
programming 
• Infraestrutura 
como 
código 
• Build 
automa&zado 
• Down&me 
zero 
durante 
deploy 
• Possibilidade 
de 
realizar 
N 
deploys 
a 
qualquer 
momento 
• Agile 
• Dev 
+ 
Ops
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
2012 
hUp://dailypicksandflicks.com/wp-­‐content/uploads/2014/07/Sabella-­‐almost-­‐falling-­‐vs-­‐Beligum.jpg
A 
Empresa
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Nova 
plataforma
• A 
equipe 
define 
a 
melhor 
tecnologia 
para 
o 
problema 
– Jenkins 
– Build 
– Deploy 
– Testes 
– …. 
• Não 
abra 
mão 
da 
qualidade
Era 
assim 
hUp://ecx.images-­‐amazon.com/images/I/A1Kc-­‐7nR8EL._SL1500_.jpg
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Não 
foram 
só 
pessoas 
que 
aumentaram
Vários 
jenkins 
espalhados 
Vários 
padrões 
Perda 
de 
foco 
em 
novas 
features 
hUp://2.bp.blogspot.com/-­‐cN416AOoo_E/Tu3t5a97IEI/AAAAAAAAAr4/qXo3ez1WytY/s1600/child%2527s+progress.jpg 
Apenas 
Sys. 
Engs 
&nham 
acesso 
a 
receita 
do 
chef 
Devs 
não 
sen&am 
que 
a 
código 
de 
infra 
é 
parte 
do 
fluxo 
Deploy 
após 
vários 
sprints 
Grandes 
entregas 
com 
potenciais 
de 
rollback 
“Pacote 
está 
pronto, 
só 
falta 
instalar” 
Entregas 
demoradas
Agile 
InfoSec 
Devs 
Ops 
hUp://www.museumsyndicate.com/images/6/56154.jpg
“Devops 
é 
uma 
cultura” 
hUp://xdesktopwallpapers.com/wp-­‐content/uploads/2012/04/Morning%20Scene%20In%20Green%20Fields.jpg
hUp://www.defense.gov/DODCMSShare/NewsStoryPhoto/2009-­‐11/hrs_DF-­‐ST-­‐91-­‐01423.jpg
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Desenvolver 
ferramentas 
para 
facilitar 
a 
prá*ca 
de 
Con*nuous 
Delivery 
e 
promover 
as 
prá&cas 
de 
engenharia 
de 
so9ware 
ágil 
para 
reduzir 
o 
lead 
&me, 
reduzir 
o 
risco 
e 
aumentar 
a 
qualidade 
dos 
so0wares 
desenvolvidos.
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Mapa 
das 
equipes 
x 
Prá&cas 
de 
engenharia
Build 
automa&zado 
Testes 
unitários 
automa&zado 
Testes 
de 
desempenho 
20 
equipes 
Script 
de 
build 
Servidor 
de 
CI 
Build 
quebrando 
em 
função 
de 
testes 
que 
falham 
Deploy 
automa&zado 
Teste 
funcional 
automa&zado 
Ambientes 
Mapa 
das 
equipes 
x 
Prá&cas 
de 
engenharia
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Estratégia
Cultura 
Engenharia 
de 
Releases 
Ferramentas 
hUp://lendio.com/cms/wp-­‐content/uploads/2011/08/ThreePillars.png
“Culture 
is 
the 
way 
you 
think, 
act, 
and 
interact.” 
• Pair 
programming 
• Testes, 
testes, 
testes 
e 
mais 
testes 
• TDD 
• Con&nuous 
Integra&on 
(CI) 
• “Every 
build 
is 
a 
poten&al 
version” 
(kill 
snapshot) 
• Dev 
+ 
Ops 
donos 
do 
código 
de 
infraestrutura
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Works 
on 
my 
machine
Coaching
Con&nuous 
Integra&on 
“Con&nuous 
Integra&on 
(CI) 
is 
the 
prac&ce, 
in 
so0ware 
engineering, 
of 
merging 
all 
developer 
working 
copies 
with 
a 
shared 
mainline 
several 
&mes 
a 
day.”
Branching 
Strategy 
• Centralized 
workflow 
• Forking 
workflow 
• Feature 
branch 
workflow 
hUp://th09.deviantart.net/fs70/PRE/i/2009/352/8/d/snibston_train_line___by_Ph0t0_girl.jpg
Deployment 
pipeline
Testes 
Automa&zados 
• Testes 
Automa&zados 
• Execução 
dos 
testes 
automa&zados 
no 
jenkins 
• O 
resultado 
dos 
testes 
são 
decisivos 
• O 
resultado 
dos 
testes 
devem 
ser 
visíveis 
a 
todos
Feedback 
• E-­‐mail 
• Build 
Monitor 
plugin 
• Slack 
no&fica&on 
• … 
hUp://bamboo-­‐river.com/wp-­‐content/uploads/2011/02/feedback1.jpg
“The 
whole 
point 
of 
con&nuous 
delivery 
is 
that 
every 
check-­‐in 
creates 
a 
poten&al 
release 
candidate. 
“ 
Kill Snapshot 
Jez 
Humble 
• Testes 
realizados 
com 
pacote 
“-­‐snapshot” 
não 
eram 
os 
mesmos 
que 
eram 
promovidos 
para 
produção. 
• Testes 
realizados 
2x. 
Pacote 
“-­‐snapshot” 
e 
pacote 
released 
• Ausência 
de 
tag 
no 
git 
com 
a 
versão 
do 
pacote 
fechada 
• Falta 
de 
rastreabilidade 
no 
código
StepUp 
Marcelo 
Manzan 
StepUp 
is 
an 
u&lity 
that 
helps 
other 
projects 
to 
manage 
your 
versioning 
increase. 
• Bene|cios 
hUps://github.com/kawamanza/step-­‐up 
– Seman&c 
Versioning 
(hUp://semver.org/) 
– Changelog! 
e 
versionado 
– Não 
é 
necessário 
lembrar 
o 
que 
foi 
feito 
para 
definir 
um 
número 
de 
versão 
– Menos 
preocupação 
para 
o 
desenvolvedor 
“Um 
grupo 
de 
commits 
é 
uma 
potencial 
versão 
para 
produção”
> 
git 
commit 
–m 
“xyz” 
> 
git 
commit 
–m 
“abc” 
> 
git 
commit 
–m 
“e” 
> 
stepup 
notes 
add 
-­‐-­‐sec&on 
bugfixes 
-­‐m 
"support 
for 
old 
installa&ons” 
> 
git 
push 
1.0.0 
Bugfixes: 
-­‐ 
support 
for 
old 
installa&ons
> 
git 
commit 
–m 
“xyz” 
> 
git 
commit 
–m 
“abc” 
> 
git 
commit 
–m 
“e” 
> 
stepup 
notes 
add 
-­‐-­‐sec&on 
bugfixes 
-­‐m 
"support 
for 
old 
installa&ons” 
> 
git 
push 
Pull 
> 
stepup 
version 
create 
QA 
Package 
Repository 
App 
App 
App 
App 
App 
1.0.0 
1.0.1 
Bugfixes: 
-­‐ 
support 
for 
old 
installa&ons
> 
git 
commit 
–m 
“xyz” 
> 
git 
commit 
–m 
“abc” 
> 
git 
commit 
–m 
“e” 
> 
stepup 
notes 
add 
-­‐-­‐sec&on 
bugfixes 
-­‐m 
"support 
for 
old 
installa&ons” 
> 
git 
push 
Pull 
> 
stepup 
version 
create 
QA 
Package 
Repository 
App 
App 
App 
App 
App 
STG 
Package 
Repository 
App 
App 
App 
App 
App 
Promote 
1.0.0 
1.0.1 
Bugfixes: 
-­‐ 
support 
for 
old 
installa&ons
> 
git 
commit 
–m 
“xyz” 
> 
git 
commit 
–m 
“abc” 
> 
git 
commit 
–m 
“e” 
> 
stepup 
notes 
add 
-­‐-­‐sec&on 
bugfixes 
-­‐m 
"support 
for 
old 
installa&ons” 
> 
git 
push 
Pull 
> 
stepup 
version 
create 
QA 
Package 
Repository 
App 
App 
App 
App 
App 
STG 
Package 
Repository 
App 
App 
App 
App 
App 
PROD 
Package 
Repository 
App 
App 
App 
App 
App 
Promote 
Promote 
1.0.0 
1.0.1 
Bugfixes: 
-­‐ 
support 
for 
old 
installa&ons
Outras 
mudanças 
culturais 
• Feature 
toggle 
• Branch 
by 
abstrac&on 
• Teste 
é 
da 
equipe, 
não 
do 
QA 
• Deploy 
frequentes 
• Pacotes 
menores 
• Deploy 
não 
deve 
ser 
uma 
cerimônia 
• Rollback 
não 
é 
a 
morte! 
• "A 
vida 
é 
muito 
curta 
para 
fazer 
deploy 
de 
madrugada"
PL/SQL Oracle Forms
BACON 
Build 
Applica&on 
CON&nuously 
• Plataforma 
para 
agilizar 
a 
entrega 
de 
so0ware 
• Independente 
de 
linguagem 
e 
tecnologia 
• Suporte 
a 
novas 
tecnologias 
rapidamente 
• Serviço 
core 
para 
equipes 
(monitoração, 
backup, 
24hx7, 
…) 
• Suporte 
a 
u&lização
Build 
Sta&c 
Analysis 
Security 
Sta&c 
Analysis 
Tagging 
Package 
Promote 
/ 
Deploy 
Smoke 
Tests 
Func&onal 
Tests 
Security 
dynamic 
Analysis 
Performance 
testes 
Geminabox
Ecossistema 
Logging 
& 
Metrics 
Test 
Environment 
Orchestra&on 
Build 
Data 
Repo 
SCM 
Ar&fact 
Repo 
Build 
Provision 
Deploy 
Test 
Release
Organização 
das 
equipes 
de 
devtools, 
qa, 
syseng, 
infosec,… 
ITGov 
System 
Engineers/ 
System 
Administrators 
DevTools 
Equipes 
de 
desenvolvimento 
Quality 
Assurance 
Agile 
Process 
InfoSec
Deploy 
+ 
+ 
• Entender 
o 
fluxo 
• Criamos 
uma 
ferramenta 
interna 
para 
fazer 
a 
“cola” 
entre 
jenkins 
e 
chef 
• Primeiro 
este 
passo, 
para 
então 
u&lizar 
as 
ferramentas 
corretas
Deploy 
+ 
+ 
• Blue-­‐green 
• CanaryRelease
Garan&a 
da 
qualidade 
• Automação 
• Autonomia 
• BDD 
• Testes 
automa&zados 
• Testes 
exploratórios 
• Comunicação 
• Critérios 
de 
aceite
“You 
write 
you 
own” 
Neil 
Ashe, 
President 
and 
CEO 
at 
Walmart 
Global 
eCommerce
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
2013
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
Case Walmart.com: a prática da entrega de software com rapidez e qualidade
DevTools 
acelera 
o 
amadurecimento 
da 
equipe
Setembro/2014 
• +250 
TI 
• +40 
produtos 
• +24 
equipes 
internas 
+ 
10 
externas 
• + 
1400 
jobs 
• Setembro: 
– 200 
deploys
Métricas 
• Sonar 
• Projeto 
interno 
para 
visualizar 
métricas 
por 
projeto 
de 
so0ware 
• Score 
por 
projeto 
de 
so0ware 
• Score 
é 
decisório 
para 
“Mudança 
ágil”
Pontos 
importantes 
• Métricas 
são 
fundamentais 
• Padrões 
são 
necessários 
para 
automação 
• Mudança 
cultural 
organizacional 
é 
imprescíndivel 
• Plan 
Do 
Check 
Act 
• Cada 
equipe 
tem 
o 
seu 
tempo 
para 
amadurecer 
• Cada 
equipe 
é 
única, 
e 
cada 
so0ware 
também 
• Não 
desista! 
Vale 
a 
pena
Obrigado 
!!! 
Rodrigo.russo@walmart.com

Mais conteúdo relacionado

PDF
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
PDF
Apresentacao dev ops
PPTX
QAOps e a sua impotância para a qualidade de software
PDF
Como montar um DevOps Toolchain
PDF
DevOps - o que é?
PDF
Continuous delivery
PPTX
Integração Contínua
PDF
SRE for dummies - Sebastian Webber
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
Apresentacao dev ops
QAOps e a sua impotância para a qualidade de software
Como montar um DevOps Toolchain
DevOps - o que é?
Continuous delivery
Integração Contínua
SRE for dummies - Sebastian Webber

Mais procurados (8)

PDF
Utilizando metodologias ágeis em uma empresa CMMI nível 5
KEY
Continuous delivery
PPTX
Tendências e Dicas para o Desenvolvimento de Software
PDF
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
PPT
Introdução a Application Life-cycle Management Open Source
KEY
DevOps, NoOps...afinal que raios é isso?
PDF
O que é DevOps? Introdução à abordagem pela IBM
PPTX
DevOps Apresentação Encontro Rational 2013
Utilizando metodologias ágeis em uma empresa CMMI nível 5
Continuous delivery
Tendências e Dicas para o Desenvolvimento de Software
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
Introdução a Application Life-cycle Management Open Source
DevOps, NoOps...afinal que raios é isso?
O que é DevOps? Introdução à abordagem pela IBM
DevOps Apresentação Encontro Rational 2013
Anúncio

Destaque (7)

PPTX
Webinar Navita | Saiba Como Profissionalizar a Gestão de Dispositivos Móveis...
PDF
Designing a Mobile Device Lab - XBOSoft Webinar
PPTX
Hassle-Free Continuous Integration with Real Device Testing
PDF
Testing in a continuous delivery environment
PPTX
CI/CD for mobile at HERE
PPTX
Best Practices for DevOps in Mobile App Testing
PDF
Build Features, Not Apps
Webinar Navita | Saiba Como Profissionalizar a Gestão de Dispositivos Móveis...
Designing a Mobile Device Lab - XBOSoft Webinar
Hassle-Free Continuous Integration with Real Device Testing
Testing in a continuous delivery environment
CI/CD for mobile at HERE
Best Practices for DevOps in Mobile App Testing
Build Features, Not Apps
Anúncio

Semelhante a Case Walmart.com: a prática da entrega de software com rapidez e qualidade (20)

PPTX
Deploy automático em projeto PHP - PHPSPIMA 2016
PPTX
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
PPTX
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
PDF
IFSP 2015 - Cultura DevOps
PPTX
Webinar DevOps - Encontros Ágeis
PPTX
ASP.Net Performance – A pragmatic approach - Luis Paulino
PDF
Webinar: Introdução à Distribuição Contínua na AWS
PPTX
PPTX
[DevOps Carioca] Continuous Delivery
PDF
Apresentação "O CMS Seguro"
PDF
QConSP 2014 - Continuous Delivery - Part 05 - Testes
PPTX
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
PDF
Precisa testar? - Parte 1
PDF
SAPO Session: Continuous Integration
PDF
Levando seu SCM à outro nível com Feature Flags
PDF
TDC2016POA | Trilha Web - Front-end that scales
PDF
Android Dev Conference 2017 - Automação de Testes na Cloud
PPTX
[Lady talks]Continuous Delivery
PDF
Construindo aplicações Cloud Native em Go
PDF
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Deploy automático em projeto PHP - PHPSPIMA 2016
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
IFSP 2015 - Cultura DevOps
Webinar DevOps - Encontros Ágeis
ASP.Net Performance – A pragmatic approach - Luis Paulino
Webinar: Introdução à Distribuição Contínua na AWS
[DevOps Carioca] Continuous Delivery
Apresentação "O CMS Seguro"
QConSP 2014 - Continuous Delivery - Part 05 - Testes
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
Precisa testar? - Parte 1
SAPO Session: Continuous Integration
Levando seu SCM à outro nível com Feature Flags
TDC2016POA | Trilha Web - Front-end that scales
Android Dev Conference 2017 - Automação de Testes na Cloud
[Lady talks]Continuous Delivery
Construindo aplicações Cloud Native em Go
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração

Mais de Rodrigo Russo (6)

PDF
QConSP 2014 - Continuous Delivery - Part 06 - Conclusão
PDF
QConSP 2014 - Continuous Delivery - Part 05b - Deployment
PDF
QConSP 2014 - Continuous Delivery - Part 05a - Data Migration
PDF
QConSP 2014 - Continuous Delivery - Part 04 - Agile
PDF
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
PDF
QConSP 2014 - Continuous Delivery - Part 01 - Introdução
QConSP 2014 - Continuous Delivery - Part 06 - Conclusão
QConSP 2014 - Continuous Delivery - Part 05b - Deployment
QConSP 2014 - Continuous Delivery - Part 05a - Data Migration
QConSP 2014 - Continuous Delivery - Part 04 - Agile
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 01 - Introdução

Último (6)

PDF
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
PPT
Aula_15.pptssssssssssssssssssssssssssssssssssssss
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
PROJETO DE PESQUISA PRONTO ESTÉTICA 2025 ABNT.pdf
PPTX
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
Aula_15.pptssssssssssssssssssssssssssssssssssssss
Certificado de Conclusão Jornada Inteligência Artificial
PROJETO DE PESQUISA PRONTO ESTÉTICA 2025 ABNT.pdf
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf

Case Walmart.com: a prática da entrega de software com rapidez e qualidade