[アーカイブ] TFS Express 2012 | TFS 2012 Basic | TFS 2012 Standard 簡単*個人的な*選択ガイド

<オリジナル投稿 2012年10月11日 本ポストの情報はオリジナル投稿時点のものです。マイクロソフトの正式な見解や製品の仕様を保証するものではないことをご了承ください。>

※本投稿は、個人的な意見で構成されています。また、ライセンスの詳細は、必ずリファレンスしているものを正としてください。不明点はお付き合いのある販社さん、担当営業さんご確認ください。
Team Foundation Server (TFS) の累計ダウンロード数が、約2万になったなど、TFS モテキがまたまたやってまいりました。すごい頻度でモテキがきていますねw
ところで、TFS 2012 でエントリーレベルの TFS Express も登場したため、自分の現場ではどれを使うべきか?と悩んでいる方も多いのではないかと思います。
この投稿では、簡単に選択指針を書いてみたいと思います。

本投稿の前提

本投稿で記載していることはすべて、個人的な見解とします。ライセンスに関係することはもちろんのこと、最適な構成などはその現場現場によって異なることも多々あります。下記の情報を正として必ずご覧ください。また、不明点は、適切な問い合わせ先に必ず行ってください。

使用する権利の整理

TFS を使用する権利は意外と多くの現場の開発者が保持していたりします。たとえば、 Visual Studio 2012 with MSDN で購入している場合は、TFS のサーバーライセンスと CAL (Client Access License) がそれぞれ1つ特典としてついてきます。念のためですが、 TFS 2005/2008 までは、MSDN サブスクリプション会員向けには、TFS Workgroup Edition という5名利用限定の TFS を使用できる特典がありましたが、今の TFS は、フルバージョン(Standard Edition)のフル機能を使う特典がついているのです。
また、購入方法によっても、違いがでてきます。量販店などでパッケージとして TFS サーバーライセンスを購入すると、5人まで CAL なしで使用する権利がついてきます。たとえば、5人の開発チームだったら、パッケージとして TFS サーバーライセンスを1本購入するだけで済みます。10人の開発チームだったら、5人まで CAL なしで OK なので、TFS サーバー1本+5 CAL ですね。 Amazon さんでは、このくらいで購入できます。業務で環境整えることを考えるとこの値段であれだけできれば。。。
そして CAL を必要としない TFS の用途もいくつかあるのです。先に紹介したライセンスホワイトペーパーのこの投稿時点 (2012/05/26 日本時間 17:30) のもので引用です (必ず最新のホワイトペーパーで確認ください):

When a Client Access License is Not Required
A Team Foundation Server CAL is not required in the following scenarios:

  • Entering work items through any interface, and viewing and editing work items you created. This enables users to enter and edit their own work items of any type.
  • Accessing Team Foundation Server reports. Any read-only data that comes from the Team Foundation Server SQL data warehouse or is surfaced through SQL Server Analysis Services would be a report, but custom reports could also be written to call into Team Foundation Server APIs and could also join that data with other data sources.
  • Accessing Team Foundation Server using Microsoft System Center Operations Manager. This enables operations staff to take operational issues encountered in production and raise them as issues to the development team, automatically creating a work item in Team Foundation Server.
  • Accessing Team Foundation Server using the Feedback Client for TFS. This allows the user to provide Feedback about an application into Team Foundation Server.
  • Viewing static data that has been manually distributed outside of Team Foundation Server.
  • Up to two devices or users that only access Team Foundation Server to perform system administration, such as creating Team Projects or Project Collections.
  • Up to five users when Team Foundation Server is purchased through the retail channel or for the free Team Foundation Server Express. However, a CAL is required for the 6th user and any subsequent user.
サーバー稼働環境の整理

TFS は、 TFS 2010 から Windows クライアント環境に TFS シングルサーバーを構築できるようになりました。したがって、Windows 7 や Windows 8 を TFS サーバーマシンとすることができます。
ただし、Windows クライアントとサーバーで制限事項が異なります。

  • Windows クライアント上の TFS サーバー
    SQL Server Reporting Services、SharePoint Server (Windows SharePoint Services/Sharepoint Foundation) を利用できません。したがって、TFS の強力なレポーティング機能、Excel ピボットを使った集計や分析 (※Excel で作業項目を表示したり、更新したりは普通にできます)、SharePoint 由来のドキュメント管理やプロジェクト ポータルは使えないということになります。ただ、TFS 2012 の TFS Web Access はかなり強力で、プロジェクト ダッシュボードとベロシティ/バーンダウンなどの主要チャートは標準で提供していますので、これで十分だというプロジェクトは、それでもいいかもしれません。
    TFS は、分散サーバー構成でスケーラビリティを確保することが容易に行えますが、Windows クライアント上では、シングルサーバー構成(データ層(DT)/アプリ層(AT)が同一マシン上) となります。
  • Windows サーバー上の TFS サーバー
    フルセットで使用可能です。SQL Server Standard Edition も TFS 利用限定で付いてきますので、SQL Server Analysis / Reporting Services も利用できます (もちろん、なしも選択できます)。 SharePoint もなしも選択できますし、SharePoint Foundation を選択することもできます。 SharePoint Server を使う場合は、別途調達となります(既存の SharePoint に相乗りももちろんできます)。分散サーバー構成が組めますので、DT/AT 分離もできますし、SharePoint だけ分離とか、AT をクラスタリングするとか、いろいろできます。

