SlideShare a Scribd company logo
1 of 43
DevOpsDays Baltimore 2017@pm_suzie
CONTINUOUS
INTEGRATION:
A BITTERSWEET
LOVE STORY
Head of Product for ThoughtWorks
Products
10+ years experience with agile,
continuous integration and
continuous delivery practices
Tweeting @pm_suzie
@pm_suzie
over 20 years 4000 people
40 offices 14 countries
@pm_suzie
@pm_suzie
hands up 🙋🏽
@pm_suzie
What is CI?
@pm_suzie
@pm_suzie
– Jez Humble, continuousdelivery.com
“ C I D E V E L O P E R S I N T E G R A T E
A L L T H E I R W O R K I N T O T R U N K
( A L S O K N O W N A S M A I N L I N E O R
M A S T E R ) O N A R E G U L A R B A S I S
( A T L E A S T D A I L Y ) . ”
@pm_suzie
dailymaster
@pm_suzie
Check everything in 🏽
@pm_suzie
Build every commit 🌅
@pm_suzie
Automate the build 🏽
@pm_suzie
Keep it fast!🏃🏽♀️
@pm_suzie
Have self testing 🏽
@pm_suzie
Show visible failures 🚨
@pm_suzie
Fix failures immediately 💊
@pm_suzie
dailymaster
@pm_suzie
Why we fell in love
with CI?
@pm_suzie
Avoid merge conflicts
@pm_suzie
Fast feedback
@pm_suzie
Reduce risks
@pm_suzie
Collective ownership
@pm_suzie
1996
Steve McConnell describes the
"Daily Build and Smoke Test"
technique
2000
Martin Fowler’s first published his
comprehensive Continuous
Integration article
2010
Book “Continuous Delivery” by
Humble and Farley published
Our story so far…..
1993
Grady Booch used the phrase
“continuous integration” in Object-
Oriented Analysis and Design with
Applications
2007
Book “Continuous Integration” by
Duvall published
2017
Wikipedia lists 15+ continuous
integration Tools
2001
The first continuous integration
server Cruise Control is released
2015
CI described as “most essential
technical practice” in SAFe
1998
Continuous integration is cited as
a core practice of Extreme
Programming
❤️
@pm_suzie
@pm_suzie
Daily
68%
18%
6%
5%
3%
Daily Weekly
Monthly Other
Never
http://stackoverflow.com/research/developer-survey-2016#work-checking-in-code
How often do you check in or commit code?
@pm_suzie
40%
20%
40%
Practising
Plans to practice
No plans
http://public.brighttalk.com/resource/core/88443/december_16_agile_in_the_enterprise_wholz_131607.pdf
When did or will your organization begin to practice continuous integration?
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
@pm_suzie
Contextual research affinity wall
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
@pm_suzie
What do people know about Continuous Integration?
Do they practice Continuous Integration?
How do they practice Continuous Integration?
What tools do people use to practice Continuous Integration?
How do people define Continuous Integration?
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
@pm_suzie
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
@pm_suzie
@pm_suzie
@pm_suzie
“CI Theatre” 🎭
@pm_suzie
@pm_suzie
Not getting the benefits of CI
@pm_suzie
Painful 🏽
@pm_suzie
Not ready for Continuous Delivery
or DevOps
@pm_suzie
SAVE YOUR
CI NOW!
3 HOT TIPS
@pm_suzie
Commit more often
@pm_suzie
Automate, automate, automate
@pm_suzie
Trunk based development
@pm_suzie
dailymaster
@pm_suzie
@pm_suzie

More Related Content

What's hot

Introduction to Agile Scrum
Introduction to Agile ScrumIntroduction to Agile Scrum
Introduction to Agile ScrumAndrea Picchi
 
How we Sort of Make Agile Work - A Case Study
How we Sort of Make Agile Work - A Case StudyHow we Sort of Make Agile Work - A Case Study
How we Sort of Make Agile Work - A Case StudyUXPA International
 
How we make agile work
How we make agile workHow we make agile work
How we make agile workYael Keren
 
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...TALiNT Partners
 
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...TALiNT Partners
 
May Measurement Month 2017
May Measurement Month 2017May Measurement Month 2017
May Measurement Month 2017eugenieverney
 
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTDGETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTDJacobRogers53
 
How to Build Products for the Blind by Sidewalk Labs' Engineer
How to Build Products for the Blind by Sidewalk Labs' EngineerHow to Build Products for the Blind by Sidewalk Labs' Engineer
How to Build Products for the Blind by Sidewalk Labs' EngineerProduct School
 

