Agile #FAIL QCon 2013

Post on 27-Jun-2015

620 views 2 download

description

A maioria das adoções de métodos agéis falha. Por que? Nesta palestra avaliamos algumas causas e apontamos como valorizar a sua própria segurança pode ser um caminho rumo à excelência.

Transcript of Agile #FAIL QCon 2013

#1e5d91

A  maioria  das  adoções  de  

métodos  ageis  falha!

#1e5d91Será?

#1e5d91Sim!

#1e5d91

por Alexandre Freire@freire_da_silvahttp://industriallogic.com

Agile  Why  U  #FAIL?

Ou  como  criar  uma  cultura  de  segurança  para  fomentar  a  excelência

#1e5d91

alex@industriallogic.com@freire_da_silva

Diretor de Segurança dos Produtos @IndustrialLogic

Ágile desde 2001, fundou a AgilCoop e a AgilBits

Mestrado: “Reflexões sobre o Ensino de Metodologias Ágeis na Academia,

Indústria e Governo”

Experiência, sucessos e falhas com organizações renomadas

mundialmente.

Gosta de construir casas

#1e5d91

MÉTODOS  ÁGEIS  NO  BRASIL:  ESTADO  DA  PRÁTICA  EM  TIMES  E  ORGANIZAÇÕES

Claudia de O. Melo et al. 2011 RT-MAC-2012-03 IME/USP

#1e5d91

7th Annual State of Agile Development Survey

VersionOne - 2012

#1e5d91

#1e5d91

por Alexandre Freire@freire_da_silvahttp://industriallogic.com

Scrum  Why  U  #FAIL?

Ou  como  criar  uma  cultura  de  segurança  para  fomentar  a  excelência

#1e5d91Sucesso?

#1e5d91

Chartering

Purpose

ContextAlignment

l

#1e5d91

#1e5d91

#1e5d91

#1e5d91

#1e5d91“Falhar é inerentemente inseguro e a maioria dos times e

organizações não são lugares onde podemos aprender sobre nossas falhas com segurança.”

- Amr Elssamadisy

#1e5d91

#1e5d91

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

#1e5d91

#1e5d91

HerniaCerebral

#1e5d91Miséria no

Merge

#1e5d91

#1e5d91

Complexidade Esmagadora

#1e5d91

Gastar  40  minutos  consertandoerros  de  compilação  não  é  seguro.

#1e5d91

Você  faz  TDD  mesmo?

#1e5d91

#1e5d91

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

#1e5d91

#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

#1e5d91

Gráfico  cortesia  de  William  O’Rourke,  Diretor  de  Segurança  c/  3  CEOs  da  ALCOA

#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  +  de  20  anos  de  experiência

#1e5d91

Hierarquia das NecessidadesdeMaslow

#1e5d91

Rápido

Devagar

ArriscadoSeguro

#1e5d91

Mas e eu? Como faço?

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

PlanoFeatureFeatureFeatureDefectDefectility req.ility req....

Cliente

Trabalho(Iterações)

D-C-T D-C-T D-C-T D-C-T

#1e5d91

“...most waste is caused by doing things right within the conventional system.”

—Dr. Allen C. Ward

#1e5d91Normalização

do Desvio

#1e5d91

Lean: Concept to Cash

#1e5d91

Continuous Deployment:Segurança para entregar Software

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

foto: Martin Fowler

#1e5d91

Pair Programming

#1e5d91

#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

 Jun  16,  2010  8:56:42  AM  com.industriallogic.shared.aceon.AceonProcessorServlet  processRequest        SEVERE:  null              java.lang.NullPointerExcepeon                at  com.industriallogic.aceon.ScreencastDownloadAceon.moviePathFor(ScreencastDownloadAceon.java:73)                at  com.industriallogic.aceon.ScreencastDownloadAceon.screencastFileNameFor(ScreencastDownloadAceon.java:53)                at  com.industriallogic.aceon.ScreencastDownloadAceon.process(ScreencastDownloadAceon.java:21)                at  com.industriallogic.shared.aceon.Aceon.processWith(Aceon.java:32)                at  com.industriallogic.shared.aceon.AceonProcessor.processWith(AceonProcessor.java:19)                at  com.industriallogic.shared.aceon.AceonProcessorServlet.processRequest(AceonProcessorServlet.java:61)                at  com.industriallogic.shared.aceon.AceonProcessorServlet.doGet(AceonProcessorServlet.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  emes  locally  &  36  emes  in  dev  build  in  the  last  6  months.

#1e5d91Tensão deProdução

#1e5d91

Entendendo Nossa Infraestrutura

#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

Calcular Uso de Funcionalidades

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

http://www.youtube.com/watch?v=xZLCoYrmZwk

#1e5d91

#1e5d91

Você

#1e5d91

#1e5d91

#1e5d91

Bullying doExplorer

#1e5d91

Depressão deDuplicação

#1e5d91

Ódio da Entrega

#1e5d91

The Responsibility Process™

ChristopherAvery.com©1991-2012. International trademarks and copyrights apply. Leadership Gift™ is a trademark of Christopher Avery. Responsibility Process™ and Keys to Responsibility™ are trademarks of Christopher Avery and Bill McCarley. Permission is hereby granted to duplicate and distribute only in its entirety without changes or deletions.

CHRISTOPHER AVERY& THE LEADERSHIP GIFT

RESPONSABILIDADE

OBRIGAÇÃO

VERGONHA

JUSTIFICAÇÃO

CULPABILIZAÇÃO

NEGAÇÃO

DESISTÊNCIA

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

#1e5d91

#1e5d91