SlideShare a Scribd company logo
1 of 22
Download to read offline
Bashing Cultural Monsters in
Continuous Integration
Vivek Ganesan
Twitter: @vivek_ganesan
Running Jenkins is NOT Continuous
Integration!
Tools that you use ≠ What you do.
How do you use the tools? = What you do.
Then, What is CI?
For Continuous Integration to be useful,
following are ‘Mandatory’
➔ Continuous
Never ending. May be periodical. Good
to start with daily frequency.
➔ Integration
Different teams’/people’s codes are
integrated and tested
➔ Stimulus - Response
The adrenaline rush and events that
follow any build failure to bring it back
to green
Have you ever observed
what happens
during the
Stimulus-Response?
Tip
You can effectively
observe only when you
do not have stakes in
something.
If you have stakes, you
get ‘involved’ instead of
studying what happens.
Blame Game, Mostly!
● Raj broke the build. What a careless guy!
● Why should I fix it? It is Raj who broke the build!
● Dear Boss,
I am BLOCKED until Raj fixes the build. Why should I
suffer for someone else’s mistakes?
-The Escalator
● Poor soul Raj! He needs some more training.
● Raj, you are a good developer. But, you could have done
better at avoiding some build failures this year!
How does this
ADVERSELY
AFFECT Raj & the
organization?
What happens to the
following in this
situation?
● Commit frequency
● Size of each commit
● Ability to take risks
● Willingness to face uncertainty
● Bug count
● General motivation
● Anything else that we don’t know
about?
Does Raj really have
FULL control on
whether his commit
breaks the build or
not?
Tip
Contrary to the popular
belief, the build does
not have to be green all
the time.
However, the intention &
action to keep it green
must be present all the
time.
Code Commits & Roads
Code commits are very similar to
driving a car into a converging road.
Code Commits & Roads
Code commits are very similar to
driving a car into a converging road.
Your Commit
Code Commits & Roads
Code commits are very similar to
driving a car into a converging road.
Your Commit
Team mate’s
Pending
Commit
Your Commit
Team mate’s
Pending
Commit
Some commit
done after your
last pull
Your Commit
Team mate’s
Pending
Commit
Some commit
done after your
last pull
Challenge
Can you be 100% sure about driving
into the main road without an accident?
Your Commit
Team mate’s
Pending
Commit
Some commit
done after your
last pull
Challenge - 2
What would you do if you really have to
be sure not to hit another vehicle?
This is just a piece of ridiculous joke!
This is just a piece of ridiculous joke!
What if the car
could not run
properly even
before merge?
This is just a piece of ridiculous joke!
What if the car
could not run
properly even
before merge?
Tip
There are two types of
failures:
1. Avoidable
2. Unavoidable
What if a developer
creates an avoidable
failure?
Eg: Missed a semi-colon and checked-in
Solution: Find ways to help the
developer to avoid it
Best Case: Automate the avoidable
failure check before commit (using
pre-commit hooks or equivalent)
Worst Case: Police a checklist for
commit.
Tip
Developers don’t
intentionally cause
havoc, unless you steal
their coffee mug.
And, what after an
unavoidable failure? All
hell breaks loose?
No, my friend! You wait until someone
fixes the build.
Remember! This build fixer need not be
a build breaker.
After build fixed, publicly appreciate the
build fixer and exclaim “Woohoo!
Another integration issue fixed early!”
Tip
Instead of punishing the
build breaker,
appreciate the build
fixer, even if they both
are same :)
This motivates people to
fix broken builds
immediately.
What to track?
Don’t track who broke the build and how
many times.
Now that we care about who fixes the build,
track these:
➔ Total Build Red Time
Average time in a day for which build
was Red. Trend it transparently & aim
for reducing the same.
➔ No. of Unavoidable Failures
This is the no. of integration issues that
you fixed early :)
Questions???
Create an atmosphere free of
blame and full of trust and
transparency.
For more (free) agility tips visit
my
site
http://www.vivekganesan.co
m or follow me on Twitter at
@vivek_ganesan

More Related Content

What's hot

Lessons learned scrum mastering distributed teams
Lessons learned scrum mastering distributed teamsLessons learned scrum mastering distributed teams
Lessons learned scrum mastering distributed teamsITEM
 
Leveling Up Your Junior Developers
Leveling Up Your Junior DevelopersLeveling Up Your Junior Developers
Leveling Up Your Junior DevelopersGabby Spurling
 
