116
#1e5d91 Joshua Kerievsky CEO, Industrial Logic IndustrialLogic.com @JoshuaKerievsky Leading With Tech Safety An Unexpected Pathway To Excellence

Leading with Tech Safety: An Unexpected Pathway to Excellence

Embed Size (px)

Citation preview

#1e5d91

Joshua KerievskyCEO, Industrial LogicIndustrialLogic.com@JoshuaKerievsky

Leading  With

Tech  SafetyAn  Unexpected  Pathway

 To  Excellence

Joshua Kerievsky, CEO @JoshuaKerievsky

#1e5d91

#1e5d91

#1e5d91

Injuries  Impede  Our  Ability  to  Excel

#1e5d91

#1e5d91Normalizationof Deviance

#1e5d91

“People become so much accustomed to a deviant behavior that they don’t consider it as deviant, despite the fact that they far exceed their own rules

for elementary safety.”

Diane VaughanSociologist,ColumbiaUniversity

#1e5d91

Anyone?

#1e5d91

Feature Usage?

#1e5d91

#1e5d91

Maslow’s Hierarchy of Needs

#1e5d91

Maslow’s Hierarchy of Needs

#1e5d91

Extreme  ProgrammingAgile Scrum Kanban

Lean  Methods Lean  Startup

#1e5d91

#1e5d91

Strength.  Lightness.  Beauty.  Seamlessly  integrated.

MacBook  Pro’s  Unibody

#1e5d91

#1e5d91

#1e5d91

Paul O’Neill, ALCOA CEO 1987

#1e5d91

•Economics  educaGon

Paul O’Neill, ALCOA CEO 1987

#1e5d91

•Economics  educaGon• Engineering  &  operaGons  

research

Paul O’Neill, ALCOA CEO 1987

#1e5d91

•Economics  educaGon• Engineering  &  operaGons  

research• Programmed  soIware  for  

Veterans  AdministraGon

Paul O’Neill, ALCOA CEO 1987

#1e5d91

•Economics  educaGon• Engineering  &  operaGons  

research• Programmed  soIware  for  

Veterans  AdministraGon• Served  On  ALCOA  Board              

For  1  Year

Paul O’Neill, ALCOA CEO 1987

#1e5d91

Paul O’Neill

Photo:  REUTERS/Tony  GenDle

#1e5d91

“I  intend  to  make  ALCOA  the  safest  company  in  America.    I  intend  to  go  for  zero  injuries.”

Paul O’Neill

Photo:  REUTERS/Tony  GenDle

#1e5d91

#1e5d91

SELL!!!

#1e5d91“It  was  literally  the  worst  piece  of  advice  I  gave  in  my  enGre  career.”

SELL!!!

#1e5d91

ALCOA  Revenue  (in  Billions)  1987-­‐2012

#1e5d91

Graph  courtesy  of  William  O’Rourke,  top  Safety  Director  under  3  ALCOA  CEOs

#1e5d91

“From  this  day  forward,  we  will  not  budget  things  that  need  to  be  done  to  improve  safety  condiGons.”

#1e5d91

Workplace  Injury?Report  it  within  24  hours.  

CEOPresidents

Vice  Presidents.  .  .

Plant  Manager.  .  .

Plant  Worker

What  happened?

How  will  it  never  occur  again?

#1e5d91

“Accidents  and  injuries  are  not  the  natural  price  to  pay  for  meeGng  goals.  

#1e5d91

“Accidents  and  injuries  are  not  the  natural  price  to  pay  for  meeGng  goals.  

ProducGvity  doesnot  necessitate  danger.”

#1e5d91

“Some  habits  have  more  power  than  others...[they]  seem  to  unlock  all  these  other  changes  and  set  off  a  chain  reacDon.”    –  Charles  Duehigg,  The  Power  of  Habit

Keystone  Habits

#1e5d91

“Some  habits  have  more  power  than  others...[they]  seem  to  unlock  all  these  other  changes  and  set  off  a  chain  reacDon.”    –  Charles  Duehigg,  The  Power  of  Habit

Keystone  Habits

#1e5d91

“Some  habits  have  more  power  than  others...[they]  seem  to  unlock  all  these  other  changes  and  set  off  a  chain  reacDon.”    –  Charles  Duehigg,  The  Power  of  Habit

Keystone  Habits

#1e5d91

“Some  habits  have  more  power  than  others...[they]  seem  to  unlock  all  these  other  changes  and  set  off  a  chain  reacDon.”    –  Charles  Duehigg,  The  Power  of  Habit

Keystone  Habits

#1e5d91

