Question: Assuming that feature flag toggles are a good idea, and should be implemented into code that developers write. For example Etsy swear by them as a [major part of their culture](https://codeascraft.com/2011/02/04/how-does-etsy-manage-development-and-operations/).

**What is a good way to persuade (and enforce) developers to start using feature flag toggles?**

More information about feature flag toggles is explained in [Q: How to use feature flag toggles](https://devops.stackexchange.com/questions/162/how-to-use-feature-flag-toggles), [Q: What are feature flag toggles](https://devops.stackexchange.com/questions/344/what-is-a-feature-flag-toggle-and-when-to-use-them-or-not) and very extensively in Pete Hodgson's [article on the subject on Martin Fowler's blog](https://martinfowler.com/articles/feature-toggles.html).

Answer: 
In an ideal world I think you roll out a new build and surprise! NOTHING changes. This is because all of your new features are behind switches that go out with the switch off.

Post-deployment you verify that your rolled-out service still works, the phones aren't ringing any more (unless ringing phones is your purpose, that is), etc. Once you are back to a known stable operation you begin enabling and verifying your newly deployed features.

Now for your answer: How would you like to work on a team where being on call is practically a no-brainer and our users love us because our sites and services are rock solid stable?

That's the team I want to work on.

You can stop reading here if you want.

Putting everything behind a feature switch seems like it can lead to spaghetti code everywhere. If you use IoC and are able to select between vNow/vNext/vPrevious then it comes down to maintaining your configuration. Yes more check ins, yes more classes (componentV1, componentV2, componentV3, etc.) but you actually have a more stable system? How? vNext is wonky? Switch back to vNow with your control tower. Been a week and vNow has a subtle bug? Same thing - go back to vPrevious just as easily.

No hassle, no worries, no lost sleep, no stress.

This isn't a pipe dream. I used to work there. Wish I could sell this to my current team.
Developers (and usually development managers) usually look for two outcomes associated with framework: ease of management, and speed of deployment. You want to ship code faster, and easier.

Provide evidence that the approach works; try building a small POC using feature flags versus the old way. Case studies matter less to tactical people (developers\engineers) than strategic people (middle management\product designers).