Not Only Cars: AI, Please Test My App by Gil Tayar
Not Only Cars: AI, Please Test My App by Gil TayarNot Only Cars: AI, Please Test My App by Gil Tayar
Not Only Cars: AI, Please Test My App by Gil TayarSauce Labs
 
Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17David Jones
 
Self-Selection: An Agile Approach to Forming Teams @ Scale
Self-Selection: An Agile Approach to  Forming Teams @ ScaleSelf-Selection: An Agile Approach to  Forming Teams @ Scale
Self-Selection: An Agile Approach to Forming Teams @ ScaleEm Campbell-Pretty
 
FusionConf 2018 - We're all designers
FusionConf 2018 - We're all designersFusionConf 2018 - We're all designers
FusionConf 2018 - We're all designersCatt Small
 
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...Authoritas
 
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...Mat Clayton, Using technology decisions to move quickly and iterate to a bett...
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...AnalogFolk
 
Inspirational web Designs 2021
Inspirational web Designs 2021Inspirational web Designs 2021
Inspirational web Designs 2021VirrgoTech
 
Rapid Prototyping A Startup
Rapid Prototyping A StartupRapid Prototyping A Startup
Rapid Prototyping A StartupRobert Fan
 
Danny Patterson: Slow Down
Danny Patterson: Slow DownDanny Patterson: Slow Down
Danny Patterson: Slow Downsidneydekoning
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityPaul Gower
 

What's hot (14)

Lessons learned scrum mastering distributed teams
Lessons learned scrum mastering distributed teamsLessons learned scrum mastering distributed teams
Lessons learned scrum mastering distributed teams
 
Leveling Up Your Junior Developers
Leveling Up Your Junior DevelopersLeveling Up Your Junior Developers
Leveling Up Your Junior Developers
 
Not Only Cars: AI, Please Test My App by Gil Tayar
Not Only Cars: AI, Please Test My App by Gil TayarNot Only Cars: AI, Please Test My App by Gil Tayar
Not Only Cars: AI, Please Test My App by Gil Tayar
 
Rilasciamo rilasciamo
Rilasciamo rilasciamoRilasciamo rilasciamo
Rilasciamo rilasciamo
 
Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17Pointzi Android Developers Talk - June17
Pointzi Android Developers Talk - June17
 
Self-Selection: An Agile Approach to Forming Teams @ Scale
Self-Selection: An Agile Approach to  Forming Teams @ ScaleSelf-Selection: An Agile Approach to  Forming Teams @ Scale
Self-Selection: An Agile Approach to Forming Teams @ Scale
 
FusionConf 2018 - We're all designers
FusionConf 2018 - We're all designersFusionConf 2018 - We're all designers
FusionConf 2018 - We're all designers
 
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...
Google Tag Manager - How to use it for SEO? - Tea-Time SEO Series of Daily SE...
 
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...Mat Clayton, Using technology decisions to move quickly and iterate to a bett...
Mat Clayton, Using technology decisions to move quickly and iterate to a bett...
 
Inspirational web Designs 2021
Inspirational web Designs 2021Inspirational web Designs 2021
Inspirational web Designs 2021
 
UnpluGGd Event
UnpluGGd EventUnpluGGd Event
UnpluGGd Event
 
Rapid Prototyping A Startup
Rapid Prototyping A StartupRapid Prototyping A Startup
Rapid Prototyping A Startup
 
Danny Patterson: Slow Down
Danny Patterson: Slow DownDanny Patterson: Slow Down
Danny Patterson: Slow Down
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase Productivity
 

Similar to Blameless CI - Bashing cultural monsters in continuous integration

ASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsAdapt Worldwide
 
11 rules for programmer should live by
11 rules for programmer should live by11 rules for programmer should live by
11 rules for programmer should live byYe Win
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamRico Lin
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamRico Lin
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agilelazygolfer
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford AJ Justo
 
5 unspoke rules of contributing to open source software
5 unspoke rules of contributing to open source software5 unspoke rules of contributing to open source software
5 unspoke rules of contributing to open source softwareMike Nelson
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Jorge López-Lago
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Softwareashokguduru
 
Agile?! Are You Crazy???
Agile?! Are You Crazy???Agile?! Are You Crazy???
Agile?! Are You Crazy???lazygolfer
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture DeckNiraj Tolia
 
How NOT to scale agile
How NOT to scale agileHow NOT to scale agile
How NOT to scale agileRenato Willi
 
Community antipatterns
Community antipatternsCommunity antipatterns
Community antipatternsDave Neary
 
Developers mindset
Developers mindsetDevelopers mindset
Developers mindsetChioma James
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile DevelopmentArin Sime
 
