Wechsel von SourceSafe zu Team Foundation Server

Viele der Entwicklerteams setzen seit Jahren SourceSafe (VSS) ein und sind vorallem von der Einfachheit bei der Bedienung und im Einsatz überzeugt. Mit Team Foundation Server (TFS) steht eine Alternative zur Verfügung, die nicht nur für Benutzer der Team Editionen interessant ist. Was viele nicht wissen, TFS kann auch als Source Control System für Visual Studio Professional und andere IDE's eingesetzt werden und ist damit auch für Teams interessant, die als erstes ihr Change Management verbessern und vereinfachen möchten.

Wo aber liegen die Unterschiede zwischen den beiden Produkten? Nachfolgend sind die wichtigsten Punkte aufgeführt, die die Architektur der beiden Produkte betreffen:

  • Umfang: TFS ist ein voll integriertes Application Life Cycle Mangement Tool, VSS ein einfaches Source Control System
  • Architektur: TFS ist ein Client/Server Produkt, VSS ein Standalone Client mit Ad-Hoc Server
  • Team-Grösse: TFS eignet sich für Teams über 3500 Mitarbeiter, VSS für Einzelne oder kleinere Teams
  • Speicherung: TFS basiert auf SQL Server, VSS auf dem File System mit 4GB Limit
  • Zuverlässigkeit: TFS ist voll transaktional mit atomaren Check-In's, VSS unterstützt beides nicht
  • Remote-Access: TFS basiert auf optimierten Web Services und eignet sich hervorragend für Remote Access, VSS besitzt seit VSS 2005 einfache Web Services für "kleinere" Remote Zugriffe
  • Security: TFS basiert auf Active Directory und/oder Windows Security, VSS hat eine eigene, applikations Spezifische Security

Aber auch bei den Funktionalitäten gibt es einige Unterschiede gegenüber VSS:

  • Pinning: Wurde in TFS durch professionelle Branching/Merging Funktionen ersetzt
  • Sharing: Sharing by Reference und Merging ermöglichen in TFS robustere Changes
  • Destroy: Gibt es in TFS nicht mehr, da alles der Nachvollziehbarkeit und History unterliegt
  • Shadow Folders: Kein Equivalent in TFS
  • Working Folders: TFS besitzt Workspaces, von denen jeder Benutzer mehrere besitzen kann.

Soweit zu den Unterschieden und Vergleichen der beiden Produkte. Darüber hinaus bietet TFS aber noch viel mehr was das reine Change Management anbelangt, hier die Vorteile von TFS:

  • Work Item Integration erlaubt dem Benutzer ein umfassendes Dokumentieren seiner Arbeit
  • Project Alerts informieren den Benutzer unmittelbar über erfolgte Änderungen
  • Check-In Policies reduzieren das Risiko beim Erstellen der Builds und Erhöhen die Qualität der Check-In's
  • Branching/Merging auf Changeset Ebene ermöglichen ein feines Management von Code Änderungen
  • Integration von Work Items und Test Resultaten erlauben eine volle Traceability