システム要件については、以下をご覧ください。

Team Foundation Server のシステム要件

TFS には、ビルド自動化(デイリービルドや継続的インテグレーションもかなり高度なことができます)の機能も包含しています。これらは、ビルドコントローラーとビルドエージェントの組み合わせで成り立ちますので、これらをすべて同一マシンで賄うこともできますし、ビルドエージェントを複数設けて、CI をより効率的に行うなどもできます。これは上記の TFS サーバーの OS にかかわらずセットできます。ビルドは、開発のリズムに影響しますので、性能のよいマシンで行ってくださいね。余ってるマシンでいいやではなく(TFS だからということではない一般論としての基本です)。

TFS のエディションや構成の整理

TFS 2012 のエディションと構成を整理してみましょう。

  • TFS Express 2012
    入門用の TFS です。無償で提供しています (無償版ではなく、入門用を無償提供)。5名まで CAL なしでアクセスできます。CAL があればそれ以上でも OK です。Windows クライアントにもインストールできます。
    SQL Server は、Express のみとなりますので、SQL Server Express の各種の制約下での利用となります。レポート機能、ドキュメント管理など SharePoint 由来の機能も含まれません。
    アジャイルな計画ツール(バックログ管理、タスクボードなど)は含まれません。
    ソースコードのバージョン管理、バックログやタスク、バグ、テストケース、懸案事項などの作業項目の追跡/管理、自動ビルド機能、これらの包括的な追跡可能性は含まれます!
  • TFS 2012 基本構成
    Windows クライアントにもインストールできます。SQL Server には、事前セットアップしてある Standard Edition を選択できます(たしか)。TFS 2012 に SQL Server Standard が付属していますので、それを使わない理由はなかなか見当たらないです。レポート機能、ドキュメント管理などの SharEPoint 由来の機能は含まれません。シンプルな構成でよい場合の選択肢ですね。バックログ管理などが行えます。
  • TFS 2012 標準構成
    詳細構成というのもありますが、どちらも総じて言えるのは、フル機能だということです。強力なレポート機能、SharePoint 由来のドキュメントやダッシュボード、プロジェクトポータル、Wiki などが使えます。また、どれかだけを使わないという選択肢もできます。たとえば、レポートはほしいけど、SharePoint は使わないなどです。

TFS Express 2012 は無償で5名まで使えます。TFS 2012 は、基本構成/標準構成で価格差があるという構成ではありません(※SharePoint Server を使うとか、SQL Server Enterprise 使うとか、Windows Server OS 調達とかで追加費用が掛かることは構成においてないとは言えません。必ずあるとも言えません)。

さて、どう考えるべきか

TFS Express はエントリーレベルを無償提供なので、魅力的に感じますね。VSC/BTS/ITS/CI環境のトレーサビリティを取ってくれるのでそれだけでもありがたい、ありがたいです。そこでこう考えてみてはいかがでしょうか?
TFS Express 2012 を選択する方針:

  1. 使う人の人数が、5人以上に絶対にならない
  2. SQL Server Express のデータ容量の制限などが気にならない使い方しかしない
  3. そもそも、ALM の練習でと考えている。

この3点を満たすなら、TFS Express 2012 でいいかなと思います。なぜか? 5人以上ならば、TFS 2012 のパッケージ版を購入したほうが柔軟性が高くなるからです。TFS サーバーライセンスと CAL は参考価格で同額ですので。そして、Express はエントリーレベルです(それにしてはかなり強力ですが、それくらい今のソフトウェア開発では当たり前なんですね。このあたりできることは)。
TFS 2012 を選択する方針:

  • 現場で本気で使いたい。近い将来的に本気で使いたい
  • 全員 Visual Studio with MSDN をもっているなど、TFS を使う権利を持っている
  • アジャイルな計画機能がお気に入り
  • サポートも受けたい

どれか一つでも当てはまるなら、 TFS 2012 かなと思います。
個人的には、プロが使う基盤ですから、ここで多少の投資を惜しんでいるようでは・・・と思うわけです