SlideShare a Scribd company logo
C o n t i n u o u s D e l i v e r y i n P r a c t i c e 
FINE-TUNING OF AGILE 
DEVELOPMENT 
Isa Goksu, Cengiz Han
ABOUT US 
§ Isa Goksu, @IsaGoksu 
Tech Principal 
§ Cengiz Han, @hancengiz 
Tech Lead 
© 2014 ThoughtWorks, Inc. All rights reserved. 2
RECOGNIZE THIS? 
§ Single line of change takes a week to deploy 
§ Slow Feedback (10 weeks after delivering the 
features, receiving your first feedbacks) 
§ You started a new project, defect from old 
project is bugging you 
§ Code Freeze? 
§ Sleepless nights during deployments 
© 2014 ThoughtWorks, Inc. All rights reserved. 3
“How long would it take your 
organization to deploy a change that 
involves just one single line of code?” 
Mary and Tom Poppendieck 
© 2014 ThoughtWorks, Inc. All rights reserved. 4
THE CONTINUOUS DELIVERY MATURITY MODEL 
© 2014 ThoughtWorks, Inc. All rights reserved. 5
Where to start? 
© 2014 ThoughtWorks, Inc. All rights reserved. 6
1 
7 
make it always production ready 
© 2014 ThoughtWorks, Inc. All rights reserved.
TRUNK-BASED DEVELOPMENT 
8 
§ One and only one branch 
§ Continuously Integrate with the team 
§ All the time production ready 
§ At least 1-commit per day per pair/dev 
§ Quality increase
FEATURE TOGGLING 
§ Helps you to have production-ready code 
all the time 
§ Gives you the flexibility of trying out 
multiple features 
§ QA can test individual features or group 
of features 
§ Business can get fast feedback thru 
feature previewing 
© 2014 ThoughtWorks, Inc. All rights reserved. 9
10 
Features developed 
in an iteration 
Enabled features 
in production 
© 2014 ThoughtWorks, Inc. All rights reserved.
Many more.. 
C# - FeatureSwitcher 
Golang - flag 
Python - Waffle 
Ruby - Feature-Toggles 
Node.js - feature-flags 
11 
© 2014 ThoughtWorks, Inc. All rights reserved.
FEATURE BRANCHING 
§ Avoid it! 
§ CI is a problem 
§ Long-lived 
§ Merging hell 
§ Works on 
§ Small teams 
§ Short-lived 
© 2014 ThoughtWorks, Inc. All rights reserved. 12
2 
13 
build quality in 
© 2014 ThoughtWorks, Inc. All rights reserved.
TEST STRATEGY 
§ Make the QA the key participant of your 
flow 
§ QAs are not just testers (assuring quality) 
§ Enforces you to deliver vertical slices 
§ Consider using new approaches like 
Specification by Example, Generative 
Testing, Parametric Testing) 
§ Automation is a must 
© 2014 ThoughtWorks, Inc. All rights reserved. 14
© 2014 ThoughtWorks, Inc. All rights reserved. 15
© 2014 ThoughtWorks, Inc. All rights reserved. 16
3 
17 
keep everything in source control 
© 2014 ThoughtWorks, Inc. All rights reserved.
STORING DB CHANGES IN SCM 
§ Start with a clean DB 
§ Use proven tools (dbdeploy, liquidbase, etc) 
§ Make sure deltas are incremental, small and 
immutable 
§ Have rollback scripts ready and auto rollback if 
possible, or do only roll-forward 
§ Fail directly if any delta fails 
§ Run each delta in order 
§ Stored together 
© 2014 ThoughtWorks, Inc. All rights reserved. 18
19 
DBDeploy 
Metadata 
Baseline 
Database 
Apply Deltas 
Test 
Apply Deltas Apply Deltas Apply Deltas Apply Deltas 
Fail 
Fast 
© 2014 ThoughtWorks, Inc. All rights reserved.
© 2014 ThoughtWorks, Inc. All rights reserved. 20
INFRASTRUCTURE AS CODE 
§ Determinism vs. Indeterminism 
§ Treat your infrastructure as you are 
coding 
§ Helps you to have system consistency 
§ Use proven tools (puppet, chef, ansible, 
bcm, cfengine, etc) 
§ Have a test machine/vm to try 
© 2014 ThoughtWorks, Inc. All rights reserved. 21
22 
System Config. 
SCM Puppetmaster 
WebServers AppServers WebServers AppServer s OOththeerSrSeervreversr s 
© 2014 ThoughtWorks, Inc. All rights reserved.
23 
Puppet example 
manifest for 
Apache HTTP 
server 
© 2014 ThoughtWorks, Inc. All rights reserved.
TEST IT BEFORE GET IT OUT 
© 2014 ThoughtWorks, Inc. All rights reserved. 24
4 
25 
repeatable, risk-free deployments 
© 2014 ThoughtWorks, Inc. All rights reserved.
UNIFIED WAY 
§ Build one binary and use it everywhere 
§ Deploy the same way to all environments 
§ Unattended deployments 
§ Separate the things that change from the 
thing that don’t 
© 2014 ThoughtWorks, Inc. All rights reserved. 26
VIRTUALIZATION 
§ Use one 
§ Containers vs Hypervisors 
§ Availability, Fail-safe 
§ Fast provisioning 
§ You can automate it! 
© 2014 ThoughtWorks, Inc. All rights reserved. 27
PACKAGING 
28 
RPM | CHOCOLATEY 
sudo rpm –ivh awesome-app-1.0.rpm 
Cinst awesome-app –version 1.0 
© 2014 ThoughtWorks, Inc. All rights reserved.
5 
29 
everybody is responsible 
© 2014 ThoughtWorks, Inc. All rights reserved.
MTBF, MTRS 
§ Failure is inescapable just like getting sick 
§ Self-healing systems (auto-scale, retries, etc) 
30 
© 2014 ThoughtWorks, Inc. All rights reserved.
IMMUNE SYSTEMS 
§ Zero access policy (phoenix or immutable 
servers) 
§ Monitoring (graphite, riemann, munin, 
nagios, etc) 
§ Logging (ELK clusters, Graylog2, syslog, 
etc) 
§ Application Status / Healthcheck / 
Configuration Endpoints 
© 2014 ThoughtWorks, Inc. All rights reserved. 31
32 
Status Endpoint Healthcheck Endpoint 
GET http:// 
my.service/status 
GET http://my.service/ 
healthcheck 
© 2014 ThoughtWorks, Inc. All rights reserved.
SUMMARY 
§ DONE means released! 
§ Automate everything 
§ Be always production ready 
§ If anything fails, stop the delivery line 
§ Keep everything in SCM 
§ Build binaries only once 
§ Use precisely the same mechanism to the every 
environment 
© 2014 ThoughtWorks, Inc. All rights reserved. 33
Q/A 
Ping us later @IsaGoksu, @hancengiz 
© 2014 ThoughtWorks, Inc. All rights reserved. 34