Startup 101 for students and aspiring entrepreneurs
Startup 101 for students and aspiring entrepreneursStartup 101 for students and aspiring entrepreneurs
Startup 101 for students and aspiring entrepreneursRakesh Soni
 

Similar to Blameless CI - Bashing cultural monsters in continuous integration (20)

Lean Responsive
Lean ResponsiveLean Responsive
Lean Responsive
 
ASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO Questions
 
11 rules for programmer should live by
11 rules for programmer should live by11 rules for programmer should live by
11 rules for programmer should live by
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstream
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstream
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agile
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford
 
5 unspoke rules of contributing to open source software
5 unspoke rules of contributing to open source software5 unspoke rules of contributing to open source software
5 unspoke rules of contributing to open source software
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Software
 
Agile?! Are You Crazy???
Agile?! Are You Crazy???Agile?! Are You Crazy???
Agile?! Are You Crazy???
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
 
How NOT to scale agile
How NOT to scale agileHow NOT to scale agile
How NOT to scale agile
 
Community antipatterns
Community antipatternsCommunity antipatterns
Community antipatterns
 
Developers mindset
Developers mindsetDevelopers mindset
Developers mindset
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
Startup 101 for students and aspiring entrepreneurs
Startup 101 for students and aspiring entrepreneursStartup 101 for students and aspiring entrepreneurs
Startup 101 for students and aspiring entrepreneurs
 
Ux4 indiedevs
Ux4 indiedevsUx4 indiedevs
Ux4 indiedevs
 

More from Vivek Ganesan

Is Business Agility Taking Us Towards Happy Workplaces?
Is Business Agility Taking Us Towards Happy Workplaces?Is Business Agility Taking Us Towards Happy Workplaces?
Is Business Agility Taking Us Towards Happy Workplaces?Vivek Ganesan
 
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2Vivek Ganesan
 
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep
An Agile Manager's Guide to a Nearly Peaceful Night's SleepAn Agile Manager's Guide to a Nearly Peaceful Night's Sleep
An Agile Manager's Guide to a Nearly Peaceful Night's SleepVivek Ganesan
 
Stress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsStress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsVivek Ganesan
 
Stress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsStress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsVivek Ganesan
 
Workplace Happiness - Does Business Agility Keep us Happy?
Workplace Happiness - Does Business Agility Keep us Happy?Workplace Happiness - Does Business Agility Keep us Happy?
Workplace Happiness - Does Business Agility Keep us Happy?Vivek Ganesan
 
Developer 2.0 redefine the role of developer to achieve success for all
Developer 2.0   redefine the role of developer to achieve success for allDeveloper 2.0   redefine the role of developer to achieve success for all
Developer 2.0 redefine the role of developer to achieve success for allVivek Ganesan
 
Congratulations! You are our Startup's First Scrum Master - What's Next?
Congratulations! You are our Startup's First Scrum Master - What's Next?Congratulations! You are our Startup's First Scrum Master - What's Next?
Congratulations! You are our Startup's First Scrum Master - What's Next?Vivek Ganesan
 
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...Vivek Ganesan
 
Add Big Data Analytics to your Salesforce App using Heroku
Add Big Data Analytics to your Salesforce App using HerokuAdd Big Data Analytics to your Salesforce App using Heroku
Add Big Data Analytics to your Salesforce App using HerokuVivek Ganesan
 

More from Vivek Ganesan (10)

Is Business Agility Taking Us Towards Happy Workplaces?
Is Business Agility Taking Us Towards Happy Workplaces?Is Business Agility Taking Us Towards Happy Workplaces?
Is Business Agility Taking Us Towards Happy Workplaces?
 
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep - Version 2
 
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep
An Agile Manager's Guide to a Nearly Peaceful Night's SleepAn Agile Manager's Guide to a Nearly Peaceful Night's Sleep
An Agile Manager's Guide to a Nearly Peaceful Night's Sleep
 
Stress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsStress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information Radiators
 
Stress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information RadiatorsStress-free Continuous Delivery Using Sensible Information Radiators
Stress-free Continuous Delivery Using Sensible Information Radiators
 
Workplace Happiness - Does Business Agility Keep us Happy?
Workplace Happiness - Does Business Agility Keep us Happy?Workplace Happiness - Does Business Agility Keep us Happy?
Workplace Happiness - Does Business Agility Keep us Happy?
 
Developer 2.0 redefine the role of developer to achieve success for all
Developer 2.0   redefine the role of developer to achieve success for allDeveloper 2.0   redefine the role of developer to achieve success for all
Developer 2.0 redefine the role of developer to achieve success for all
 