Safety

#1e5d91

Safety

Empowerment

#1e5d91

Safety

Empowerment Understanding

#1e5d91

Safety

Improvement

Empowerment Understanding

#1e5d91

Safety

Improvement

Empowerment Understanding

Quality

#1e5d91

Safety

Improvement

Empowerment Understanding

Quality InnovaGon

#1e5d91

Safety

Improvement

Empowerment Understanding

Quality InnovaGon Well-­‐Being

#1e5d91

Safety

Improvement

Empowerment Understanding

Quality InnovaGon Well-­‐Being

Profit

#1e5d91William  O’RourkeVice  President,

 Sustainability  and  Environment,

 Health  &  Safety  for  Alcoa.

“When  I  went  to  run  Alcoa-­‐Russia,I  led  with  safety.”• The  2  plants  acquired  by  ALCOA  in  2005  averaged  5  fataliDes  per  year  for  50  years.

• First  calendar  year  (2006)  under  ALCOA,  there  were  ZERO  fataliDes.

• Within  the  last  5  years,  there  have  been  ZERO  fataliDes.    

#1e5d91

#1e5d91

#1e5d91Outage Ordeal

#1e5d91

A graphic representation of all possible sequences of events that could result in an incident. Originally  developed  in  1962  at  Bell  Labs,  FTA  is  used  in  Failure  Analysis  and  is  considered  to  be  a  part  of  reliability  engineering.

Fault Tree Analysis

#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 of Downtime

#1e5d91

“Injuries  are  oIen  the  result  of  different  combinaGons  of  unsafe  condiGons  and  unsafe  behavior.”  -­‐  Linda  Merton,  safety  and      hygiene  manager  at        Alcoa's  Mission  Valley  Works  

#1e5d91Production 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

Differences  in  producGon  and  local  environments  are  oIen  the  source  

of  producGon  problems

#1e5d91

#1e5d91

Understanding Our Infrastructure

#1e5d91

“Safety  requires  comprehensive  understanding  of  processes.”  

#1e5d91

“Safety  requires  comprehensive  understanding  of  processes.”  

“Understanding  leads  to  bejer,  more  producGve  plants.”

#1e5d91

 Jun  16,  2010  8:56:42  AM  com.industriallogic.shared.acGon.AcGonProcessorServlet  processRequest        SEVERE:  null              java.lang.NullPointerExcepGon                at  com.industriallogic.acGon.ScreencastDownloadAcGon.moviePathFor(ScreencastDownloadAcGon.java:73)                at  com.industriallogic.acGon.ScreencastDownloadAcGon.screencastFileNameFor(ScreencastDownloadAcGon.java:53)                at  com.industriallogic.acGon.ScreencastDownloadAcGon.process(ScreencastDownloadAcGon.java:21)                at  com.industriallogic.shared.acGon.AcGon.processWith(AcGon.java:32)                at  com.industriallogic.shared.acGon.AcGonProcessor.processWith(AcGonProcessor.java:19)                at  com.industriallogic.shared.acGon.AcGonProcessorServlet.processRequest(AcGonProcessorServlet.java:61)                at  com.industriallogic.shared.acGon.AcGonProcessorServlet.doGet(AcGonProcessorServlet.java:49)

ScreencastDownloadAction.java

Exceptions In Our Code

#1e5d91

Visualizing Hazardous Code

private  boolean  movieExistsFor(String  pathToMovie)  {   return  new  File(pathToMovie).exists();}

private  String  moviePathFor(String  acDvity,  String  screencastFileName,  Language  devLanguage)  {   return  screencastPath  +  "/"  +  acDvity  +  "/"  +  devLanguage.key  +  "/"  +  screencastFileName;} 237  ProducDon  ExcepDons

#1e5d91

#1e5d91

Alteration Anxiety

#1e5d91

Spending  40  minutes  fixing  compilaGon  errors  is  unsafe.

#1e5d91

CyclomaGc  Complexity  in  Cruise  Control  code  base

#1e5d91

Visualize Unsafe Code

#1e5d91

#1e5d91

#1e5d91

#1e5d91

#1e5d91

Are  you  actually  implemenGng  Test-­‐Driven  Development?

#1e5d91

“It  takes  10  minutes  to  go  through  the  lockoutand  tagout  procedure.It's  a  pain  in  the  neck,  and  all  for  a  repair  thatwill  take  five  seconds..”-­‐  ALCOA  worker  with  20+  years  experience

#1e5d91

#1e5d91

BrainHernia