More Related Content

Viewers also liked

Simpler, Clearer, Faster Government Services
Simpler, Clearer, Faster Government ServicesSimpler, Clearer, Faster Government Services
Simpler, Clearer, Faster Government Services
Thoughtworks
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
Thoughtworks
 
Booz Allen Hamilton Public Health Awareness Infographic
Booz Allen Hamilton Public Health Awareness InfographicBooz Allen Hamilton Public Health Awareness Infographic
Booz Allen Hamilton Public Health Awareness Infographic
Booz Allen Hamilton
 
Inbound Marketing is the Answer - Leighton Interactive
Inbound Marketing is the Answer - Leighton InteractiveInbound Marketing is the Answer - Leighton Interactive
Inbound Marketing is the Answer - Leighton Interactive
MarcoTechnologies
 
Highlights of FinanceConnect - FinanceConnect 2015
Highlights of FinanceConnect - FinanceConnect 2015Highlights of FinanceConnect - FinanceConnect 2015
Highlights of FinanceConnect - FinanceConnect 2015
LinkedIn India
 
E-Marketing Specialist - Seminar
E-Marketing Specialist - SeminarE-Marketing Specialist - Seminar
E-Marketing Specialist - Seminar
eaac_group
 
Scheduling Speaking Engagements
Scheduling Speaking EngagementsScheduling Speaking Engagements
Scheduling Speaking Engagements
Barbara Giamanco
 
Motivating LinkedIn Members to Engage with Your Content
Motivating LinkedIn Members to Engage with Your Content Motivating LinkedIn Members to Engage with Your Content
Motivating LinkedIn Members to Engage with Your Content
LinkedIn India
 
Intro to social media seminar
Intro to social media seminarIntro to social media seminar
Intro to social media seminar
Eaac Alexandria
 
2014 Economy of US Infographic
2014 Economy of US Infographic 2014 Economy of US Infographic
2014 Economy of US Infographic
Booz Allen Hamilton
 
Universal Mc Cann Wave4
Universal Mc Cann Wave4Universal Mc Cann Wave4
Universal Mc Cann Wave4
Olivier Mermet-Grandfille
 