What's hot (11)

Introduction to Agile Scrum
Introduction to Agile ScrumIntroduction to Agile Scrum
Introduction to Agile Scrum
 
Agil unter Zeitdruck
Agil unter Zeitdruck Agil unter Zeitdruck
Agil unter Zeitdruck
 
How we Sort of Make Agile Work - A Case Study
How we Sort of Make Agile Work - A Case StudyHow we Sort of Make Agile Work - A Case Study
How we Sort of Make Agile Work - A Case Study
 
How we make agile work
How we make agile workHow we make agile work
How we make agile work
 
Windows Phone 7.5 UX - What's Metro
Windows Phone 7.5 UX - What's MetroWindows Phone 7.5 UX - What's Metro
Windows Phone 7.5 UX - What's Metro
 
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
 
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
Predicting Right-Fit Hires - The Impact of AI and Machine Learning on Recruit...
 
Agile Processes
Agile ProcessesAgile Processes
Agile Processes
 
May Measurement Month 2017
May Measurement Month 2017May Measurement Month 2017
May Measurement Month 2017
 
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTDGETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
 
How to Build Products for the Blind by Sidewalk Labs' Engineer
How to Build Products for the Blind by Sidewalk Labs' EngineerHow to Build Products for the Blind by Sidewalk Labs' Engineer
How to Build Products for the Blind by Sidewalk Labs' Engineer
 

Viewers also liked

Building the Baltimore DevOps Community by Nathen Harvey
Building the Baltimore DevOps Community by Nathen HarveyBuilding the Baltimore DevOps Community by Nathen Harvey
Building the Baltimore DevOps Community by Nathen HarveyDevOpsDays Baltimore
 
Continous delivery
Continous deliveryContinous delivery
Continous deliveryNathan Bain
 
Suely rolnik: memória do corpo contamina museu | eipcp
Suely rolnik: memória do corpo contamina museu | eipcpSuely rolnik: memória do corpo contamina museu | eipcp
Suely rolnik: memória do corpo contamina museu | eipcpThatiane Mendes
 
Revoluciones hispanoamericanas
Revoluciones hispanoamericanasRevoluciones hispanoamericanas
Revoluciones hispanoamericanasprofe pucillo
 
柏瑞週報20170310
柏瑞週報20170310柏瑞週報20170310
柏瑞週報20170310Pinebridge
 
سلامة التشييد - Construction Safety
سلامة التشييد - Construction Safetyسلامة التشييد - Construction Safety
سلامة التشييد - Construction SafetyHussain Sbetan
 
Third-Wave DevOps: What we can learn from Coffee by Jason Yee
Third-Wave DevOps: What we can learn from Coffee by Jason YeeThird-Wave DevOps: What we can learn from Coffee by Jason Yee
Third-Wave DevOps: What we can learn from Coffee by Jason YeeDevOpsDays Baltimore
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareJosé Antonio Sandoval Acosta
 
Tarea comunicacion y lenguaje i
Tarea comunicacion y  lenguaje iTarea comunicacion y  lenguaje i
Tarea comunicacion y lenguaje iLelie Peña
 
000052 ejercicios resueltos de electricidad con ley de coulomb
000052 ejercicios resueltos de electricidad con ley de coulomb000052 ejercicios resueltos de electricidad con ley de coulomb
000052 ejercicios resueltos de electricidad con ley de coulombjoan torres
 
Función lineal 9° Grado
Función lineal 9° GradoFunción lineal 9° Grado
Función lineal 9° GradoDiana Meneses
 
Soal uas x jardas genap
Soal uas  x jardas genapSoal uas  x jardas genap
Soal uas x jardas genapIwan Wibisono
 

Viewers also liked (20)

Building the Baltimore DevOps Community by Nathen Harvey
Building the Baltimore DevOps Community by Nathen HarveyBuilding the Baltimore DevOps Community by Nathen Harvey
Building the Baltimore DevOps Community by Nathen Harvey
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 
Continous delivery
Continous deliveryContinous delivery
Continous delivery
 
Suely rolnik: memória do corpo contamina museu | eipcp
Suely rolnik: memória do corpo contamina museu | eipcpSuely rolnik: memória do corpo contamina museu | eipcp
Suely rolnik: memória do corpo contamina museu | eipcp
 
Revoluciones hispanoamericanas
Revoluciones hispanoamericanasRevoluciones hispanoamericanas
Revoluciones hispanoamericanas
 
