SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
#1e5d91
Remix de palestra de Joshua Kerievsky
por Alexandre Freire
@freire_da_silva
http://industriallogic.com
Valorizando	
  a	
  
Segurança
Um	
  caminho	
  inesperado	
  à	
  excelência
alex@industriallogic.com
@freire_da_silva
• Diretor de Segurança dos Produtos
@IndustrialLogic
• Ágile desde 2001
• Fundou a AgilCoop e a AgilBits
• Tese de Mestrado:“Reflexões sobre o
Ensino de Metodologias Ágeis na
Academia, Indústria e Governo”
• Décadas de experiência e sucessos com
organizações renomadas mundialmente
• Gosta de construir casas
#1e5d91
#1e5d91
#1e5d91
#1e5d91
Trigger
Warning
may contain
psychological and sexual
violence
#1e5d91
http://www.youtube.com/watch?v=xZLCoYrmZwk
#1e5d91
#1e5d91
#1e5d91
Anyone?
#1e5d91
#1e5d91
#1e5d91
Ferimentos Físicos
Dor nas costas
Torcicolo Punhos doloridos
Síndrome do túnel cárpico
Enxaquecas Vista cansada
LetargiaPressão Alta
#1e5d91Ferimentos para Usuários
Irritação
com a
Interface
Instalação
Sofrida
Miséria
Manual
Upgrade Quebrado
Perder Dados
Pancada do Bug
Vergonha de Errar
Frustação Funcional
#1e5d91
Ferimentos Emocionais
Stress de Entrega
Medo de Falhar
Desrespeito
Confiança Perdida
Medo de demissão
Angustia de faltar
Crescimento
Congelado
#1e5d91
Ferimentos
Cognitivos
#1e5d91
Agonia
de
Tecnologia
Antiquada
#1e5d91
Hernia
Cerebral
#1e5d91
Pancada do
Navegador
#1e5d91
Complexidade
Esmagadora
#1e5d91
Entrega #
Desenvolvi-
mento
(mêses)
Hardening
(mêses)
Tempo Total
(mêses)
5.0 6 6 12
5.1 7 8 15
5.2 4 7 11
Desgosto de
Atraso
#1e5d91
Depressão de
Duplicação
#1e5d91
Frustração c/
Fragilidade
#1e5d91
Miséria no
Merge
#1e5d91
Instalação
Sofrida
#1e5d91
Tensão de
Produção
#1e5d91
Ódio da
Entrega
#1e5d91
Normalização
do Desvio
#1e5d91“Falhar é inerentemente inseguro
e a maioria dos times e
organizações não são lugares
onde podemos aprender das
nossas falhas com segurança.”
- Amr Elssamadisy
#1e5d91
Hierarquia
das
Necessidades
de
Maslow
#1e5d91
#1e5d91
“Pretendo	
  transformar	
  a	
  ALCOA	
  na	
  empresa	
  
mais	
  segura	
  da	
  América.	
  Meu	
  obje<vo	
  é	
  zero	
  
ferimentos.”
Paul O’Neill
Photo:	
  REUTERS/Tony	
  Gen<le
#1e5d91
“Foi	
  literalemente	
  o	
  pior	
  conselho	
  
que	
  dei	
  na	
  minha	
  carreira.”
VENDE!!!
#1e5d91
“Deste	
  dia	
  em	
  diante,	
  nós	
  
não	
  vamos	
  orçar	
  coisas	
  
que	
  precisamos	
  fazer	
  para	
  
melhorar	
  as	
  condições	
  de	
  
segurança.”
#1e5d91
Ferimento	
  no	
  trabalho?
Precisamos	
  saber	
  em	
  24	
  horas.	
  
CEO
Presidentes
Vice	
  Presidentes
.	
  .	
  .
Gerente	
  da	
  Fábrica
.	
  .	
  .
Trabalhador	
  da	
  Fábrica
O	
  que	
  
aconteceu?
Como	
  fazer	
  para	
  
que	
  nunca	
  
aconteça	
  
novamente?
#1e5d91
Gráfico	
  cortesia	
  de	
  William	
  O’Rourke,	
  Diretor	
  de	
  Segurança	
  c/	
  3	
  CEOs	
  da	
  ALCOA
#1e5d91
#1e5d91
Receita	
  da	
  ALCOA	
  (em	
  Bilhões)	
  1987-­‐2012
