Upload
joshuakerievsky
View
1.336
Download
0
Tags:
Embed Size (px)
Citation preview
#1e5d91
Joshua KerievskyCEO, Industrial LogicIndustrialLogic.com@JoshuaKerievsky
Leading With
Tech SafetyAn Unexpected Pathway
To Excellence
#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
•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
“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
“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.
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
#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
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
“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
“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
#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
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
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
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.