Upload
alexandre-freire
View
931
Download
1
Embed Size (px)
DESCRIPTION
Organizações que desenvolvem software querem ser inovadoras, adaptáveis, reter funcionários felizes e saudáveis, reduzir custos, satisfazer seus clientes e lucrar consistentemente. Entretanto esses objetivos continuam inatingíveis pois estas ignoram uma prioridade essencial, parte da hierarquia de necessidades dos seres humanos: a segurança dos trabalhadores. Ignoramos “ferimentos” no trabalho criativo pois muitos são psicológicos ou cognitivos. Isso não significa que não somos menos produtivos por causa deles. Na Industrial Logic começamos a dar enfoque na segurança das pessoas. Por exemplo: melhoramos a ergonomia dos nossos escritórios, conseguimos identificar trechos de código “perigosos” e priorizar o investimento nestes, prestamos mais atenção em ferimentos que nosso software causa em alunos e corrigimos problemas por causa disso. Nesta palestra vamos compartilhar algumas idéias para ajudar nossa indústria a criar ambientes de trabalho mais seguros para você.
Citation preview
#1e5d91
Remix de palestra de Joshua Kerievskypor Alexandre Freire@freire_da_silvahttp://industriallogic.com
Valorizando a Segurança
Um caminho inesperado à excelência
[email protected]@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
#1e5d91Ferimentos Físicos
Dor nas costasTorcicolo 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 DadosPancada do Bug
Vergonha de Errar
Frustação Funcional
#1e5d91Ferimentos Emocionais
Stress de EntregaMedo de Falhar
Desrespeito
Confiança Perdida
Medo de demissão
Angustia de faltarCrescimentoCongelado
#1e5d91
Ferimentos Cognitivos
#1e5d91
Agoniade
Tecnologia Antiquada
#1e5d91
HerniaCerebral
#1e5d91
Pancada doNavegador
#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 deDuplicação
#1e5d91
Frustração c/ Fragilidade
#1e5d91Miséria no
Merge
#1e5d91
Instalação Sofrida
#1e5d91Tensão deProdução
#1e5d91
Ódio da Entrega
#1e5d91Normalizaçã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 NecessidadesdeMaslow
#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.
CEOPresidentes
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 consertandoerros 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.9Case Sensitive
MySQL 6.1Case Insensitive
JRE version (box 1): 6JRE version (box 2): 7 JRE Version 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
WikiRenderer
Hibernate Raw SQL
Custom Web Handling
Old Java Code
Old JS/HTML/Flash
TomorrowComposer
Wiki Renderer
Template EngineOld Java
CodeTemplate Engine
Player
New JS/HTML
Web Framework
Persistence
SomeGoodLang
#1e5d91
Mas e eu? Como faço?
#1e5d91
Rápido
Devagar
ArriscadoSeguro
#1e5d91
?Um Caminho Inesperado à Excelencia!