際際滷

際際滷Share a Scribd company logo
Competitive Advantage 
of Continuous 
Integration 
Tim Gifford 
Lean/XP Coach 
Lean TECHniques 
@TimGifford 
tim@leantechniques.co
table of contents 
Fighter Pilots and Fruit Flies 01 
02 Engineering 
A Brief History of Software 
Continuous Integration Mindset 03 
04 Hard Way 
Continuous Integration - The 
Examples 05 
06 Questions
Fighter pilots and fruit 
flies teach us about 
continuous integration Story 
Time
4 
Forty Second Boyd 
Colonel John Boyd 
Claimed he could defeat any pilot from a 
position of disadvantage in less than 40 
seconds. 
"The Iraqi army collapsed morally and intellectually under the onslaught of American and Coalition forces. John Boyd 
was an architect of that victory as surely as if he'd commanded a fighter wing or a maneuver division in the desert. 
General Charles C. Krulak 
Referring to the strategy used in Operation Desert Storm 
section 01
5 
Forty Second Boyd 
OODA Loop 
Observation 
Action Orientation 
Decision 
Complete your loop faster makes your 
opponent incapable to act 
Each action forces your opponent 
to observe 
and orient. 
Get inside your opponents loop! 
section 01
Dont blink! Fruit Fly 
Family 
Reunions
7 
Fruit Fly Family Reunions 
Why are fruit flies used in genetics 
research? 
10 Day Life Cycles 
100+ Eggs 
Small 
Fast Learning 
section 01 
https://www.flickr.com/photos/max_westby/
Were in the Industrial 
Age of software. Weve 
moved out of the Dark 
Ages and moving quickly 
towards the Information 
Age. 
What does our future 
hold? 
A Brief 
History of 
Software 
Engineerin 
g
9 
A Time Before CI 
Dark Ages 
Wizards 
Champions 
Dragons 
Myths 
Legends 
https://www.flickr.com/photos/xtream_i/
10 
Today 
Industrial Age 
Specialization 
Science 
Efficiency 
Statistical Control 
Six Sigma 
Project Management  
things 
Capacity Planning 
Days of Our Lives 
section 02
11 
Tomorrow 
Information Age 
Manage demand (not capacity) 
Predictive Demand Modeling  Cellular networks 
Predictive Provisioning 
Self Repairing  Netflixs Chaos Monkey/Gorilla 
Zero Downtime 
Defect Free 
Anti-Fragile Architectures 
Product Management  Problems and their solutions 
section 02
Continuous Integration is 
more than a tool. It is a 
competitive advantage 
and new way of thinking 
for the Information Age 
of software engineering. 
Continuou 
s 
Integration 
Mindset
13 
Continuous Integration Mindset 
Economic Impact 
Reduction in coordination and transaction costs 
Reduction on acquisition costs 
Reduce Total Cost of Ownership 
Reduce opportunity costs 
Increased risk mitigation 
Large batch sizes are 
necessary when 
transaction and 
coordination costs are 
high. 
Reducing these costs 
will enable smaller 
batch sizes.
14 
Continuous Integration Mindset 
Individual 
Team 
Culture 
Product 
Market 
Continuous Integration - Layers
15 
Continuous Integration - Individual 
Local Development 
Environment 
The system should run 
locally without a network 
connection. 
Limited Red 
Making small changes limit 
the compile and test failures. 
Developers need to 
continuously reduce the time 
their changes are not 
shippable. 
Diff Aware Development 
Developers anticipate how 
edits will impact the team. 
Continuous Integration Mindset 
Individual 
Continuous Integration Mindset 
Add changes to the end 
of a file 
Formatting a file results 
in a the entire file being 
modified! 
Dont be afraid to revert 
your changes.
16 
Continuous Integration Mindset 
Continuous Integration - Team 
Continuous Demos 
Teams need to be capable of 
showing their user facing 
functionality every day. 
Technical delivery can 
signify a team this not 
integrating to create 
stakeholder value. 
Continuous Integration Mindset 
Team 
Confident Green 
When the automated build is 
successful, the team should 
feel confident they can 
deploy to production 
A lack of confidence is a 
signal of a missing 
automated test
17 
Continuous Integration - Culture 
Failure Tolerant 
Mistakes will happen. 
Discovering information that 
we previously unknown 
needs to be celebrated. 
Look for environmental 
factors that allow errors to 
occur. 
Identify the triggers that 
cause errors. 
Continuous Learning 
Continuous Integration Mindset 
Continuous Integration Mindset 
Culture Doing the same thing 
each year for 10 years 
does not give you 10 
years of experience.
18 
Continuous Integration Mindset 
Continuous Integration - Product 
Always Releasable 
Your product needs to be 
always ready for production. 
No half-based features or 
long verification cycles. 
Continuous Integration Mindset 
Product 
Use Feature Toggles 
Code branches reduce 
integration.
19 
Continuous Integration Mindset 
Continuous Integration - Market 
Concept Validation 
Usage Analytics 
Continuous Delivery 
Culling Features 
Continuous Integration Mindset 
Market
Continuou hard. 
Continuous Integration is 
s 
Integration 
- The Hard 
Way
21 
Competency 
Good 
Source Control 
Automated Tests 
Build Scripts 
Better 
Database Scripts 
Deployment Scripts 
Smoke Tests 
Configuration Scripts 
Best 
Git Bisect-able 
Rollback Capability 
Virtual Machine/Container 
Bill of Materials Traceability 
The Button 
Continuous Integration  The Hard Way! 
1 
section 04
The best way to 
understand continuous 
integration is through a 
few examples. 
Examples
23 
Examples 
Vertical Delivery - User Centric 
Delivery 
Delivery starts with your user. Youll 
be tempted to deliver starting from a 
point farthest from the user. It 
appears to be more efficient. Things 
change less frequently down there. 
Bewarewhen you do encounter a 
user, they will expected changes in 
ways that can not be anticipated. 
When this occurs all the efficiency 
transforms to waste. 
section 05
24 
Examples 
Continuous Integration At Scale 
iOS Team: 
Continuously 
Integrates (their code) 
Middleware Team: 
Continuously 
Integrates (their code) 
Data Analytics Team: 
Continuously 
Integrates (their code)
The end is near! Questions
contact information 
For more info, please 
contact us me: 
Tim Gifford 
tim@leantechniques.co 
@timgifford 
+1 (515) 419.1909 
Thank 
You

