Merge hells!! feature toggles to the rescue

Preview:

Citation preview

Feature Toggles

By @leenasn

& Continuous Delivery

xTEAM

Familiar?

Building something nobody wants is the ultimate form of waste

~Eric RiesThe 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 PoppendieckLean 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

Architecture?

https://martinfowler.com/bliki/BranchByAbstraction.htmlBranch by Abstraction

https://continuousdelivery.com/implementing/architecture/

Strangler Pattern

The Dark Side

$$ Question

How to manage it?

Expiry Date

Cathedral

VsBazaar

Story 1

Stats

Released to 1 clinic Automated the Device Setup

Extended to Linux Media Players

Story 2

Manual + Some Automation

http://www.multunus.com/portfolio/micro-loan-processing-platform/

First release of the product

- Close to 4 million worth of loans till date

- An average of 4 loan officers

Summary

Work in small batches

Leena S N@leenasn / leena.sn@multunus.com

http://bit.ly/multunus-handbook

http://martinfowler.com/articles/feature-toggles.htmlhttps://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=bbWFCKGhxOshttps://www.youtube.com/watch?v=6Q0mtVnnthQhttps://www.infoq.com/presentations/financial-services-devopshttps://www.infoq.com/presentations/CIM-continuous-delivery

References