Also called a dark launch, this last strategy is the hardest to implement but at the same time the most valuable of all. Most of the well-known tech companies use it. The idea is to have multiple smart switches on each of your features. When you first deploy the code for a new feature, you will want to do it with those switches turned off. You will then progressively turn them on for different subsets of users. You might start by only allowing employees of the company to experience the feature. Then you might decide to increase the number of persons exposed to that feature by adding a set of trusted users. You might then turn the feature on for 20% of your users, then 50%, and so on. In addition to allowing you to do a soft launch, these types of features can be used at the product level to do A/B testing, to perform maintenance where you want to turn off a specific feature, or even to do load testing.
https://www.facebook.com/notes/facebook-engineering/facebook-chat/14218138919/