More Related Content

Competitive Advantage of Continuous Integration

  • 1. Competitive Advantage of Continuous Integration Tim Gifford Lean/XP Coach Lean TECHniques @TimGifford tim@leantechniques.co
  • 2. table of contents Fighter Pilots and Fruit Flies 01 02 Engineering A Brief History of Software Continuous Integration Mindset 03 04 Hard Way Continuous Integration - The Examples 05 06 Questions
  • 3. Fighter pilots and fruit flies teach us about continuous integration Story Time
  • 4. 4 Forty Second Boyd Colonel John Boyd Claimed he could defeat any pilot from a position of disadvantage in less than 40 seconds. "The Iraqi army collapsed morally and intellectually under the onslaught of American and Coalition forces. John Boyd was an architect of that victory as surely as if he'd commanded a fighter wing or a maneuver division in the desert. General Charles C. Krulak Referring to the strategy used in Operation Desert Storm section 01
  • 5. 5 Forty Second Boyd OODA Loop Observation Action Orientation Decision Complete your loop faster makes your opponent incapable to act Each action forces your opponent to observe and orient. Get inside your opponents loop! section 01
  • 6. Dont blink! Fruit Fly Family Reunions
  • 7. 7 Fruit Fly Family Reunions Why are fruit flies used in genetics research? 10 Day Life Cycles 100+ Eggs Small Fast Learning section 01 https://www.flickr.com/photos/max_westby/
  • 8. Were in the Industrial Age of software. Weve moved out of the Dark Ages and moving quickly towards the Information Age. What does our future hold? A Brief History of Software Engineerin g
  • 9. 9 A Time Before CI Dark Ages Wizards Champions Dragons Myths Legends https://www.flickr.com/photos/xtream_i/
  • 10. 10 Today Industrial Age Specialization Science Efficiency Statistical Control Six Sigma Project Management things Capacity Planning Days of Our Lives section 02
  • 11. 11 Tomorrow Information Age Manage demand (not capacity) Predictive Demand Modeling Cellular networks Predictive Provisioning Self Repairing Netflixs Chaos Monkey/Gorilla Zero Downtime Defect Free Anti-Fragile Architectures Product Management Problems and their solutions section 02
  • 12. Continuous Integration is more than a tool. It is a competitive advantage and new way of thinking for the Information Age of software engineering. Continuou s Integration Mindset
  • 13. 13 Continuous Integration Mindset Economic Impact Reduction in coordination and transaction costs Reduction on acquisition costs Reduce Total Cost of Ownership Reduce opportunity costs Increased risk mitigation Large batch sizes are necessary when transaction and coordination costs are high. Reducing these costs will enable smaller batch sizes.
  • 14. 14 Continuous Integration Mindset Individual Team Culture Product Market Continuous Integration - Layers
  • 15. 15 Continuous Integration - Individual Local Development Environment The system should run locally without a network connection. Limited Red Making small changes limit the compile and test failures. Developers need to continuously reduce the time their changes are not shippable. Diff Aware Development Developers anticipate how edits will impact the team. Continuous Integration Mindset Individual Continuous Integration Mindset Add changes to the end of a file Formatting a file results in a the entire file being modified! Dont be afraid to revert your changes.
  • 16. 16 Continuous Integration Mindset Continuous Integration - Team Continuous Demos Teams need to be capable of showing their user facing functionality every day. Technical delivery can signify a team this not integrating to create stakeholder value. Continuous Integration Mindset Team Confident Green When the automated build is successful, the team should feel confident they can deploy to production A lack of confidence is a signal of a missing automated test
  • 17. 17 Continuous Integration - Culture Failure Tolerant Mistakes will happen. Discovering information that we previously unknown needs to be celebrated. Look for environmental factors that allow errors to occur. Identify the triggers that cause errors. Continuous Learning Continuous Integration Mindset Continuous Integration Mindset Culture Doing the same thing each year for 10 years does not give you 10 years of experience.
  • 18. 18 Continuous Integration Mindset Continuous Integration - Product Always Releasable Your product needs to be always ready for production. No half-based features or long verification cycles. Continuous Integration Mindset Product Use Feature Toggles Code branches reduce integration.
  • 19. 19 Continuous Integration Mindset Continuous Integration - Market Concept Validation Usage Analytics Continuous Delivery Culling Features Continuous Integration Mindset Market
  • 20. Continuou hard. Continuous Integration is s Integration - The Hard Way
  • 21. 21 Competency Good Source Control Automated Tests Build Scripts Better Database Scripts Deployment Scripts Smoke Tests Configuration Scripts Best Git Bisect-able Rollback Capability Virtual Machine/Container Bill of Materials Traceability The Button Continuous Integration The Hard Way! 1 section 04
  • 22. The best way to understand continuous integration is through a few examples. Examples
  • 23. 23 Examples Vertical Delivery - User Centric Delivery Delivery starts with your user. Youll be tempted to deliver starting from a point farthest from the user. It appears to be more efficient. Things change less frequently down there. Bewarewhen you do encounter a user, they will expected changes in ways that can not be anticipated. When this occurs all the efficiency transforms to waste. section 05
  • 24. 24 Examples Continuous Integration At Scale iOS Team: Continuously Integrates (their code) Middleware Team: Continuously Integrates (their code) Data Analytics Team: Continuously Integrates (their code)
  • 25. The end is near! Questions
  • 26. contact information For more info, please contact us me: Tim Gifford tim@leantechniques.co @timgifford +1 (515) 419.1909 Thank You