Security is Just the Start with Intelligent Video - March Networks
Security is Just the Start with Intelligent Video - March NetworksSecurity is Just the Start with Intelligent Video - March Networks
Security is Just the Start with Intelligent Video - March Networks
MarcoTechnologies
 
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
Thoughtworks
 
Agile Turkey summit 2014 - Empirical Management explored
Agile Turkey summit 2014 - Empirical Management exploredAgile Turkey summit 2014 - Empirical Management explored
Agile Turkey summit 2014 - Empirical Management explored
Gunther Verheyen
 
60 Ways To Grow Your Email List
60 Ways To Grow Your Email List60 Ways To Grow Your Email List
60 Ways To Grow Your Email List
Vanessa CEO
 
A Quick Guide to Baidu Ad Products
A Quick Guide to Baidu Ad ProductsA Quick Guide to Baidu Ad Products
A Quick Guide to Baidu Ad Products
Guy Baxter
 
Micro-Interactions in a 2.0 World (v2)
Micro-Interactions in a 2.0 World (v2)Micro-Interactions in a 2.0 World (v2)
Micro-Interactions in a 2.0 World (v2)
David Armano
 
What You Don't Know about Document Management, But Should - M-Files
What You Don't Know about Document Management, But Should - M-FilesWhat You Don't Know about Document Management, But Should - M-Files
What You Don't Know about Document Management, But Should - M-Files
MarcoTechnologies
 
Learn How to Efficiently Manage Your Print and Scan Environment - Canon
Learn How to Efficiently Manage Your Print and Scan Environment - CanonLearn How to Efficiently Manage Your Print and Scan Environment - Canon
Learn How to Efficiently Manage Your Print and Scan Environment - Canon
MarcoTechnologies
 
Baidu Travel Kit by iClick
Baidu Travel Kit by iClickBaidu Travel Kit by iClick
Baidu Travel Kit by iClick
ARC Design
 

Viewers also liked (20)

Simpler, Clearer, Faster Government Services
Simpler, Clearer, Faster Government ServicesSimpler, Clearer, Faster Government Services
Simpler, Clearer, Faster Government Services
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
 
Booz Allen Hamilton Public Health Awareness Infographic
Booz Allen Hamilton Public Health Awareness InfographicBooz Allen Hamilton Public Health Awareness Infographic
Booz Allen Hamilton Public Health Awareness Infographic
 
Inbound Marketing is the Answer - Leighton Interactive
Inbound Marketing is the Answer - Leighton InteractiveInbound Marketing is the Answer - Leighton Interactive
Inbound Marketing is the Answer - Leighton Interactive
 
Highlights of FinanceConnect - FinanceConnect 2015
Highlights of FinanceConnect - FinanceConnect 2015Highlights of FinanceConnect - FinanceConnect 2015
Highlights of FinanceConnect - FinanceConnect 2015
 
E-Marketing Specialist - Seminar
E-Marketing Specialist - SeminarE-Marketing Specialist - Seminar
E-Marketing Specialist - Seminar
 
Scheduling Speaking Engagements
Scheduling Speaking EngagementsScheduling Speaking Engagements
Scheduling Speaking Engagements
 
Motivating LinkedIn Members to Engage with Your Content
Motivating LinkedIn Members to Engage with Your Content Motivating LinkedIn Members to Engage with Your Content
Motivating LinkedIn Members to Engage with Your Content
 
Intro to social media seminar
Intro to social media seminarIntro to social media seminar
Intro to social media seminar
 
2014 Economy of US Infographic
2014 Economy of US Infographic 2014 Economy of US Infographic
2014 Economy of US Infographic
 
Universal Mc Cann Wave4
Universal Mc Cann Wave4Universal Mc Cann Wave4
Universal Mc Cann Wave4
 
Security is Just the Start with Intelligent Video - March Networks
Security is Just the Start with Intelligent Video - March NetworksSecurity is Just the Start with Intelligent Video - March Networks
Security is Just the Start with Intelligent Video - March Networks
 
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
 
Agile Turkey summit 2014 - Empirical Management explored
Agile Turkey summit 2014 - Empirical Management exploredAgile Turkey summit 2014 - Empirical Management explored
Agile Turkey summit 2014 - Empirical Management explored
 
60 Ways To Grow Your Email List
60 Ways To Grow Your Email List60 Ways To Grow Your Email List
60 Ways To Grow Your Email List
 
A Quick Guide to Baidu Ad Products
A Quick Guide to Baidu Ad ProductsA Quick Guide to Baidu Ad Products
A Quick Guide to Baidu Ad Products
 