#1e5d91
“Demora	
  10	
  minutos	
  
pra	
  executar	
  o	
  
procedimento	
  de	
  
trancar	
  e	
  taguear.
É	
  um	
  saco,	
  e	
  ainda	
  mais	
  
pra	
  um	
  reparo	
  que	
  
demora	
  5	
  segundos..”
-­‐	
  trabalhador	
  da	
  
ALCOA	
  com	
  
experiência	
  +	
  20	
  anos
#1e5d91
“Alguns	
  hábitos	
  tem	
  mais	
  
impacto	
  que	
  outros...
[eles]	
  parecem	
  destravar	
  
todas	
  essas	
  outras	
  
mudanças	
  e	
  começar	
  uma	
  
reação	
  em	
  cadeia.”	
  	
  
–	
  Charles	
  Duehigg,	
  
O	
  Poder	
  dos	
  Hábitos
Hábitos	
  Chave
#1e5d91
•Respeito
•Integridade
•Comunicação
•Excelência
#1e5d91
UM	
  VALOR!
Não	
  2,	
  3,	
  4,	
  5...
#1e5d91
Sentado ou
em pé
Parear
com
comforto
#1e5d91
#1e5d91
Seguro
p/ Falhar,
Cair, ou
Balançar
#1e5d91
#1e5d91
#1e5d91
Continuous Deployment:
Segurança para Implantar Software
#1e5d91
Gastar	
  40	
  minutos	
  consertando
erros	
  de	
  compilação	
  não	
  é	
  seguro.
#1e5d91
Você	
  faz	
  TDD	
  mesmo?
#1e5d91
#1e5d91
	
  Jun	
  16,	
  2010	
  8:56:42	
  AM	
  com.industriallogic.shared.achon.AchonProcessorServlet	
  processRequest
	
  	
  	
  	
  SEVERE:	
  null	
  	
  	
  
	
  	
  	
  	
  java.lang.NullPointerExcephon
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.achon.ScreencastDownloadAchon.moviePathFor(ScreencastDownloadAchon.java:73)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.achon.ScreencastDownloadAchon.screencastFileNameFor(ScreencastDownloadAchon.java:53)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.achon.ScreencastDownloadAchon.process(ScreencastDownloadAchon.java:21)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.shared.achon.Achon.processWith(Achon.java:32)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.shared.achon.AchonProcessor.processWith(AchonProcessor.java:19)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.shared.achon.AchonProcessorServlet.processRequest(AchonProcessorServlet.java:61)
	
  	
  	
  	
  	
  	
  	
  	
  at	
  com.industriallogic.shared.achon.AchonProcessorServlet.doGet(AchonProcessorServlet.java:49)
ScreencastDownloadAction.java
Excessões do nosso código
#1e5d91
private	
  boolean	
  movieExistsFor(String	
  pathToMovie)	
  {
	
   return	
  new	
  File(pathToMovie).exists();
}
private	
  String	
  moviePathFor(String	
  ac<vity,	
  String	
  screencastFileName,	
  Language	
  devLanguage)	
  {
	
   return	
  screencastPath	
  +	
  "/"	
  +	
  ac<vity	
  +	
  "/"	
  +	
  devLanguage.key	
  +	
  "/"	
  +	
  screencastFileName;
}
	
  	
  	
  protected	
  boolean	
  isBrowsing()	
  {
	
  	
  	
  	
   	
  	
  	
  return	
  getUser().isBrowsing();
	
  	
  	
  	
  }
	
  	
  	
  	
  private	
  Language	
  getDevLanguage()	
  {
	
   	
  	
  	
  	
  return	
  getUser().getDevLanguageEnum();
	
  	
  	
  	
  }
Visualizando Exceções
no Nosso Código
237	
  Produc<on	
  Excep<ons	
  here
#1e5d91
Test	
  failed	
  21	
  hmes	
  locally	
  &	
  36	
  hmes	
  in	
  
dev	
  build	
  in	
  the	
  last	
  6	
  months.
