SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Too Frequent CI
Build Failures?
What can ‘YOU’ do about them?
Vivek Ganesan | Gainsight
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!
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.
com or follow me on Twitter at
@vivek_ganesan

Más contenido relacionado

La actualidad más candente

Summer at Onshape (2)
Summer at Onshape (2)Summer at Onshape (2)
Summer at Onshape (2)
Ethan Rejto
 

La actualidad más candente (20)

PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuwebPSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
 
Rilasciamo rilasciamo
Rilasciamo rilasciamoRilasciamo rilasciamo
Rilasciamo rilasciamo
 
Agile Myths
Agile MythsAgile Myths
Agile Myths
 
Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...
 
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
 
Inspirational web Designs 2021
Inspirational web Designs 2021Inspirational web Designs 2021
Inspirational web Designs 2021
 
8 Tips for Success with Animated Gifs
 8 Tips for Success with Animated Gifs  8 Tips for Success with Animated Gifs
8 Tips for Success with Animated Gifs
 
Always under construction: Websites that are never “finished”
Always under construction: Websites that are never “finished”Always under construction: Websites that are never “finished”
Always under construction: Websites that are never “finished”
 
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
 
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...
 
Summer at Onshape (2)
Summer at Onshape (2)Summer at Onshape (2)
Summer at Onshape (2)
 
Building Awesome Product Experience - Iteratively
Building Awesome Product Experience - IterativelyBuilding Awesome Product Experience - Iteratively
Building Awesome Product Experience - Iteratively
 
Learnings adopting Large Scale Scrum
Learnings adopting Large Scale ScrumLearnings adopting Large Scale Scrum
Learnings adopting Large Scale Scrum
 
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...
 
Agile Tour 2016 Pune - Innovation vs iteration by Kanchan Tandel
Agile Tour 2016 Pune - Innovation vs iteration by Kanchan TandelAgile Tour 2016 Pune - Innovation vs iteration by Kanchan Tandel
Agile Tour 2016 Pune - Innovation vs iteration by Kanchan Tandel
 
Leveling Up Your Junior Developers
Leveling Up Your Junior DevelopersLeveling Up Your Junior Developers
Leveling Up Your Junior Developers
 
Rapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTestingRapid Iterative Prototyping & UserTesting
Rapid Iterative Prototyping & UserTesting
 
A Startup Story - Geekcamp Presentation
A Startup Story - Geekcamp PresentationA Startup Story - Geekcamp Presentation
A Startup Story - Geekcamp Presentation
 
How to get stakeholder involvement in an agile world?v2
How to get stakeholder involvement in an agile world?v2How to get stakeholder involvement in an agile world?v2
How to get stakeholder involvement in an agile world?v2
 
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
 

Destacado

雅典耀的成绩单扫描件
雅典耀的成绩单扫描件雅典耀的成绩单扫描件
雅典耀的成绩单扫描件
Tess Chen
 
Announcements, 3/20/16
Announcements, 3/20/16Announcements, 3/20/16
Announcements, 3/20/16
CLADSM
 
صورة بكامل الصفحة
صورة بكامل الصفحةصورة بكامل الصفحة
صورة بكامل الصفحة
meshal aljaber
 
Bab 13 laporan akhir profesionalisme guru edited 30 april 2
Bab 13 laporan akhir profesionalisme guru edited 30 april 2Bab 13 laporan akhir profesionalisme guru edited 30 april 2
Bab 13 laporan akhir profesionalisme guru edited 30 april 2
sue ellen
 
Child Care Provision in Australia The Impact of Collapse of a Large Provider
Child Care Provision in Australia   The Impact of Collapse of a Large Provider Child Care Provision in Australia   The Impact of Collapse of a Large Provider
Child Care Provision in Australia The Impact of Collapse of a Large Provider
EduSkills OECD
 

Destacado (15)

Mobil feluletek keresoptimalizálása
Mobil feluletek keresoptimalizálásaMobil feluletek keresoptimalizálása
Mobil feluletek keresoptimalizálása
 
雅典耀的成绩单扫描件
雅典耀的成绩单扫描件雅典耀的成绩单扫描件
雅典耀的成绩单扫描件
 
Moocs
MoocsMoocs
Moocs
 
Announcements, 3/20/16
Announcements, 3/20/16Announcements, 3/20/16
Announcements, 3/20/16
 
Plan de trabajo original 1
Plan de trabajo original 1Plan de trabajo original 1
Plan de trabajo original 1
 