Micro-Interactions in a 2.0 World (v2)
Micro-Interactions in a 2.0 World (v2)Micro-Interactions in a 2.0 World (v2)
Micro-Interactions in a 2.0 World (v2)
 
What You Don't Know about Document Management, But Should - M-Files
What You Don't Know about Document Management, But Should - M-FilesWhat You Don't Know about Document Management, But Should - M-Files
What You Don't Know about Document Management, But Should - M-Files
 
Learn How to Efficiently Manage Your Print and Scan Environment - Canon
Learn How to Efficiently Manage Your Print and Scan Environment - CanonLearn How to Efficiently Manage Your Print and Scan Environment - Canon
Learn How to Efficiently Manage Your Print and Scan Environment - Canon
 
Baidu Travel Kit by iClick
Baidu Travel Kit by iClickBaidu Travel Kit by iClick
Baidu Travel Kit by iClick
 

Similar to Fine-Tuning of Agile Development

Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
SOASTA
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
SOASTA
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Publicis Sapient Engineering
 
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and DeliveryAccelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
SOASTA
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
TechWell
 
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Infostretch
 
Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)
Marco Corona
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
SOASTA
 
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
SOASTA
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
TechWell
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Josiah Renaudin
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperTesting in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Gene Gotimer
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Coveros, Inc.
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
Brian Dawson
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014
EDB
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
Amazon Web Services
 
All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
 All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014) All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
VMware Tanzu
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
XebiaLabs
 
Nova event-s florida-dboutin
Nova event-s florida-dboutinNova event-s florida-dboutin
Nova event-s florida-dboutin
Dan Boutin
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
Xebia India
 

Similar to Fine-Tuning of Agile Development (20)

Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
 
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and DeliveryAccelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
 
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
 
Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperTesting in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
 All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014) All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
All Things Jenkins and Cloud Foundry (Cloud Foundry Summit 2014)
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
 
Nova event-s florida-dboutin
Nova event-s florida-dboutinNova event-s florida-dboutin
Nova event-s florida-dboutin
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 

More from Thoughtworks

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
Thoughtworks
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
Thoughtworks
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
Thoughtworks
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
Thoughtworks
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
Thoughtworks
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
Thoughtworks
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
Thoughtworks
 
When we design together
When we design togetherWhen we design together
When we design together
Thoughtworks
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
Thoughtworks
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
Thoughtworks
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
Thoughtworks
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
Thoughtworks
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
Thoughtworks
 
Error handling
Error handlingError handling
Error handling
Thoughtworks
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
Thoughtworks
 
Docker container security
Docker container securityDocker container security
Docker container security
Thoughtworks
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
Thoughtworks
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
Thoughtworks
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
Thoughtworks
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
Thoughtworks
 

More from Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Recently uploaded

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 

Recently uploaded (20)

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 