#1e5d91
Calcular Uso de Funcionalidades
#1e5d91
Students(Can’t(Access(Service(
New(Produc5on(
Server(
Ok(To(Toggle((
Test(Passes(
Immune(System(
Fails(
No(Auto?(
Rollback(
No(SMS(
No(Policy(
Non?Standard(
Tomcat(Runner(
Nginx(Points(
To(Down(
Service(
Non?Standard(
Java(Version( JRE(Crash(
No(Policy(
And$
And$ And$ And$
Fault Tree Analysis de Downtime
#1e5d91
Production Local
Tomcat 6 Tomcat 7
MySQL 5.5.9
Case Sensitive
MySQL 6.1
Case Insensitive
JRE version (box 1): 6
JRE version (box 2): 7
JREVersion 6
Diferenças	
  do	
  ambientes	
  de	
  
produção	
  ao	
  local	
  são	
  
frequentemente	
  fonte	
  de	
  
problemas
#1e5d91
#1e5d91
Entendendo Nossa
Infraestrutura
#1e5d91
Today
Template
Engine
Wiki
Renderer
Hibernate Raw SQL
Custom Web Handling
Old Java Code
Old JS/HTML/Flash
Tomorrow
Composer
Wiki Renderer
Template Engine
Old
Java
CodeTemplate Engine
Player
New JS/HTML
Web Framework
Persistence
Some
Good
Lang
#1e5d91
Mas e eu? Como faço?
#1e5d91
Rápido
Devagar
ArriscadoSeguro
#1e5d91
?
Um	
  Caminho	
  Inesperado	
  à	
  Excelencia!

Mais conteúdo relacionado

Mais de alexandre freire

Making People Awesome @Nubank TDC Floripa 2019
Making People Awesome @Nubank TDC Floripa 2019Making People Awesome @Nubank TDC Floripa 2019
Making People Awesome @Nubank TDC Floripa 2019alexandre freire
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubankalexandre freire
 
Making People Awesome TDC POA 2018 - Alexandre Freire
Making People Awesome   TDC POA 2018 - Alexandre FreireMaking People Awesome   TDC POA 2018 - Alexandre Freire
Making People Awesome TDC POA 2018 - Alexandre Freirealexandre freire
 
Modern Agile and the Future of SW Development GUMARS 2018
Modern Agile and the Future of SW Development GUMARS 2018Modern Agile and the Future of SW Development GUMARS 2018
Modern Agile and the Future of SW Development GUMARS 2018alexandre freire
 
Deploy Contínuo de Software Legado: Loucura ou Genialidade?
Deploy Contínuo de Software Legado: Loucura ou Genialidade?Deploy Contínuo de Software Legado: Loucura ou Genialidade?
Deploy Contínuo de Software Legado: Loucura ou Genialidade?alexandre freire
 
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...alexandre freire
 
Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014alexandre freire
 
Como não testar seu projeto de software
Como não testar seu projeto de softwareComo não testar seu projeto de software
Como não testar seu projeto de softwarealexandre freire
 
Ágil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira ÁgilÁgil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira Ágilalexandre freire
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadoresalexandre freire
 
surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle alexandre freire
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...alexandre freire
 
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011alexandre freire
 

Mais de alexandre freire (14)

Making People Awesome @Nubank TDC Floripa 2019
Making People Awesome @Nubank TDC Floripa 2019Making People Awesome @Nubank TDC Floripa 2019
Making People Awesome @Nubank TDC Floripa 2019
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubank
 
Making People Awesome TDC POA 2018 - Alexandre Freire
Making People Awesome   TDC POA 2018 - Alexandre FreireMaking People Awesome   TDC POA 2018 - Alexandre Freire
Making People Awesome TDC POA 2018 - Alexandre Freire
 
Modern Agile and the Future of SW Development GUMARS 2018
Modern Agile and the Future of SW Development GUMARS 2018Modern Agile and the Future of SW Development GUMARS 2018
Modern Agile and the Future of SW Development GUMARS 2018
 
Deploy Contínuo de Software Legado: Loucura ou Genialidade?
Deploy Contínuo de Software Legado: Loucura ou Genialidade?Deploy Contínuo de Software Legado: Loucura ou Genialidade?
Deploy Contínuo de Software Legado: Loucura ou Genialidade?
 
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...
Como influenciar sua equipe para ser excelente com medo, culpa, vergonha, pun...
 
Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014
 
Como não testar seu projeto de software
Como não testar seu projeto de softwareComo não testar seu projeto de software
Como não testar seu projeto de software
 
Divida tecnica
Divida tecnicaDivida tecnica
Divida tecnica
 
Ágil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira ÁgilÁgil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira Ágil
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
 
surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
 
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
 

Tech Safety - um caminho inesperado à excelência