#1e5d91public List keysOfCompletedPagesFor(UserProfile user, String albumId, Language devLanguage) {  String sql = "select pageStats.elementKey from PageCompletionStatus page " +    "join AlbumStatistics albumStats on (albumStats.albumId = page.albumId and albumStats.devLanguage = page.devLanguage) " +    "join TrackStatistics trackStats on (trackStats.albumStatistics_id = albumStats.id) " +    "join PageStatistics pageStats on (pageStats.trackStatistics_id = trackStats.id and page.elementKey = pageStats.elementKey) " +    "where page.user_id = :userId " +    "and page.albumId = :albumId " +    "and page.devLanguage = :devLanguage ";  Session session = getSession();  final SQLQuery query = session.createSQLQuery(sql);  query.setLong"userId", user.getId());  query.setString("albumId", albumId);  query.setString("devLanguage", devLanguage.key);  @SuppressWarnings("unchecked")  List result = query.list();  session.close();  return result;}

public  List  uniqueIdsFor(ViewableAlbum  viewableAlbum,  UserProfile  userProfile,  CompletionStatusRepository  repository)  {    List  keys  =  repository.keysOfCompletedPagesFor(userProfile,  viewableAlbum.getId(),  viewableAlbum.getDevLanguageEnum());      Listids  =  new  ArrayList();    for  (String  key  :  keys)  {        String  path  =  getPagePathFor(key);        Page  page  =  viewableAlbum.getAlbum().getPage(path);        ids.add(page.getUniqueId());    }    return  ids;}

Before

#1e5d91

public  List  uniqueIdsFor(ViewableAlbum  viewableAlbum,  UserProfile  userProfile,  CompletionStatusRepository  repository)  {    Language  albumLanguage  =  viewableAlbum.getDevLanguageEnum();    List  ids  =  new  ArrayList();    for  (Page  page  :  viewableAlbum.getAlbum().getPages())        if  (repository.isPageCompleteFor(userProfile,  findSourceAlbumIdFor(page.getKey()),  page.getKey(),  albumLanguage))            ids.add(page.getUniqueId());    return  ids;}

After

#1e5d91

#1e5d91

Antique Agony

#1e5d91

#1e5d91

#1e5d91

Browser Bruise

#1e5d91

#1e5d91

Release #Development

Time (months)

Readying Time

(months)

Total Time(months)

5.0 6 6 12

5.1 7 8 15

5.2 4 7 11

#1e5d91

Release #Development

Time (months)

Readying Time

(months)

Total Time(months)

5.0 6 6 12

5.1 7 8 15

5.2 4 7 11

Schedule Stress

#1e5d91

#1e5d91MergeMisery

#1e5d91

#1e5d91

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

#1e5d91

#1e5d91

ReleaseRage

#1e5d91

Continuous Deployment:Feeling Safe To Deploy Software

#1e5d91

•Respect•Integrity•CommunicaGon•Excellence

#1e5d91

•Respect•Integrity•CommunicaGon•Excellence

#1e5d91

ONE  VALUE!!Not  2,  3,  4,  5...

#1e5d91

ONE  VALUE!!Not  2,  3,  4,  5...

#1e5d91

Safe To Fail, Fall, or Swing

#1e5d91

OccupaDonal  Safety  andHealth  AdministraDon

#1e5d91

#1e5d91

Sit or stand

Pair in comfort

#1e5d91

Identify risky work conditions

Identify risky work conditions

Propose improvements

Identify risky work conditions

Propose improvements

Bridge between workers and managers

#1e5d91

Today

Template Engine

WikiRenderer

Hibernate Raw SQL

Custom Web Handling

Old Java Code

Old JS/HTML/Flash

#1e5d91

Today

Template Engine

WikiRenderer

Hibernate Raw SQL

Custom Web Handling

Old Java Code

Old JS/HTML/Flash

#1e5d91

Today

Template Engine

WikiRenderer

Hibernate Raw SQL

Custom Web Handling

Old Java Code

Old JS/HTML/Flash

Tomorrow

#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

#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

Fast

Slow

Risky Safe

#1e5d91

So How Do I Do It?

#1e5d91

So How Do I Do It?

TechSafety

Value the safety of the people doing the work.

#1e5d91

So How Do I Do It?

TechSafety

Value the safety of the people doing the work.

Excellence

Habits of excellence emerge.

#1e5d91

So How Do I Do It?

TechSafety

Value the safety of the people doing the work.

Profits

Remain focused on safety & habits of excellence. Happy customers and profits follow.

Excellence

Habits of excellence emerge.

#1e5d91

Q+AAn  Unexpected  Pathway  

To  Excellence