Continuous Integration doesn't stop after the code compiles.
Continuous Integration can be applied at multiple levels; from the developer to the market. When we continuously integrate with the market we have a competitive advantage.
1 of 26
Downloaded 11 times
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
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.
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.
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