Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Merge hells!! feature toggles to the rescue

387 views

Published on

Introducing Continuous Delivery practices to a team in trouble can be daunting. Where do you start ? What do you do first ? Which battle do you pick first ?

I’ll share my experience of guiding a team to achieve a higher degree of delivery maturity. This is a journey from a troublesome, struggling start of chaotic manual deployments, merge hell, regular production roll backs and lost code, to deliver a single commit to trunk automatically and reliably, under an hour, many times a day.

Published in: Software
  • Be the first to comment

Merge hells!! feature toggles to the rescue

  1. 1. Feature Toggles By @leenasn & Continuous Delivery
  2. 2. xTEAM
  3. 3. Familiar?
  4. 4. Building something nobody wants is the ultimate form of waste ~Eric Ries The Lean Startup
  5. 5. 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
  6. 6. “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
  7. 7. Deployment Pipeline
  8. 8. “Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day.”
  9. 9. Mainline Development
  10. 10. Incomplete Features?
  11. 11. Feature Toggles
  12. 12. Configuration Files
  13. 13. ● Deploy != Release ● Avoid Rollback Hells Release Toggles
  14. 14. ● A/B Testing ● Canary Releasing Experimental Toggles
  15. 15. Ops Toggles ● Designing for failure ● Manage Circuit Breakers
  16. 16. Architecture?
  17. 17. https://martinfowler.com/bliki/BranchByAbstraction.html Branch by Abstraction
  18. 18. https://continuousdelivery.com/implementing/architecture/ Strangler Pattern
  19. 19. https://www.martinfowler.com/articles/evodb.html Database Refactoring
  20. 20. The Dark Side
  21. 21. $$ Question How to manage it?
  22. 22. Expiry Date
  23. 23. Story 1
  24. 24. http://www.multunus.com/portfolio/end-end-mobile-device-management-solution-health-media-enterprise/
  25. 25. http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
  26. 26. “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
  27. 27. http://www.multunus.com/blog/2016/12/continuous-delivery-for-tablet-app-media-company/
  28. 28. Stats Released to 1 clinic Automated the Device Setup Extended to Linux Media Players
  29. 29. Story 2
  30. 30. Manual + Some Automation
  31. 31. http://www.multunus.com/portfolio/micro-loan-processing-platform/
  32. 32. First release of the product - Close to 4 million worth of loans till date - An average of 4 loan officers
  33. 33. Capital One
  34. 34. Cathedral Vs Bazaar
  35. 35. Summary
  36. 36. Work in small batches
  37. 37. http://cnmnewz.com/wp-content/uploads/2014/06/Golden-Gate-Bridge-with-Net-AP.jpg
  38. 38. Leena S N @leenasn / leena.sn@multunus.com http://www.multunus.com/blog/
  39. 39. 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

×