Congratulations! You are our Startup's First Scrum Master - What's Next?
Congratulations! You are our Startup's First Scrum Master - What's Next?Congratulations! You are our Startup's First Scrum Master - What's Next?
Congratulations! You are our Startup's First Scrum Master - What's Next?
 
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
 
Add Big Data Analytics to your Salesforce App using Heroku
Add Big Data Analytics to your Salesforce App using HerokuAdd Big Data Analytics to your Salesforce App using Heroku
Add Big Data Analytics to your Salesforce App using Heroku
 

Recently uploaded

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Blameless CI - Bashing cultural monsters in continuous integration

  • 1.
  • 2. Bashing Cultural Monsters in Continuous Integration Vivek Ganesan Twitter: @vivek_ganesan
  • 3. Running Jenkins is NOT Continuous Integration! Tools that you use ≠ What you do. How do you use the tools? = What you do.
  • 4. Then, What is CI? For Continuous Integration to be useful, following are ‘Mandatory’ ➔ Continuous Never ending. May be periodical. Good to start with daily frequency. ➔ Integration Different teams’/people’s codes are integrated and tested ➔ Stimulus - Response The adrenaline rush and events that follow any build failure to bring it back to green
  • 5. Have you ever observed what happens during the Stimulus-Response? Tip You can effectively observe only when you do not have stakes in something. If you have stakes, you get ‘involved’ instead of studying what happens.
  • 6. Blame Game, Mostly! ● Raj broke the build. What a careless guy! ● Why should I fix it? It is Raj who broke the build! ● Dear Boss, I am BLOCKED until Raj fixes the build. Why should I suffer for someone else’s mistakes? -The Escalator ● Poor soul Raj! He needs some more training. ● Raj, you are a good developer. But, you could have done better at avoiding some build failures this year!
  • 7. How does this ADVERSELY AFFECT Raj & the organization?
  • 8. What happens to the following in this situation? ● Commit frequency ● Size of each commit ● Ability to take risks ● Willingness to face uncertainty ● Bug count ● General motivation ● Anything else that we don’t know about?
  • 9. Does Raj really have FULL control on whether his commit breaks the build or not? Tip Contrary to the popular belief, the build does not have to be green all the time. However, the intention & action to keep it green must be present all the time.
  • 10. Code Commits & Roads Code commits are very similar to driving a car into a converging road.
  • 11. Code Commits & Roads Code commits are very similar to driving a car into a converging road. Your Commit
  • 12. Code Commits & Roads Code commits are very similar to driving a car into a converging road. Your Commit Team mate’s Pending Commit
  • 13. Your Commit Team mate’s Pending Commit Some commit done after your last pull
  • 14. Your Commit Team mate’s Pending Commit Some commit done after your last pull Challenge Can you be 100% sure about driving into the main road without an accident?
  • 15. Your Commit Team mate’s Pending Commit Some commit done after your last pull Challenge - 2 What would you do if you really have to be sure not to hit another vehicle?
  • 16. This is just a piece of ridiculous joke!
  • 17. This is just a piece of ridiculous joke! What if the car could not run properly even before merge?
  • 18. This is just a piece of ridiculous joke! What if the car could not run properly even before merge? Tip There are two types of failures: 1. Avoidable 2. Unavoidable
  • 19. What if a developer creates an avoidable failure? Eg: Missed a semi-colon and checked-in Solution: Find ways to help the developer to avoid it Best Case: Automate the avoidable failure check before commit (using pre-commit hooks or equivalent) Worst Case: Police a checklist for commit. Tip Developers don’t intentionally cause havoc, unless you steal their coffee mug.
  • 20. And, what after an unavoidable failure? All hell breaks loose? No, my friend! You wait until someone fixes the build. Remember! This build fixer need not be a build breaker. After build fixed, publicly appreciate the build fixer and exclaim “Woohoo! Another integration issue fixed early!” Tip Instead of punishing the build breaker, appreciate the build fixer, even if they both are same :) This motivates people to fix broken builds immediately.
  • 21. What to track? Don’t track who broke the build and how many times. Now that we care about who fixes the build, track these: ➔ Total Build Red Time Average time in a day for which build was Red. Trend it transparently & aim for reducing the same. ➔ No. of Unavoidable Failures This is the no. of integration issues that you fixed early :)
  • 22. Questions??? Create an atmosphere free of blame and full of trust and transparency. For more (free) agility tips visit my site http://www.vivekganesan.co m or follow me on Twitter at @vivek_ganesan