agile #fail qcon 2013

76
#1e5d91 A maioria das adoções de métodos ageis falha!

Upload: alexandre-freire

Post on 27-Jun-2015

620 views

Category:

Technology


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

Page 1: Agile #FAIL QCon 2013

#1e5d91

A  maioria  das  adoções  de  

métodos  ageis  falha!

Page 2: Agile #FAIL QCon 2013

#1e5d91Será?

Page 3: Agile #FAIL QCon 2013

#1e5d91Sim!

Page 4: Agile #FAIL QCon 2013

#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

Page 5: Agile #FAIL QCon 2013

#1e5d91

[email protected]@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

Page 6: Agile #FAIL QCon 2013

#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

Page 7: Agile #FAIL QCon 2013

#1e5d91

7th Annual State of Agile Development Survey

VersionOne - 2012

Page 9: Agile #FAIL QCon 2013

#1e5d91

Page 10: Agile #FAIL QCon 2013

#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

Page 11: Agile #FAIL QCon 2013

#1e5d91Sucesso?

Page 12: Agile #FAIL QCon 2013

#1e5d91

Chartering

Purpose

ContextAlignment

l

Page 13: Agile #FAIL QCon 2013

#1e5d91

Page 14: Agile #FAIL QCon 2013

#1e5d91

Page 15: Agile #FAIL QCon 2013

#1e5d91

Page 16: Agile #FAIL QCon 2013

#1e5d91

Page 17: Agile #FAIL QCon 2013

#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

Page 18: Agile #FAIL QCon 2013

#1e5d91

Page 19: Agile #FAIL QCon 2013

#1e5d91

Page 20: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 21: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 22: Agile #FAIL QCon 2013

#1e5d91

Page 23: Agile #FAIL QCon 2013

#1e5d91

Page 24: Agile #FAIL QCon 2013

#1e5d91

HerniaCerebral

Page 25: Agile #FAIL QCon 2013

#1e5d91Miséria no

Merge

Page 26: Agile #FAIL QCon 2013

#1e5d91

Page 27: Agile #FAIL QCon 2013

#1e5d91

Complexidade Esmagadora

Page 28: Agile #FAIL QCon 2013

#1e5d91

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

Page 29: Agile #FAIL QCon 2013

#1e5d91

Você  faz  TDD  mesmo?

Page 30: Agile #FAIL QCon 2013

#1e5d91

Page 31: Agile #FAIL QCon 2013

#1e5d91

Page 32: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 33: Agile #FAIL QCon 2013

#1e5d91

Page 34: Agile #FAIL QCon 2013

#1e5d91

Page 35: Agile #FAIL QCon 2013

#1e5d91

“Deste  dia  em  diante,  nós  não  vamos  orçar  coisas  que  precisamos  fazer  para  melhorar  as  condições  de  segurança.”

Page 36: Agile #FAIL QCon 2013

#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?

Page 37: Agile #FAIL QCon 2013

#1e5d91

Page 38: Agile #FAIL QCon 2013

#1e5d91

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

Page 39: Agile #FAIL QCon 2013

#1e5d91

Receita  da  ALCOA  (em  Bilhões)  1987-­‐2012

Page 40: Agile #FAIL QCon 2013

#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

Page 41: Agile #FAIL QCon 2013

#1e5d91

Hierarquia das NecessidadesdeMaslow

Page 42: Agile #FAIL QCon 2013

#1e5d91

Rápido

Devagar

ArriscadoSeguro

Page 43: Agile #FAIL QCon 2013

#1e5d91

Mas e eu? Como faço?

Page 44: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 45: Agile #FAIL QCon 2013

#1e5d91

PlanoFeatureFeatureFeatureDefectDefectility req.ility req....

Cliente

Trabalho(Iterações)

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

Page 46: Agile #FAIL QCon 2013

#1e5d91

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

—Dr. Allen C. Ward

Page 47: Agile #FAIL QCon 2013

#1e5d91Normalização

do Desvio

Page 48: Agile #FAIL QCon 2013

#1e5d91

Lean: Concept to Cash

Page 49: Agile #FAIL QCon 2013

#1e5d91

Continuous Deployment:Segurança para entregar Software

Page 50: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 51: Agile #FAIL QCon 2013

#1e5d91

foto: Martin Fowler

Page 52: Agile #FAIL QCon 2013

#1e5d91

Pair Programming

Page 53: Agile #FAIL QCon 2013

#1e5d91

Page 54: Agile #FAIL QCon 2013

#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

Page 55: Agile #FAIL QCon 2013

#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

Page 56: Agile #FAIL QCon 2013

#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

Page 57: Agile #FAIL QCon 2013

#1e5d91

Test  failed  21  emes  locally  &  36  emes  in  dev  build  in  the  last  6  months.

Page 58: Agile #FAIL QCon 2013

#1e5d91Tensão deProdução

Page 59: Agile #FAIL QCon 2013

#1e5d91

Entendendo Nossa Infraestrutura

Page 60: Agile #FAIL QCon 2013

#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

Page 61: Agile #FAIL QCon 2013

#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

Page 62: Agile #FAIL QCon 2013

#1e5d91

Page 63: Agile #FAIL QCon 2013

#1e5d91

Calcular Uso de Funcionalidades

Page 64: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 65: Agile #FAIL QCon 2013

#1e5d91

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

Page 66: Agile #FAIL QCon 2013

#1e5d91

Page 67: Agile #FAIL QCon 2013

#1e5d91

Você

Page 68: Agile #FAIL QCon 2013

#1e5d91

Page 69: Agile #FAIL QCon 2013

#1e5d91

Page 70: Agile #FAIL QCon 2013

#1e5d91

Bullying doExplorer

Page 71: Agile #FAIL QCon 2013

#1e5d91

Depressão deDuplicação

Page 72: Agile #FAIL QCon 2013

#1e5d91

Ódio da Entrega

Page 73: Agile #FAIL QCon 2013

#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

Page 74: Agile #FAIL QCon 2013

#1e5d91

Pressão externa

Waterfall

Falta de eXPeriência e capacitação

Cultura

Comunicação

Ágil é moda passageira

Outros

Page 75: Agile #FAIL QCon 2013

#1e5d91

Page 76: Agile #FAIL QCon 2013

#1e5d91