SlideShare a Scribd company logo
Merge Hells!!
By @leenasn
Feature Toggles to the Rescue
Familiar?
Building something nobody wants is the ultimate form
of waste
~Eric Ries
The Lean Startup
Think about how long would it take you to deliver a
change of one line of code within your application to
production
~Mary and Tom Poppendieck
Lean Software Development, An Agile Toolkit
“Continuous Delivery is a software development
discipline where you build software in such a way that
the software can be released to production at any
time.”
http://martinfowler.com/bliki/ContinuousDelivery.html
Deployment Pipeline
“Continuous integration (CI) is the practice, in
software engineering, of merging all developer
working copies to a shared mainline several times a
day.”
Mainline Development
Incomplete Features?
Feature Toggles
Configuration Files
● Deploy != Release
● Avoid Rollback Hells
Release Toggles
● A/B Testing
● Canary Releasing
Experimental Toggles
Ops Toggles
● Designing for failure
● Manage Circuit Breakers
The Dark Side
$$ Question
How to manage it?
Expiry Date
Story 1
http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
“A longtime dream come true! It is exciting to be able
to educate patients while they wait in the exam room.
This is the future”
~Comment received from a Dr
http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
Automated the Device
Setup
http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
Story 2
http://www.multunus.com/blog/2016/12/continuous-delivery-us/
Manual + Some Automation
http://www.multunus.com/blog/2016/12/continuous-delivery-us/
First release of the
product
- Close to 4 million
worth of loans till
date
- An average of 4 loan
officers
http://www.multunus.com/blog/2016/12/continuous-delivery-us/
Architecture?
https://martinfowler.com/bliki/BranchByAbstraction.html
Branch by Abstraction
https://www.martinfowler.com/articles/evodb.html
Database Refactoring
https://continuousdelivery.com/implementing/architecture/
Strangler Pattern
Summary
Work in small batches
http://cnmnewz.com/wp-content/uploads/2014/06/Golden-Gate-Bridge-with-Net-AP.jpg
Leena S N
@leenasn / leena.sn@multunus.com
https://medium.com/@leenasn
http://martinfowler.com/articles/feature-toggles.html
https://continuousdelivery.com/
https://trunkbaseddevelopment.com/
http://www.multunus.com/blog/2016/03/merge-hells-feature-toggles-rescue/
http://www.multunus.com/blog/2013/06/github-workflow-vs-mainline-development/
https://www.youtube.com/watch?v=bbWFCKGhxOs
https://www.youtube.com/watch?v=6Q0mtVnnthQ
https://www.infoq.com/presentations/financial-services-devops
https://www.infoq.com/presentations/CIM-continuous-delivery
https://speakerdeck.com/player/e83684871d5a415d8cf06ea1cec0fd01?feature=oembed
https://www.martinfowler.com/articles/evodb.html
References

More Related Content

What's hot

Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
Christopher Read
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
Andy Maleh
 
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
Gene Kim
 

What's hot (20)

Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
 
DevOps Unicorns
DevOps UnicornsDevOps Unicorns
DevOps Unicorns
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
 
Manufacturing Plus Open Source Equals DevOps
Manufacturing Plus Open Source Equals DevOpsManufacturing Plus Open Source Equals DevOps
Manufacturing Plus Open Source Equals DevOps
 
Delivery Free of Charge
Delivery Free of ChargeDelivery Free of Charge
Delivery Free of Charge
 
Simple Continous Integration
Simple Continous IntegrationSimple Continous Integration
Simple Continous Integration
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Pivotal Tracker Overview
Pivotal Tracker OverviewPivotal Tracker Overview
Pivotal Tracker Overview
 
An almost complete continuous delivery pipeline including configuration manag...
An almost complete continuous delivery pipeline including configuration manag...An almost complete continuous delivery pipeline including configuration manag...
An almost complete continuous delivery pipeline including configuration manag...
 
Tech Talk #5 : CI/CD FOR MOBILE DEVELOPMENT - Đinh Ngọc Kiên
Tech Talk #5 : CI/CD FOR MOBILE DEVELOPMENT - Đinh Ngọc KiênTech Talk #5 : CI/CD FOR MOBILE DEVELOPMENT - Đinh Ngọc Kiên
Tech Talk #5 : CI/CD FOR MOBILE DEVELOPMENT - Đinh Ngọc Kiên
 
Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Continuous integration & deployment
Continuous integration & deploymentContinuous integration & deployment
Continuous integration & deployment
 
Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia Meetup
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
DOES15 - Vineet Banga and Jacob Johnson - Learnings from a DevOps Organizatio...
 
Benefits of using Flutter
Benefits of using FlutterBenefits of using Flutter
Benefits of using Flutter
 

