A couple of weeks ago I learned that the term for turning off functionality via configuration in order to support continuous integration is called “Feature Toggling”. I found out that Facebook uses Feature Toggling extensively and they built a tool called Gatekeeper to help with their usage of feature toggling. I decided to google the term Gatekeeper to see if I could learn anything more about what they do, and I was happy to discover that there is a video out there where the head release engineer at Facebook talks in-depth about how they develop and migrate code.
Warning, this is a 52 minute video, but I found it very interesting. If you are curious about how a big organization really developes and deploys their software daily to production (not just theory), the whole video is worth watching. It definitely opened my mind to some new methods to develop and deploy software.
Another link on feature toggle, especially the idea of using Swicther class to handle the toggling. http://sarahtaraporewalla.com/design/experience-report-feature-toggling/