continuous integration: a bittersweet love story
TRANSCRIPT
Head of Product for ThoughtWorks Products
Product Manager for Snap CI
10+ years experience with agile, CI and CD practices
Tweeting @pm_suzie
– Jez Humble, continuousdelivery.com
“CI developers integrate all their work into trunk (also known as mainline or master) on a regular basis (at least daily).”
1996Steve McConnell describes the
"Daily Build and Smoke Test" technique
2000Martin Fowler’s first published his
comprehensive Continuous Integration article
2010Book “Continuous Delivery” by Humble and Farley published
Our story so far…..
1993Grady Booch used the phrase
“continuous integration” in Object-Oriented Analysis and
Design with Applications
2007Book “Continuous Integration” by
Duvall published
2016Wikipedia lists 15+ continuous
integration Tools
2001The first continuous integration
server Cruise Control is released
2015CI described as “most essential
technical practice” in SAFe
1998Continuous integration is cited as
a core practice of Extreme Programming
❤
3%5%
6%
18%
Daily 68%
DailyWeeklyMonthlyOtherNever
http://stackoverflow.com/research/developer-survey-2016#work-checking-in-code
How often do you check in or commit code?
40%
20%
40% PractisingPlans to practiceNo 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?
Contextual research affinity wall
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
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?
You commit some
code, something
picks it up and
builds and makes
sure it still b
uilds
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
https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/
We tend to do anywhere between
15 and 50 branches in a push
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