"Branch By VCS" is is the practice in opposition to BranchByAbstraction The skinny: When you've a change to make to your project, under source control, and it might inconvenience colleagues for more than an acceptable period of time, because you're going to break into 20 commits (the first of which is likely to break everything), make a branch to effect the change on. On that branch, take your time, then merge back later. The risks? Branches stay around for a lot longer than you'd hope for at the outset. Big enterprise can have dozens of such LongRunningFeatureBranches All staff have to become BlackBelts at merging, and spend a decent percentage of their time merging from/to other places. If you're using ClearCase, this is most likely your world.