صورة بكامل الصفحة
صورة بكامل الصفحةصورة بكامل الصفحة
صورة بكامل الصفحة
 
Bab 13 laporan akhir profesionalisme guru edited 30 april 2
Bab 13 laporan akhir profesionalisme guru edited 30 april 2Bab 13 laporan akhir profesionalisme guru edited 30 april 2
Bab 13 laporan akhir profesionalisme guru edited 30 april 2
 
Child Care Provision in Australia The Impact of Collapse of a Large Provider
Child Care Provision in Australia   The Impact of Collapse of a Large Provider Child Care Provision in Australia   The Impact of Collapse of a Large Provider
Child Care Provision in Australia The Impact of Collapse of a Large Provider
 
круиз на ледоколе
круиз на ледоколекруиз на ледоколе
круиз на ледоколе
 
8 чудес Арктики
8 чудес Арктики8 чудес Арктики
8 чудес Арктики
 
Unleash the Potential of Big Data on Salesforce
Unleash the Potential of Big Data on SalesforceUnleash the Potential of Big Data on Salesforce
Unleash the Potential of Big Data on Salesforce
 
Factors of Innovation
Factors of InnovationFactors of Innovation
Factors of Innovation
 
portfolio
portfolioportfolio
portfolio
 
近未来の人工知能のカタチ
近未来の人工知能のカタチ近未来の人工知能のカタチ
近未来の人工知能のカタチ
 
Mobile Unified Communications - Mitel
Mobile Unified Communications - MitelMobile Unified Communications - Mitel
Mobile Unified Communications - Mitel
 

Similar a Too Frequent Continuous Integration Build Failures?

Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
Mikhail Zyatin
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
Mikhail Zyatin
 
Crossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul ReedCrossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul Reed
Atlassian
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
John Choi
 

Similar a Too Frequent Continuous Integration Build Failures? (20)

Blameless CI - Bashing cultural monsters in continuous integration
Blameless CI - Bashing cultural monsters in continuous integrationBlameless CI - Bashing cultural monsters in continuous integration
Blameless CI - Bashing cultural monsters in continuous integration
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Lean Responsive
Lean ResponsiveLean Responsive
Lean Responsive
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
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
 
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
 
Crossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul ReedCrossing the Continuous Delivery Chasm - J. Paul Reed
Crossing the Continuous Delivery Chasm - J. Paul Reed
 
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
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
 
Grails Worst Practices
Grails Worst PracticesGrails Worst Practices
Grails Worst Practices
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
 
Community antipatterns
Community antipatternsCommunity antipatterns
Community antipatterns
 
Get into bed with qa and keep testing agile
Get into bed with qa and keep testing agileGet into bed with qa and keep testing agile
Get into bed with qa and keep testing agile
 
Developers mindset
Developers mindsetDevelopers mindset
Developers mindset
 
En Route To Industry: Tips on Transferring from College into Industry
En Route To Industry: Tips on Transferring from College into IndustryEn Route To Industry: Tips on Transferring from College into Industry
En Route To Industry: Tips on Transferring from College into Industry
 
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
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
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
 

Más de 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
 

Más de 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
 

Último

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Too Frequent Continuous Integration Build Failures?

  • 1. Too Frequent CI Build Failures? What can ‘YOU’ do about them? Vivek Ganesan | Gainsight
  • 2. Running Jenkins is NOT Continuous Integration! Tools that you use != What you do. How do you use the tools? = What you do.
  • 3. 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
  • 4. 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.
  • 5. 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!
  • 6. How does this ADVERSELY AFFECT Raj & the organization?
  • 7. 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?
  • 8. 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.
  • 9. Code Commits & Roads Code commits are very similar to driving a car into a converging road.
  • 10. Code Commits & Roads Code commits are very similar to driving a car into a converging road. Your Commit
  • 11. Code Commits & Roads Code commits are very similar to driving a car into a converging road. Your Commit Team mate’s Pending Commit
  • 12. Your Commit Team mate’s Pending Commit Some commit done after your last pull
  • 13. 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?
  • 14. 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?
  • 15. 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
  • 16. 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.
  • 17. 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.
  • 18. 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 :)
  • 19. Questions??? Create an atmosphere free of blame and full of trust and transparency. For more (free) agility tips visit my site http://www.vivekganesan. com or follow me on Twitter at @vivek_ganesan