Feature Toggles & Trunk Based Development - How To, and more Importantly, How NOT to

Feature Toggles are mainly known for and used as an enabler for Trunk based Development which promotes and enables continuous integration(CI). In recent times, Trunk based Development has gained immense attention and with the help of feature toggles, it is now also used for seamless integration of critical business functions and for enabling differentiations.

The success of feature toggles can be judged from the fact that everyone (From giants like Google & Facebook to small startups) is using the same in some form or other. These stats provide a good enough push for the organizations to try Trunk based development with feature toggles with an intention to embrace the benefits of the same and they must.

But.. How? Although the concept looks simple, but one needs a bit deeper understanding of the same to answer the following questions

  • How feasible is it for our work?
  • What code changes we need to do for the same?
  • How will I prevent my code from becoming a Toggle Hell / Triangle of doom?
  • With so many people working on many features, How can we maintain the quality of the main branch

If you’re interested in gaining the understanding which will help you to answer all the above mentioned questions then this talk is for you.

This talk will also help you in understanding the most important aspect of using Feature Toggles and Trunk based development i.e. How NOT to use the same. Here are the types of toggle about which I’ll talk

  • Release Toggles - Short Live Static
  • Experiment Toggles - Short live Dynamic
  • Permission Toggle - Long live dynamic
  • Ops Toggle - Long live Dynamic

Last but not the least, you don’t need to be an active programmer to understand this session. This session is for everyone working in a software organization

Daksh Deepak K Gupta
Session Format