Nowadays developers actively talk about DevOps, build pipelines are a reality in most teams and the majority of companies have a well-defined code review and continuous integration processes.
We're rapidly evolving in terms of infrastructure but we also need to talk about the mindset that we - developers - need to have as we embark on the Continuous Delivery journey. What are the techniques and good practices out there that will help us release software more frequently? Feature toggling is one of them but it’s often labeled simply as a branching strategy practice but in reality, it is at the core of enabling Continuous Delivery.
This talk covers different ways to toggle/switch/flag features in and out throughout the code and explores the different kinds of feature toggling. Also, the consequences and discipline required to evolve a working software product and Continuous Delivery.
Example available on github: https://github.com/Pragmateam/feature-toggles
13. Continuous Delivery - deployment pipeline
Commit
Stage
Acceptance
Test
Staging Production
14. Continuous Delivery != Continuous Deployment
Commit
Stage
Acceptance
Test
Staging Production
Commit
Stage
Acceptance
Test
Staging Production
Continuous Delivery
Continuous Deployment
MANUAL
AUTO
48. HeartMonitor
✓ indicates that heart is beating
✓ indicates that heart is beating when non zero signals remain the same
✓ indicates that heart has stopped beating when signal remains the same
when toggle is OFF
✓ indicates that heart is beating when non zero signals remain the same
✓ indicates that heart has stopped beating when all signals are zero
4 passing