TFS? Lauf in die Berge! Gehen Sie so schnell wie möglich los. Es macht viele verschiedene Dinge, aber keines davon ist so gut wie die verfügbaren besten Werkzeuge.
Aber ernsthaft:
Sobald Sie ein anständiges Versionskontrollsystem (SVN, GIT usw.) haben, würde ich empfehlen, Regeln für die Zweigstellenverwaltung einzurichten, z. B. wann Zweige erstellt werden sollen, wofür, wann, wer zusammengeführt werden soll und vieles mehr.
Bis vor kurzem haben wir einen einzelnen Zweig für die Neuentwicklung verwendet ('Trunk'). Für eine Veröffentlichung würden wir einen Zweig vom Stamm erstellen. Die endgültige Qualitätssicherung würde in dieser Niederlassung durchgeführt und sobald sie abgeschlossen ist, würden wir sie veröffentlichen (wir haben monatliche Veröffentlichungen).
Wir haben auf das Konzept „Kein Müll im Kofferraum“ umgestellt, um das Zeitplanrisiko zu verringern. Dieses Konzept enthält im Wesentlichen eine Regel, nach der Sie Zweige für die Entwicklungsarbeit getrennt vom Trunk erstellen. Beispielsweise könnten Sie einen separaten Zweig für ein Feature, für ein kleines Entwicklungsteam oder ähnliches haben. Wir verwenden "Epen", um ein kleines Feature oder einen freisetzbaren Teil eines Features zu beschreiben und für jedes Epos einen Zweig zu erstellen. Mindestens einmal am Tag werden alle Änderungen vom Stamm in den epischen Zweig zusammengeführt. Der Schlüssel ist eine gute Zusammenführungsunterstützung durch Versionskontrolle oder ein separates Tool (z. B. Drei-Wege-Zusammenführung). Die Qualitätssicherung für das Epos würde im epischen Zweig erfolgen. Nach dem Bestehen wird der epische Zweig in Trunk zusammengeführt und ein Integrationstest ausgeführt. Wir haben noch Filialen für Veröffentlichungen.
Mit den epischen Zweigen haben wir das Zeitplanrisiko erheblich reduziert, da wir nun in der Lage sind, aus dem Stamm herauszukommen und alle Epen einzuschließen, die erfolgreich in den Stamm zusammengeführt wurden. Epen, die nicht vollständig sind, verpassen den Bus und werden die nächste Veröffentlichung (nächsten Monat) machen.
Dies kann natürlich nur in unserer Umgebung funktionieren. Sehr wahrscheinlich haben Sie andere Faktoren als unsere, die die beste Wahl für das Filialmanagement beeinflussen.
Wenn Sie beispielsweise ein Team mit vielen Mitarbeitern haben, die remote arbeiten und nicht immer mit dem Versionskontrollserver verbunden sind, möchten Sie ein Versionskontrollsystem verwenden, das ein verteiltes Modell unterstützt. GIT und einige andere würden in diese Kategorie fallen. TFS erfordert nach meinem besten Wissen eine Verbindung zum Server, um nur Dateien beschreibbar zu machen (behoben in Version 2010?).
Ich hoffe ich konnte zeigen, dass es nicht "one size fits all" gibt. Beginnen Sie mit Ihren Prozessen, insbesondere der Filialverwaltung, bestimmen Sie die Anforderungen und wählen Sie schließlich das Tool aus, das Ihren Anforderungen am besten entspricht. Vielleicht ist es TFS, vielleicht auch nicht.