SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Developer Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve ParityDeveloper Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve Parity
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
PVS-Studio in the Clouds: Azure DevOps
PVS-Studio in the Clouds: Azure DevOpsPVS-Studio in the Clouds: Azure DevOps
PVS-Studio in the Clouds: Azure DevOps
 
How to build the Cloud Native applications the way you want – not the way the...
How to build the Cloud Native applications the way you want – not the way the...How to build the Cloud Native applications the way you want – not the way the...
How to build the Cloud Native applications the way you want – not the way the...
 
How to Use the Salesforce Suite with Drupal 8: A Quick Start Guide
How to Use the Salesforce Suite with Drupal 8: A Quick Start GuideHow to Use the Salesforce Suite with Drupal 8: A Quick Start Guide
How to Use the Salesforce Suite with Drupal 8: A Quick Start Guide
 
Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014
 
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps dayIntroducción a Azure Devops Pipelines - Plain Concepts DevOps day
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
 
WinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open SourceWinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open Source
 
XebiCon'17 : Monolith to microservice, histoire d’une transformation centrée...
XebiCon'17 : Monolith to microservice, histoire d’une transformation centrée...XebiCon'17 : Monolith to microservice, histoire d’une transformation centrée...
XebiCon'17 : Monolith to microservice, histoire d’une transformation centrée...
 
Your own kubernetes castle
Your own kubernetes castleYour own kubernetes castle
Your own kubernetes castle
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
 

Destacado

Destacado (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 a Fine-Tuning of Agile Development

Similar a 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
 
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
 
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
 

Más de Thoughtworks

Más de 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
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 

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