柏瑞週報20170310
柏瑞週報20170310柏瑞週報20170310
柏瑞週報20170310
 
Megamobilier
MegamobilierMegamobilier
Megamobilier
 
سلامة التشييد - Construction Safety
سلامة التشييد - Construction Safetyسلامة التشييد - Construction Safety
سلامة التشييد - Construction Safety
 
Third-Wave DevOps: What we can learn from Coffee by Jason Yee
Third-Wave DevOps: What we can learn from Coffee by Jason YeeThird-Wave DevOps: What we can learn from Coffee by Jason Yee
Third-Wave DevOps: What we can learn from Coffee by Jason Yee
 
Taller del consumo de drogas
Taller del consumo de drogasTaller del consumo de drogas
Taller del consumo de drogas
 
Cómo registrar una marca
Cómo registrar una marcaCómo registrar una marca
Cómo registrar una marca
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Tarea comunicacion y lenguaje i
Tarea comunicacion y  lenguaje iTarea comunicacion y  lenguaje i
Tarea comunicacion y lenguaje i
 
Proyecto reciclaje isla santay
Proyecto reciclaje isla santayProyecto reciclaje isla santay
Proyecto reciclaje isla santay
 
Enfermedades mitocondriales
Enfermedades mitocondrialesEnfermedades mitocondriales
Enfermedades mitocondriales
 
Cliente.servidor
Cliente.servidorCliente.servidor
Cliente.servidor
 
000052 ejercicios resueltos de electricidad con ley de coulomb
000052 ejercicios resueltos de electricidad con ley de coulomb000052 ejercicios resueltos de electricidad con ley de coulomb
000052 ejercicios resueltos de electricidad con ley de coulomb
 
Función lineal 9° Grado
Función lineal 9° GradoFunción lineal 9° Grado
Función lineal 9° Grado
 
Soal uas x jardas genap
Soal uas  x jardas genapSoal uas  x jardas genap
Soal uas x jardas genap
 
Hacking the A3 by Alan Kraft
Hacking the A3 by Alan KraftHacking the A3 by Alan Kraft
Hacking the A3 by Alan Kraft
 

Similar to Continuous Integration: a bittersweet love story by Suzie Prince

Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Suzie Prince
 
Young Project Leaders - 2020 Project Management Institute Interview
Young Project Leaders - 2020 Project Management Institute InterviewYoung Project Leaders - 2020 Project Management Institute Interview
Young Project Leaders - 2020 Project Management Institute InterviewRajesh Kumar Nalla
 
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015ArabNet ME
 
DevOpsDays Zurich 2017 - Our Continuous Delivery Journey
DevOpsDays Zurich 2017 - Our Continuous Delivery JourneyDevOpsDays Zurich 2017 - Our Continuous Delivery Journey
DevOpsDays Zurich 2017 - Our Continuous Delivery JourneySuzie Prince
 
Agile is a 4 letter word - dev nexus 2020
Agile is a 4 letter word - dev nexus 2020Agile is a 4 letter word - dev nexus 2020
Agile is a 4 letter word - dev nexus 2020Jen Krieger
 
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)Tech in Asia ID
 
Growing with the Open-Source Community
Growing with the Open-Source CommunityGrowing with the Open-Source Community
Growing with the Open-Source CommunityTomasz Urbaszek
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19Julian Douch
 
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkey
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkeyNUS Enterprise - Kopi Chat - Product Research - SurveyMonkey
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkeyEli Schwartz
 
Creating a Collaborative Workplace Culture Webinar Series
Creating a Collaborative Workplace Culture Webinar SeriesCreating a Collaborative Workplace Culture Webinar Series
Creating a Collaborative Workplace Culture Webinar SeriesCisco Canada
 
Canterbury Tech July 2022 - Digital Journey ideas.pdf
Canterbury Tech July 2022 - Digital Journey ideas.pdfCanterbury Tech July 2022 - Digital Journey ideas.pdf
Canterbury Tech July 2022 - Digital Journey ideas.pdfDouglas Talbot
 
DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis VictorOps
 
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1VersionOne
 
Remote / Hybrid Working Models of the Future
Remote / Hybrid Working Models of the Future  Remote / Hybrid Working Models of the Future
Remote / Hybrid Working Models of the Future UXDXConf
 
Clean Code - Increase your agility through higher quality software
Clean Code - Increase your agility through higher quality softwareClean Code - Increase your agility through higher quality software
Clean Code - Increase your agility through higher quality softwareEric Reichwaldt
 