Similar to Merge hells!! feature toggles to the rescue - Presented @ Agile Toronto

Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationCloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
VMware Tanzu
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
DicodingEvent
 

Similar to Merge hells!! feature toggles to the rescue - Presented @ Agile Toronto (20)

Merge hells!! Feature toggles to the rescue - DevOpsDays Madison
Merge hells!! Feature toggles to the rescue - DevOpsDays MadisonMerge hells!! Feature toggles to the rescue - DevOpsDays Madison
Merge hells!! Feature toggles to the rescue - DevOpsDays Madison
 
Merge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescueMerge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescue
 
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationCloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
Continuous integration at CartoDB
Continuous integration at CartoDBContinuous integration at CartoDB
Continuous integration at CartoDB
 
Do's and don'ts for continuous delivery
Do's and don'ts for continuous deliveryDo's and don'ts for continuous delivery
Do's and don'ts for continuous delivery
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Scrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineerScrum is not enough - being a successful agile engineer
Scrum is not enough - being a successful agile engineer
 
Xcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, MilanXcode eXtreme Programming - #pragmamark 2014, Milan
Xcode eXtreme Programming - #pragmamark 2014, Milan
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
DevOps - Introduction to data science
DevOps - Introduction to data scienceDevOps - Introduction to data science
DevOps - Introduction to data science
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answers
 
Microservice pitfalls
Microservice pitfalls Microservice pitfalls
Microservice pitfalls
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
 
Continuous Integration @ Haptik
Continuous Integration @ HaptikContinuous Integration @ Haptik
Continuous Integration @ Haptik
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
DevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & MicroservicesDevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & Microservices
 

More from Leena N

More from Leena N (20)

The last mile problem
The last mile problemThe last mile problem
The last mile problem
 
Expand Contract Pattern for Continuous Delivery of Databases
Expand Contract Pattern for Continuous Delivery of DatabasesExpand Contract Pattern for Continuous Delivery of Databases
Expand Contract Pattern for Continuous Delivery of Databases
 
Sprinkle javascript using stimulus js
Sprinkle javascript using stimulus jsSprinkle javascript using stimulus js
Sprinkle javascript using stimulus js
 
Patterns and practices for evolvability - the key for technical agility
Patterns and practices for evolvability - the key for technical agilityPatterns and practices for evolvability - the key for technical agility
Patterns and practices for evolvability - the key for technical agility
 
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays SeattleExpand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
 
Expand contract pattern continuous delivery and databases
Expand contract pattern   continuous delivery and databasesExpand contract pattern   continuous delivery and databases
Expand contract pattern continuous delivery and databases
 
Expand contract pattern - Continuous Delivery and Databases
Expand contract pattern -  Continuous Delivery and DatabasesExpand contract pattern -  Continuous Delivery and Databases
Expand contract pattern - Continuous Delivery and Databases
 
Importance of Showing Up
Importance of Showing UpImportance of Showing Up
Importance of Showing Up
 
Growth
GrowthGrowth
Growth
 
TDD, Refactoring - Workshop
TDD, Refactoring - WorkshopTDD, Refactoring - Workshop
TDD, Refactoring - Workshop
 
Technical debt a catch all phrase--
Technical debt   a catch all phrase--Technical debt   a catch all phrase--
Technical debt a catch all phrase--
 
Developing, building, testing and deploying react native apps
Developing, building, testing and deploying react native appsDeveloping, building, testing and deploying react native apps
Developing, building, testing and deploying react native apps
 
Continuous delivery from the trenches
Continuous delivery from the trenchesContinuous delivery from the trenches
Continuous delivery from the trenches
 
Deliver with impact
Deliver with impactDeliver with impact
Deliver with impact
 
Learnings while building Mobile Device Management [MDM]
Learnings while building Mobile Device Management [MDM] Learnings while building Mobile Device Management [MDM]
Learnings while building Mobile Device Management [MDM]
 
Javascript Testing Tools - Overview
Javascript Testing Tools - OverviewJavascript Testing Tools - Overview
Javascript Testing Tools - Overview
 
Continuous delivery using jenkins
Continuous delivery using jenkinsContinuous delivery using jenkins
Continuous delivery using jenkins
 
Culture of Continuous Delivery
Culture of Continuous DeliveryCulture of Continuous Delivery
Culture of Continuous Delivery
 
TDD with AngularJS
TDD with AngularJSTDD with AngularJS
TDD with AngularJS
 
Droid con 2013 workshop unit testing in android [robolectirc]
Droid con 2013 workshop   unit testing in android [robolectirc]Droid con 2013 workshop   unit testing in android [robolectirc]
Droid con 2013 workshop unit testing in android [robolectirc]
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
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
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
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
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
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 ...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
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
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
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
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
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
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 

Merge hells!! feature toggles to the rescue - Presented @ Agile Toronto