abstract_feature_branch is a Rails gem that enables developers to easily branch by abstraction as per this pattern: http://paulhammant.com/blog/branch_by_abstraction.html It is a productivity and fault tolerance enhancing team practice that has been utilized by professional software development teams at large corporations, such as Sears and Groupon. It provides the ability to wrap blocks of code with an abstract feature branch name, and then specify in a configuration file which features to be switched on or off. The goal is to build out upcoming features in the same source code repository branch, regardless of whether all are completed by the next release date or not, thus increasing team productivity by preventing integration delays. Developers then disable in-progress features until they are ready to be switched on in production, yet enable them locally and in staging environments for in-progress testing. This gives developers the added benefit of being able to switch a feature off after release should big problems arise for a high risk feature. abstract_feature_branch additionally supports DDD's pattern of Bounded Contexts by allowing developers to configure context-specific feature files if needed.