それは、チームの規模と、ソース管理に何を求めているかによると思います。
私は数年間、Perforce と一緒に bugzilla を使用しており、非常に小さなチーム (2 ~ 3 人) で作業している間は、どちらもそれぞれの点で非常に優れていることがわかりました。慣れるのに時間がかかったいくつかの小さな特異性から。
私は最近、TFS が広範囲に使用される新しい仕事に移りました。この会社には 4 つの主要なチームがあり、それぞれに 10 ~ 12 人の開発者がおり、そのレベルの下にさらにプロジェクト チームに分割されています。TFS が真に輝くのは、この種の環境です。私の見解では、最大の利点は次のとおりです。
1) Visual Studio との統合 - 開いているウィンドウが少なくなるだけでなく、作業がスピードアップし、作業が楽になります。作業中にVSが自動的にファイルをチェックアウトする(ロックレス編集による偶発的なチェックアウトの問題なし)、ローカル+ TFビルドを同期できる、ローカルバージョンを以前のものとすばやく比較できるなどのこと..はい、取得できます統合するサードパーティのプラグインはありますが、このレベルではなく、同じ安定性があります。
2) 通信機能 - Live Messenger との統合などの単純な機能 (TFS を正しく構成している場合) は、大規模なチームに最適です。WLM を使用して、オフィス全体でコミュニケーションを取り、共同作業を行います。簡単な質問をする必要があるたびに他の人のところに行くよりも簡単です。
3) ビルド/チェンジリストをタスクにリンクする - はい、他の SCM もこれを行いますが、これも非常に優れた統合された方法で行われます..TFS にとって特別なことではないと思いますが、個人的には、これを追跡する方法が気に入っています。
4) マージ/ロックレス編集の容易さ。私は他のいくつかのマージ ツールの経験があり、TFS のツールは十分にうまく機能し、同時編集後のマージが非常に簡単になりました。この点では perforce に非常に似ていますが、他の開発者が取り組んでいる編集で潜在的な問題を引き起こす可能性がないことがわかっている小さな編集に使用する、通常は非常に効果的な自動マージ ツールも備えています。
5) 自動ビルド/ビルド管理。相互に依存する 20 ~ 30 のプロジェクトを含むいくつかの大規模なソリューションを使用する場合、これは天の恵みです。何かが変更された場合は 20 分ごとにビルドをキューに入れるように設定されており、変更が発生すると履歴ログにリストされます。ローカル ライブラリを更新する必要がある時期を簡単に確認できます。
ビルド管理以外の構成の経験はありませんが、これが TFS の最悪の部分であると聞いています..すべてを正しく実行するのは少し面倒です.
したがって、それをビジネス ケースに変換すると..大規模なチームや複数のチームを持つ Microsoft ソフトウェア ハウスである場合、上記の機能の結果として得られる時間の節約と生産性の向上は、投資する価値があると言えます。それを設定する際に。ほとんどの場合、MSDN サブスクリプションを持っているため (CAL の問題があるかもしれませんが、よくわかりません)、無料で使用できるため、最大のコストはユーザーのトレーニングと構成に費やされます。