crossing the continuous delivery chasm - j. paul reed
DESCRIPTION
TRANSCRIPT
J. Paul Reed Principal Consultant • Release Engineering Approaches
Crossing the CD Chasm
J. Paul Reed
•“Sober Build Engineer”•@SoberBuildEng on •Fifteen years as a build/release engineer
Also Available on iTunes
@eciramella
@buildscientist
@cheeseplus
@sascha_d
@petecheslockwww.theshipshow.com
!
@ShipShowPodcast
Let’s Start with a Survey...
Continuous Delivery
Continuous DeliveryDeployment
Continuous DeliveryDeploymentDerpliveryment
Continuous Delivery Means Minimizing Lead Time From Idea To Production And Then Feeding Back To Idea Again. R o l f A n d re w R u s s e l l , T h o u g h t w o r k s
”“
Continuous Delivery Is A Set Of Principles And Practices To Reduce The Cost, Time, And Risk Of Delivering Incremental Changes To Users.
J e z H u m b l e”
“
Continuous Delivery Is Your Organization—Your Entire Organization—Caring About Release Engineering And Quality Assurance In A Way It Has Never Cared About Them Ever Before.M e
”
“
How Would
You Get
Across?
A Couple Possibilities
A Couple Possibilities
A Couple Possibilities
Let’s Build a Bridge!
Let’s Build a Bridge!
Let’s Build a Bridge!
Let’s Build a Bridge!
Let’s Build a Bridge!
Let’s Build a Bridge!
A Better Idea?
P R E P P I N G F O R T H E H I K E
Crossing the Chasm
O N T H E T R A I L
C A M P F I R E S T O R I E S
Prepping for the Hike
The Right People
The Right People
Developers • QA • Release Engineers • The “Business”
The Right Tools
Continuous...
Continuous... Integration?
Another Survey
Another Survey
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration•Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration•Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
•Put your hand down unless every check-in triggers build...
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration•Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
•Put your hand down unless every check-in triggers build...• ... followed by unit tests...
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration•Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
•Put your hand down unless every check-in triggers build...• ... followed by unit tests...• ... for the complete product
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet
•Put your hands up if you do continuous integration•Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
•Put your hand down unless every check-in triggers build...• ... followed by unit tests...• ... for the complete product•Put your hands down if broken builds are not fixed within 10 minutes
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land•Configuration management
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land•Configuration management•Backups
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land•Configuration management•Backups•Connection to source code repositories
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land•Configuration management•Backups•Connection to source code repositories•Access control
P R E P P I N G F O R T H E H I K E
Telling Indicators
P R E P P I N G F O R T H E H I K E
Telling Indicators•Possible to switch continuous integration software?
P R E P P I N G F O R T H E H I K E
Telling Indicators•Possible to switch continuous integration software?• “Show me your CI slaves”
P R E P P I N G F O R T H E H I K E
Telling Indicators•Possible to switch continuous integration software?• “Show me your CI slaves”•NTP (my favorite!)
What Happens When...
What Happens When...
Integrating Streams of Change
On The Trail
Getting Started
A Great Catalyst. . . To Avoid
Rethinking Fundamentals
Rethinking Fundamentals
Rethinking Fundamentals
Questions on Quality
O N T H E T R A I L
Continuous Quality
O N T H E T R A I L
Continuous Quality• Laser-focus on defect testing
O N T H E T R A I L
Continuous Quality• Laser-focus on defect testing• Integration/systems testing
O N T H E T R A I L
Continuous Quality• Laser-focus on defect testing• Integration/systems testing•Start with The ComponentTM
O N T H E T R A I L
Continuous Quality• Laser-focus on defect testing• Integration/systems testing•Start with The ComponentTM
• Fuzz testing
On Silos
On Silos
Flow Down the Mountain
Campfire Stories
Continuous Delivery =
Ship Every Single Commit
Continuous Delivery requires
Git
Continuous Delivery is only for web applications
Printers?
Core Internet Infrastructure?
"What's Important About Continuous Delivery: It's Not About How Fast You Can Turn The Crank, It's The Confidence With Which You Can [Turn That Crank].D a m o n E d w a rd s , E p i s o d e 1 5 , T h e S h i p S h o w
”
“
Serious Infrastructure
You can implement Continuous
Delivery using the same QA/RelEng
strategies as always.
You can implement Continuous Delivery
by yourself. Or without focused
investment
Hiking Alone is Dangerous
You can implement Continuous
Delivery without an increase in
transparency
“My Part Is Automated!”
“My Part Is Automated!”
Flow = Visibility
Hiking the Chasm
Won’t Be Easy...
But Worth It
J. Paul Reed Principal Consultant • Release Engineering Approaches
Thanks!
Hikes Through Other Canyons