Devops in the real world
Devops in the real worldDevops in the real world
Devops in the real worldCloudOps Summit
 
The Rationale for Continuous Delivery (The culture and practice of good softw...
The Rationale for Continuous Delivery (The culture and practice of good softw...The Rationale for Continuous Delivery (The culture and practice of good softw...
The Rationale for Continuous Delivery (The culture and practice of good softw...C4Media
 
20130925 is24 @ cloudops summit 2013
20130925   is24 @ cloudops summit 201320130925   is24 @ cloudops summit 2013
20130925 is24 @ cloudops summit 2013Andreas Hankel
 
Civic hacking: build your cred while doing good
Civic hacking: build your cred while doing goodCivic hacking: build your cred while doing good
Civic hacking: build your cred while doing goodfureigh
 
DevOps & Cloud-Native for Enterprise Architects Not Dead Yet
DevOps & Cloud-Native for Enterprise Architects Not Dead YetDevOps & Cloud-Native for Enterprise Architects Not Dead Yet
DevOps & Cloud-Native for Enterprise Architects Not Dead YetVMware Tanzu
 

Similar to Continuous Integration: a bittersweet love story by Suzie Prince (20)

Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story
 
Young Project Leaders - 2020 Project Management Institute Interview
Young Project Leaders - 2020 Project Management Institute InterviewYoung Project Leaders - 2020 Project Management Institute Interview
Young Project Leaders - 2020 Project Management Institute Interview
 
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015
Business Innovation by THNK & Collaborne - ArabNet Riyadh 2015
 
DevOpsDays Zurich 2017 - Our Continuous Delivery Journey
DevOpsDays Zurich 2017 - Our Continuous Delivery JourneyDevOpsDays Zurich 2017 - Our Continuous Delivery Journey
DevOpsDays Zurich 2017 - Our Continuous Delivery Journey
 
Agile is a 4 letter word - dev nexus 2020
Agile is a 4 letter word - dev nexus 2020Agile is a 4 letter word - dev nexus 2020
Agile is a 4 letter word - dev nexus 2020
 
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)
"Rebuilding UI at Large Scale" by Monika Halim (GO-JEK)
 
Growing with the Open-Source Community
Growing with the Open-Source CommunityGrowing with the Open-Source Community
Growing with the Open-Source Community
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
 
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkey
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkeyNUS Enterprise - Kopi Chat - Product Research - SurveyMonkey
NUS Enterprise - Kopi Chat - Product Research - SurveyMonkey
 
Creating a Collaborative Workplace Culture Webinar Series
Creating a Collaborative Workplace Culture Webinar SeriesCreating a Collaborative Workplace Culture Webinar Series
Creating a Collaborative Workplace Culture Webinar Series
 
Canterbury Tech July 2022 - Digital Journey ideas.pdf
Canterbury Tech July 2022 - Digital Journey ideas.pdfCanterbury Tech July 2022 - Digital Journey ideas.pdf
Canterbury Tech July 2022 - Digital Journey ideas.pdf
 
DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis
 
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1
AgileLIVE Webinar: Build a DevOps Culture & Infrastructure for Success Part 1
 
Remote / Hybrid Working Models of the Future
Remote / Hybrid Working Models of the Future  Remote / Hybrid Working Models of the Future
Remote / Hybrid Working Models of the Future
 
Clean Code - Increase your agility through higher quality software
Clean Code - Increase your agility through higher quality softwareClean Code - Increase your agility through higher quality software
Clean Code - Increase your agility through higher quality software
 
Devops in the real world
Devops in the real worldDevops in the real world
Devops in the real world
 
The Rationale for Continuous Delivery (The culture and practice of good softw...
The Rationale for Continuous Delivery (The culture and practice of good softw...The Rationale for Continuous Delivery (The culture and practice of good softw...
The Rationale for Continuous Delivery (The culture and practice of good softw...
 
20130925 is24 @ cloudops summit 2013
20130925   is24 @ cloudops summit 201320130925   is24 @ cloudops summit 2013
20130925 is24 @ cloudops summit 2013
 
Civic hacking: build your cred while doing good
Civic hacking: build your cred while doing goodCivic hacking: build your cred while doing good
Civic hacking: build your cred while doing good
 
DevOps & Cloud-Native for Enterprise Architects Not Dead Yet
DevOps & Cloud-Native for Enterprise Architects Not Dead YetDevOps & Cloud-Native for Enterprise Architects Not Dead Yet
DevOps & Cloud-Native for Enterprise Architects Not Dead Yet
 

More from DevOpsDays Baltimore

Deploying 30 times a day, and making sure everything stays 200 OK by Eric Sigler
Deploying 30 times a day, and making sure everything stays 200 OK by Eric SiglerDeploying 30 times a day, and making sure everything stays 200 OK by Eric Sigler
Deploying 30 times a day, and making sure everything stays 200 OK by Eric SiglerDevOpsDays Baltimore
 
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabe
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabeDevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabe
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabeDevOpsDays Baltimore
 
DevOps: It's just a game by Tom Larrow
DevOps: It's just a game by Tom LarrowDevOps: It's just a game by Tom Larrow
DevOps: It's just a game by Tom LarrowDevOpsDays Baltimore
 
~~Putting~~ Convincing the Ops in DevOps by Jamie Jones
~~Putting~~ Convincing the Ops in DevOps by Jamie Jones~~Putting~~ Convincing the Ops in DevOps by Jamie Jones
~~Putting~~ Convincing the Ops in DevOps by Jamie JonesDevOpsDays Baltimore
 
Making Your Product Manager Productive by Clinton Wolfe
Making Your Product Manager Productive by Clinton WolfeMaking Your Product Manager Productive by Clinton Wolfe
Making Your Product Manager Productive by Clinton WolfeDevOpsDays Baltimore
 
Transversal Delivery Pipeline by Mike Nescot and Nick Grace
Transversal Delivery Pipeline by Mike Nescot and Nick GraceTransversal Delivery Pipeline by Mike Nescot and Nick Grace
Transversal Delivery Pipeline by Mike Nescot and Nick GraceDevOpsDays Baltimore
 
Best Practices for IT management: Investment‐based Budgeting by Elias Senter
Best Practices for IT management: Investment‐based Budgeting by Elias SenterBest Practices for IT management: Investment‐based Budgeting by Elias Senter
Best Practices for IT management: Investment‐based Budgeting by Elias SenterDevOpsDays Baltimore
 
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon Adato
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon AdatoGetting Away from it All - Living an Unplugged Life as an IT Pro by Leon Adato
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon AdatoDevOpsDays Baltimore
 
Decoding Culture: Beyond the Fluff and Back to Business by Jeff Gallimore
Decoding Culture: Beyond the Fluff and Back to Business by Jeff GallimoreDecoding Culture: Beyond the Fluff and Back to Business by Jeff Gallimore
Decoding Culture: Beyond the Fluff and Back to Business by Jeff GallimoreDevOpsDays Baltimore
 
Lost art of troubleshooting by Leon Fayer
Lost art of troubleshooting by Leon FayerLost art of troubleshooting by Leon Fayer
Lost art of troubleshooting by Leon FayerDevOpsDays Baltimore
 

More from DevOpsDays Baltimore (11)

Deploying 30 times a day, and making sure everything stays 200 OK by Eric Sigler
Deploying 30 times a day, and making sure everything stays 200 OK by Eric SiglerDeploying 30 times a day, and making sure everything stays 200 OK by Eric Sigler
Deploying 30 times a day, and making sure everything stays 200 OK by Eric Sigler
 
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabe
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabeDevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabe
DevSecOpsNess: Adding the business dimension to DevOps by Tanusree McCabe
 
DevOps: It's just a game by Tom Larrow
DevOps: It's just a game by Tom LarrowDevOps: It's just a game by Tom Larrow
DevOps: It's just a game by Tom Larrow
 
~~Putting~~ Convincing the Ops in DevOps by Jamie Jones
~~Putting~~ Convincing the Ops in DevOps by Jamie Jones~~Putting~~ Convincing the Ops in DevOps by Jamie Jones
~~Putting~~ Convincing the Ops in DevOps by Jamie Jones
 
Making Your Product Manager Productive by Clinton Wolfe
Making Your Product Manager Productive by Clinton WolfeMaking Your Product Manager Productive by Clinton Wolfe
Making Your Product Manager Productive by Clinton Wolfe
 
Don't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen EmeryDon't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen Emery
 
Transversal Delivery Pipeline by Mike Nescot and Nick Grace
Transversal Delivery Pipeline by Mike Nescot and Nick GraceTransversal Delivery Pipeline by Mike Nescot and Nick Grace
Transversal Delivery Pipeline by Mike Nescot and Nick Grace
 
Best Practices for IT management: Investment‐based Budgeting by Elias Senter
Best Practices for IT management: Investment‐based Budgeting by Elias SenterBest Practices for IT management: Investment‐based Budgeting by Elias Senter
Best Practices for IT management: Investment‐based Budgeting by Elias Senter
 
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon Adato
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon AdatoGetting Away from it All - Living an Unplugged Life as an IT Pro by Leon Adato
Getting Away from it All - Living an Unplugged Life as an IT Pro by Leon Adato
 
Decoding Culture: Beyond the Fluff and Back to Business by Jeff Gallimore
Decoding Culture: Beyond the Fluff and Back to Business by Jeff GallimoreDecoding Culture: Beyond the Fluff and Back to Business by Jeff Gallimore
Decoding Culture: Beyond the Fluff and Back to Business by Jeff Gallimore
 
Lost art of troubleshooting by Leon Fayer
Lost art of troubleshooting by Leon FayerLost art of troubleshooting by Leon Fayer
Lost art of troubleshooting by Leon Fayer
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Continuous Integration: a bittersweet love story by Suzie Prince

Editor's Notes

  1. Hello My name is Suzie Prince. I am head of Products for Thoughtworks in the product division. We build tools for software development teams. I have been working in software development for over 10 years. All of my professional experience has been working with agile, continuous integration and continuous delivery. I’m a Brit but I live and work in the San Francisco Bay Area. If you want to catch me when I’m not in Baltimore you can tweet me at @pm_suzie
  2. For those of you not familiar with ThoughtWorks we are a group of passionate technologists. We provide software delivery, pioneering tools and consulting services across the globe. We are very diverse group with 4000 people, in 40 offices and across 14 countries. In addition to helping our customers deliver better software, we also like to push the industry to be better. <CLICK to transition> We write books, publish tech roadmaps and support open source tools. Our commitment to software excellence and improving the IT industry is at the heart of what we do. We created the first Continuous Integration server, Cruise Control. The first Continuous Delivery server with pipelines GoCD. We are the people behind Selenium. We also developed the concepts and practices that would become “Continuous Delivery” and the authors of “the CD book” were TWers at the time they wrote it. In fact Jez Humble worked with us in our product division when we were first building GoCD. Ok enough about me and ThoughtWorks. If anyone wants to chat more about what we do or our products. I’ll be in the here for most of the two days.
  3. Today I’m going to tell you a love story about how we (the software industry) fell in love with Continuous integration. I’ll start by define continuous integration (or CI) and sharing what I think is important about the definition. Then share the benefits CI or what I like to call “Why we fell in love with CI” Then we will take a look at our relationship status with CI Finally review what we have learned And I’m happy to take questions at the end
  4. To get started I’d like to know abit more about you all Who’s has heard of CI? Who is doing CI?
  5. Ok for those who didn’t know CI or need a review
  6. Ci is where software developers or engineers who write code integrate their changes in a source repository, build the combined software and test that it works. Generally we use a CI server to do this and the process requires that we have self testing code. It’s a feedback loop that helps us get better. That’s basically the process. Quickly reviewed. But there are principles and practices that are associated with the process too.
  7. Here is my favorite definition of the CI by Jez Humble “CI developers integrate all their work into trunk (also known as mainline or master) on a regular basis (at least daily).” includes two of fundamental principles of the practice.
  8. That is that we check into master on a daily basis For me these are very key elements to what makes continuous integration, continuous aka aka and integrated into master. But there are a bunch of other things that you need to do to be doing CI such as …..
  9. Everything you need to build the project is in source control. The basic rule of thumb is that you should be able to walk up to the project with a virgin machine, do a checkout, and be able to fully build the system.
  10. Building every commit once. Yes. You can’t skip commits and still be truly continuous.
  11. Automating your build can definitely help you be better / quicker / more efficient at CI
  12. The whole point of Continuous Integration is to provide rapid feedback. And we want this to be fast because it’s a feedback loop and feedback that doesn’t come quickly is usually hard to deal with and ineffective
  13. And of course you're going to need code that tests itself each time something is committed. For self-testing code you need a suite of automated tests that can check a large part of the code base for bugs. The result of running the test suite should indicate if any tests failed. For a build to be self-testing the failure of a test should cause the build to fail.
  14. You also want to make failure visible Red lights Alerts Noise Buzzers You want to know when your build is broken so you can fix it
  15. And then you want to fix you failures immediately No checking in on broken builds No long red streaks Red should be followed by green
  16. But remember I think master and daily are two most important principles
  17. Ok so now we have reviewed what CI is and what it means to me. Let’s take a look at why we fell in love with it in the first place.
  18. An obvious one I’m sure and most like the reason that originally was a great driver for CI was to avoid merge conflicts. These are the issues you get when you try to integrate a lot of changes at once. Traditionally this would have taken a long time at the end of a project potentially delaying releases and causing lots of rework. CI allows this conflict to happen often so the conflict is small and manageable.
  19. The second benefit is fast feedback. Small changes frequently you get faster feedback, This is a key driver for CI, but also agile and our favorite CD. By doing things continuously you reduce assumptions. In the case of CI you are to assuming your code is going to work as expected. Instead of assuming you will actually confirm, quickly, that it works as expected and if it doesn’t you get to resolve that immediately.
  20. And by doing it immediately you reduce assumptions AND risks later on in the project. There are less likely to be unknowns later on if you get the hard stuff out the way quickly and often.
  21. Finally an often forgotten benefit of CI but one I think is as important as the other and particularly relevant to those of you working towards a DevOps culture is that you get collective ownership of the code, of the build server and of the product. There are no code silos. Everyone can frequently see and integrate with the code of others. They can all own the health of the build and the status of the product. In a world where DevOps culture is hot and people want to release frequently and often the benefits of CI grow and grow. For example with CI, you have an always the most recent features ready to deliver and your ability to refactor and have evolutionary architecture are enhanced. So that’s why we fell in love in CI. Let’s take a look at ur love story so far …
  22. Our love story started back in the 90s when we first meet CI. Then1998 CI is cited as a key practice in XP and 2001 the first CI servers are released. The love continues to grow in the 2000s as articles and books are published first chronicling CI and then CD. Finally up to today we see that all “agile” method including management and process heavy SAFe (Scaled Agile Framework) include CI as key dev practice. And there are many many CI tools in the market place. So looking at all that you think that our love would still be as sweet as it was in the beginning right? It should be sweet right? Well here’s come the bittersweet.
  23. Honestly our relationship with CI it’s pretty complicated. Let me tell you why.
  24. This is some data from a Stack Overflow dev survey where they asked about frequency of code commits or check ins. We can see that nearly 70% of people are checking in at least once a day. On the surface things look rosy. If we think about my favorite def we have the “daily” part down.
  25. But if we dig a bit deeper we can see that this is not necessarily the whole story. This is data from Gartner. They surveyed their customers - specifically those in Agile Enterprise organisations. These are the organizations that make the majority of software out there in the world. In those organisations, the one specifically embracing change, who want to move faster and be better, we see only about 40% practicing CI and 40% are most likely never going to do CI. That’s huge. So this love story is definitely different than the one that many of us have been telling ourselves. In fact when we dig a little deeper we will see that it is quite different than what we might think.
  26. The data I am about to share with you are the results my colleague and I learned when we scratched a bit deeper into the CI love story. We conducted a research study last year using contextual inquiry. Contextual inquiry or research is a methodology that uses a combined interview and observation approach. We set up calls, video chats, and in-person conversations with software engineers at varying organizations and with varying levels of expertise to understand how they worked, what their big pains were, and the nuances of their days.
  27. Goals of this work were to answer some questions we had about CI Primarily we wanted to * Identify what users know about continuous integration (CI) and continuous delivery practices and principles. Identify pain points around practicing continuous delivery on a daily basis. First I’d like to share some things about that last one - “How do people define Continuous Integration?”
  28. Here are some responses when we asked people to define CI. “You commit some code, something picks it up and builds and makes sure it still builds” “I push the code to the master branch after it's been tested on the test branch. That in return triggers something and gets deployed.” “…testing your code all the time. Executing the code that you write all the time, making sure the code doesn't go stale” As you can see these participants (and they represent the vast majority) were unable to comprehensively define CI in the way that I did at the beginning of the talk. Specifically they didn’t mention the two key things that I believe are fundamental to CI - commit to master on a daily basis. But come no you might say - they weren’t super precise and a bunch of people were definitely missing some of the key pieces but maybe it’s ok…? Surely even if I hadn’t had the textbook quote from Jez I wouldn’t have defined it precisely. And it’s true definitions mean nothing. It’s the doing that is important so regardless of whether they could define CI they might still be “doing CI”. Let’s look at what they said they were doing in terms of CI.
  29. Unfortunately this is no better…. And in fact many often specifically said they were practicing something that is clearly not continuous integration the way I defined it. “The most challenging thing is when you end up with a lot of features piled together in one commit” “Anytime a feature is finally complete then it get’s merged into master” “We tend to do anywhere between 15 and 50 branches in a push” Of those who said they were using long-lived branches and not regularly checking into a master branch, 90% also said they were practicing continuous integration. We also heard a lot of “we have a CI server” and “we use x tool” when we asked “are you practicing CI?” In fact with the exception of just more than 10%, everyone using a CI tool said they were practicing CI. It also really does appears that the use of a CI server or tool is what people mean when they say we are practicing CI rather than specifically practicing the fundamentals of CI as we discussed before.
  30. Our love story really has taken a little turn for the worse. And it’s not quite as rosy as we’d think. We think everyone is doing CI. But lots of people still don’t really practice it. And those that do say they practice it Can’t define it Probably aren’t really doing it Yet probably are using a CI tool
  31. My colleagues I call this status “CI theatre”. It’s like playing at being software programmers - it’s close but not quite. Common examples of “CI theatre” include running CI against a shared mainline but with infrequent commits, so integration isn’t really continuous, running a build with poor test coverage, allowing the build to stay red for long periods, or running CI against feature branches, leading to continuous isolation. The resulting “CI theatre” usually makes people feel good, but is not a credible CI practice.
  32. So what? You might say. Who care’s if it’s complicated? What if many people practicing “CI theatre”. I’d like to take this opportunity to convince you why it’s important to care about CI and doing it “correctly”.
  33. If I am doing CI but not doing CI - I am not getting the benefits we started doing this all for in the first place. If I am are not checking in, working locally or working on a long lived branch then I’m not getting fast feedback, I’m not communicating my changes to the team, I’m not mitigating risks that I’ve misunderstood the architecture, or the requirements. I’m potentially wasting my time. I’m definitely not getting the full benefits from CI.
  34. Apart from that I’m likely to be experiencing pain that true CI would resolve. In our study it was very clear that not doing the the master and daily aspects of CI was painful to people. People who said they were doing CI also said they experienced anxiety when merging all their code to master, when they had to merge all their changes at once or explain a huge commit to the team. One participant described the horror of having worked in a branch, changed 100 files and 7000 lines of code, entered a code review and just being overwhelmed trying to explain it all to his colleagues. He said “I wish there was a nicer to decompose commits because it's hard to keep everything in your head.” The whole time I was screaming inside there is - it’s called “CI”.
  35. But really this is a heart of why I am mentioning this here. Why I came to this conference to talk about this topic. CI is fundamental for CD and DevOps CI is important to organizations who want to move more quickly. All these organizations who want to move quickly, be faster, disrupt, innovate, do CD and have a DevOps culture they need to embrace CI. And not just “do CI” or “CI theatre” but really understanding it and get back to the fundamentals.
  36. Ok so let’s assume that I’ve convinced you that CI is a fundamental practice that takes work and needs to be committed to. Where do you start to get your relationship with CI back on track? I have some tips!
  37. Back to basics. So if you are not doing CI this where you can get started and even if you are “doing CI” there is always remove to improve. I love the saying “Frequency reduces difficulty”. Why? Because in doing something more often, the task becomes smaller, making it easier to achieve. Continuous integration is a key example of something that becomes easier and easier the more often you do it. Continuous deployment is a similar example. So you can see how these things build on one another. So my advice: commit code to your repos more often and integrate branches to ‘master’ more often.
  38. Automate. This goes along side “frequency reduces difficultly.” People fear doing something often because it feels like more work so make your life easier and automate it. Automation is a cornerstone of strong continuous integration so if you you haven’t automated anything then start. And if you have automated start asking yourself “Why can’t this be automated?” every time anyone on the team does anything manually more than once. If it doesn’t help you do CI better it will definitely help you do CD better.
  39. Finally - trunk based development. This isn’t a talk about a trunk based development vs branch based development. But I can definitely tell you when we talked to people who had pain with their CI process it was those that didn’t practice trunk based development. That’s not to say trunk based is not hard. It is. But it brings the pain forward. Faster pain. Better results. I challenge you to consider doing trunk based development if you want to do better CI. If you can’t do that please please do short lived branches. No longer than day a day.
  40. Because master and daily, remember?
  41. That’s it. That’s our love story. We’ve taken a look at CI, reviewed what I think is important about the definition, reviewed the current state of the CI and how to get back to the sweet sweet fundamentals.
  42. So what is the end of our story…. I think how this love story is it up to you!?