Fine-Tuning of Agile Development

  • 1. C o n t i n u o u s D e l i v e r y i n P r a c t i c e FINE-TUNING OF AGILE DEVELOPMENT Isa Goksu, Cengiz Han
  • 2. ABOUT US § Isa Goksu, @IsaGoksu Tech Principal § Cengiz Han, @hancengiz Tech Lead © 2014 ThoughtWorks, Inc. All rights reserved. 2
  • 3. RECOGNIZE THIS? § Single line of change takes a week to deploy § Slow Feedback (10 weeks after delivering the features, receiving your first feedbacks) § You started a new project, defect from old project is bugging you § Code Freeze? § Sleepless nights during deployments © 2014 ThoughtWorks, Inc. All rights reserved. 3
  • 4. “How long would it take your organization to deploy a change that involves just one single line of code?” Mary and Tom Poppendieck © 2014 ThoughtWorks, Inc. All rights reserved. 4
  • 5. THE CONTINUOUS DELIVERY MATURITY MODEL © 2014 ThoughtWorks, Inc. All rights reserved. 5
  • 6. Where to start? © 2014 ThoughtWorks, Inc. All rights reserved. 6
  • 7. 1 7 make it always production ready © 2014 ThoughtWorks, Inc. All rights reserved.
  • 8. TRUNK-BASED DEVELOPMENT 8 § One and only one branch § Continuously Integrate with the team § All the time production ready § At least 1-commit per day per pair/dev § Quality increase
  • 9. FEATURE TOGGLING § Helps you to have production-ready code all the time § Gives you the flexibility of trying out multiple features § QA can test individual features or group of features § Business can get fast feedback thru feature previewing © 2014 ThoughtWorks, Inc. All rights reserved. 9
  • 10. 10 Features developed in an iteration Enabled features in production © 2014 ThoughtWorks, Inc. All rights reserved.
  • 11. Many more.. C# - FeatureSwitcher Golang - flag Python - Waffle Ruby - Feature-Toggles Node.js - feature-flags 11 © 2014 ThoughtWorks, Inc. All rights reserved.
  • 12. FEATURE BRANCHING § Avoid it! § CI is a problem § Long-lived § Merging hell § Works on § Small teams § Short-lived © 2014 ThoughtWorks, Inc. All rights reserved. 12
  • 13. 2 13 build quality in © 2014 ThoughtWorks, Inc. All rights reserved.
  • 14. TEST STRATEGY § Make the QA the key participant of your flow § QAs are not just testers (assuring quality) § Enforces you to deliver vertical slices § Consider using new approaches like Specification by Example, Generative Testing, Parametric Testing) § Automation is a must © 2014 ThoughtWorks, Inc. All rights reserved. 14
  • 15. © 2014 ThoughtWorks, Inc. All rights reserved. 15
  • 16. © 2014 ThoughtWorks, Inc. All rights reserved. 16
  • 17. 3 17 keep everything in source control © 2014 ThoughtWorks, Inc. All rights reserved.
  • 18. STORING DB CHANGES IN SCM § Start with a clean DB § Use proven tools (dbdeploy, liquidbase, etc) § Make sure deltas are incremental, small and immutable § Have rollback scripts ready and auto rollback if possible, or do only roll-forward § Fail directly if any delta fails § Run each delta in order § Stored together © 2014 ThoughtWorks, Inc. All rights reserved. 18
  • 19. 19 DBDeploy Metadata Baseline Database Apply Deltas Test Apply Deltas Apply Deltas Apply Deltas Apply Deltas Fail Fast © 2014 ThoughtWorks, Inc. All rights reserved.
  • 20. © 2014 ThoughtWorks, Inc. All rights reserved. 20
  • 21. INFRASTRUCTURE AS CODE § Determinism vs. Indeterminism § Treat your infrastructure as you are coding § Helps you to have system consistency § Use proven tools (puppet, chef, ansible, bcm, cfengine, etc) § Have a test machine/vm to try © 2014 ThoughtWorks, Inc. All rights reserved. 21
  • 22. 22 System Config. SCM Puppetmaster WebServers AppServers WebServers AppServer s OOththeerSrSeervreversr s © 2014 ThoughtWorks, Inc. All rights reserved.
  • 23. 23 Puppet example manifest for Apache HTTP server © 2014 ThoughtWorks, Inc. All rights reserved.
  • 24. TEST IT BEFORE GET IT OUT © 2014 ThoughtWorks, Inc. All rights reserved. 24
  • 25. 4 25 repeatable, risk-free deployments © 2014 ThoughtWorks, Inc. All rights reserved.
  • 26. UNIFIED WAY § Build one binary and use it everywhere § Deploy the same way to all environments § Unattended deployments § Separate the things that change from the thing that don’t © 2014 ThoughtWorks, Inc. All rights reserved. 26
  • 27. VIRTUALIZATION § Use one § Containers vs Hypervisors § Availability, Fail-safe § Fast provisioning § You can automate it! © 2014 ThoughtWorks, Inc. All rights reserved. 27
  • 28. PACKAGING 28 RPM | CHOCOLATEY sudo rpm –ivh awesome-app-1.0.rpm Cinst awesome-app –version 1.0 © 2014 ThoughtWorks, Inc. All rights reserved.
  • 29. 5 29 everybody is responsible © 2014 ThoughtWorks, Inc. All rights reserved.
  • 30. MTBF, MTRS § Failure is inescapable just like getting sick § Self-healing systems (auto-scale, retries, etc) 30 © 2014 ThoughtWorks, Inc. All rights reserved.
  • 31. IMMUNE SYSTEMS § Zero access policy (phoenix or immutable servers) § Monitoring (graphite, riemann, munin, nagios, etc) § Logging (ELK clusters, Graylog2, syslog, etc) § Application Status / Healthcheck / Configuration Endpoints © 2014 ThoughtWorks, Inc. All rights reserved. 31
  • 32. 32 Status Endpoint Healthcheck Endpoint GET http:// my.service/status GET http://my.service/ healthcheck © 2014 ThoughtWorks, Inc. All rights reserved.
  • 33. SUMMARY § DONE means released! § Automate everything § Be always production ready § If anything fails, stop the delivery line § Keep everything in SCM § Build binaries only once § Use precisely the same mechanism to the every environment © 2014 ThoughtWorks, Inc. All rights reserved. 33
  • 34. Q/A Ping us later @IsaGoksu, @hancengiz © 2014 ThoughtWorks, Inc. All rights reserved. 34