Team Foundation Server で独自のレポートを作成 (Excel 編)

こちらも多くご質問を受けるので整理してみました。

 

Team Foundation Server には、進捗や品質などプロジェクトの状況を俯瞰 (ふかん) 的に見ることができるレポートの機能が提供されています。

作業項目 (タスクやバグなど) の情報、ビルドやテストの結果など、様々なデータが Team Foundation Server に蓄積され、そのデータを様々なカットで表示することができます。

 

Team Foundation Server のレポートは以下の 2 種類に分けることができます。

  • ブラウザ ベースのレポート

    ブラウザで表示するだけでなく、必要に応じて PDF や イメージ ファイルとして保存することができます。
    ハイパーリンクを共有したり、ブックマークを活用するなど、比較的容易に共有、表示することができますので、開発責任者やプロジェクト マネージャーが全体状況を把握したり、チームメンバーもプロジェクトの全体像を把握、意識合わせする際に活用いただけます。

  • Excel レポート

    Excel のピボット テーブル/ピボット グラフを使い、プロジェクトの状況を把握します。
    フィールドを組み替えて視点を変えたりなど、詳細な分析を行う場合には、Excel レポートの方が適しています。

何れも同じデータ ソースから引っ張っているので、形式は異なったとしても、同じデータが表示されます。

どちらが使い勝手が良いかで選択いただくのが良いかと思います。

なお、プロセス テンプレートによって、提供される既定のレポートの種類や数は異なります。

既定のレポートについては、それぞれのリンクのページをご覧ください。

 

さて、ここからが本題ですが。。

 

既定のレポートの活用だけでも、プロジェクト運営にかなり有効かと思いますが、チームによっては、独自のカットで分析したいという要望を良く聞きます。

独自のレポートはさまざまな方法で実現できるのですが、今回は一番容易な (?)  Excel を活用してレポートを作成する方法を解説します。

// 2014/01/23: ブラウザ ベース (SQL Server Reporting Service) のカスタマイズは後日解説できれば。。

 

ちなみに 下記の環境は Team Foundation Server 2013 と Excel 2013 です。

UI は若干異なるかと思うのですが、他のバージョンでも同じかと思います。

 

Excel で独自のレポートを作成する方法

  1. Excel の [データ] タブ – [その他のデータソース] – [Analysis Services] を選択します。

  2. [データ接続ウィザード] に Team Foundation Server のサーバー名を入力します。(※ SQL Server Analysis Service がインストールされているサーバーです)

  3. キューブの選択のところで、”Tfs_Analysis” の “Team System” キューブを選択します。

  4. 取りあえず [完了] ボタンをクリックします。

    なお、ここまでの手順を一度実施していれば、次回からは [データ] タブ – [既存の接続] から設定済のものを選択できます。

  5. [データのインポート] ダイアログが表示されますので、ピボット テーブル/ピボット グラフなど形式を選択します。

 

レポートの整形方法については、一般的な Excel のピボット テーブル/ピボット グラフの使い方となりますので、ここでは割愛します。

書籍なども出版されていますので、ぜひご参考にしてください。

 

一番重要なフィールドについては、MSDN ライブラリに解説があります。

https://msdn.microsoft.com/en-us/library/dn217883.aspx

ここまでの説明で長くなってしまったので、フィールドについても説明を割愛します。

(2014/01/23: ご要望が高ければ後日かいつまんでご説明を…)

 

ちゃちゃっと作ったので、つたない例ですが、私が作成したレポートをご紹介します。

以下の例は、追加、修正、削除されたコード行がどれ位あるかを日ごとに集計したものです。

いわゆるコードチャーン的なものです。

もともとコードチャーンが既定レポートにあるのでそれを使えば良いのですが、データとして取れますよ。という例です。

ちなみに、上記の例のようにチーム プロジェクトをまたがって分析することもできます。

 

ピボット グラフを用いれば、グラフィカルな表現も可能です。

タイトルを書いたり、説明を付加するなど、もっと加工すれば、印刷して提出物としても活用いただけるかと思います。

 

以下の例は、各ビルドにおけるコード カバレッジと、コード分析を集計したものです。

(ビルド時に、コードカバレッジやコード分析を実施する方法については、こちらを参照ください)

 

作成したレポートは、[データ] タブ – [すべて更新] とすると、最新の情報を取得することができますので、定点観測としてご利用いただけます。

 

ただし、Team Foundation Server は既定では 2 時間ごとにキューブを更新しますので、データの反映に若干のタイムラグがございますのでご注意ください。

なお、検証時など、キューブをすぐに更新する必要がある場合は、Team Foundation Server の Web サービスを手動で呼び出すことで実現できます。

具体的な方法はこちらを参照ください。

 

最後に、Team Foundation Server でチーム独自の項目を管理し、それをレポートに含めたいニーズがあるかもしれません。

これについては、プロセス テンプレートをカスタマイズすることで実現できます。

(2014/01/23: 長くなりましたので、こちらも後日…)

 

ポイントとしては、各ワークアイテムの定義内の reportable=”xxx” です。

プロセス テンプレートをダウンロードして中身を見ていただければ、レポート集計対象のフィールドに repotable の定義があることがご覧いただけます。

イメージとしてはこんな感じです。

 

ご参考になれば幸いです。