Das hängt von der Größe Ihres Entwicklungsaufwands ab. Mehrere Teams, die parallel arbeiten, werden nicht in der Lage sein, alle effektiv am selben Code (Stamm) zu arbeiten. Wenn Sie nur eine kleine Gruppe von Leuten haben, und Ihr Hauptanliegen ist es, einen Zweig zu schneiden, damit Sie weiterarbeiten können, während Sie zum Zweig zurückgehen, um Fehler am aktuellen Produktionscode zu beheben, würde das funktionieren. Dies ist eine triviale Anwendung von Branching und nicht zu aufwändig.
Wenn Sie viel parallel entwickeln, werden Sie Zweige für jede Arbeit haben wollen, aber das erfordert auch mehr Disziplin: Sie müssen sicherstellen, dass Ihre Zweige getestet werden und bereit sind, sie wieder zusammenzuführen. Planen Sie die Zusammenführungen so, dass nicht zwei Gruppen gleichzeitig versuchen, etwas zusammenzuführen usw.
Manche Zweige befinden sich so lange in der Entwicklung, dass man Zusammenführungen vom Stamm in den Zweig zulassen muss, um die Zahl der Überraschungen bei der endgültigen Rückführung in den Stamm zu verringern.
Wenn Sie eine große Gruppe von Entwicklern haben, müssen Sie experimentieren und ein Gefühl dafür entwickeln, was in Ihrer Situation funktioniert. Hier ist eine Seite von Microsoft, die hilfreich sein kann: http://msdn.microsoft.com/en-us/library/aa730834(VS.80).aspx