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.
The rationale to have feature toggles is not something for developers to decide. This is something for product owners to care. Developers enable this change in the most sustainable and safe manner. I critique this very question.