Team Foundation Server で独自のレポートを作成 (Excel 編)
こちらも多くご質問を受けるので整理してみました。
Team Foundation Server には、進捗や品質などプロジェクトの状況を俯瞰 (ふかん) 的に見ることができるレポートの機能が提供されています。
作業項目 (タスクやバグなど) の情報、ビルドやテストの結果など、様々なデータが Team Foundation Server に蓄積され、そのデータを様々なカットで表示することができます。
Team Foundation Server のレポートは以下の 2 種類に分けることができます。
-
ブラウザで表示するだけでなく、必要に応じて PDF や イメージ ファイルとして保存することができます。
ハイパーリンクを共有したり、ブックマークを活用するなど、比較的容易に共有、表示することができますので、開発責任者やプロジェクト マネージャーが全体状況を把握したり、チームメンバーもプロジェクトの全体像を把握、意識合わせする際に活用いただけます。 -
Excel のピボット テーブル/ピボット グラフを使い、プロジェクトの状況を把握します。
フィールドを組み替えて視点を変えたりなど、詳細な分析を行う場合には、Excel レポートの方が適しています。
何れも同じデータ ソースから引っ張っているので、形式は異なったとしても、同じデータが表示されます。
どちらが使い勝手が良いかで選択いただくのが良いかと思います。
なお、プロセス テンプレートによって、提供される既定のレポートの種類や数は異なります。
既定のレポートについては、それぞれのリンクのページをご覧ください。
さて、ここからが本題ですが。。
既定のレポートの活用だけでも、プロジェクト運営にかなり有効かと思いますが、チームによっては、独自のカットで分析したいという要望を良く聞きます。
独自のレポートはさまざまな方法で実現できるのですが、今回は一番容易な (?) Excel を活用してレポートを作成する方法を解説します。
// 2014/01/23: ブラウザ ベース (SQL Server Reporting Service) のカスタマイズは後日解説できれば。。
ちなみに 下記の環境は Team Foundation Server 2013 と Excel 2013 です。
UI は若干異なるかと思うのですが、他のバージョンでも同じかと思います。
Excel で独自のレポートを作成する方法
Excel の [データ] タブ – [その他のデータソース] – [Analysis Services] を選択します。
[データ接続ウィザード] に Team Foundation Server のサーバー名を入力します。(※ SQL Server Analysis Service がインストールされているサーバーです)
キューブの選択のところで、”Tfs_Analysis” の “Team System” キューブを選択します。
取りあえず [完了] ボタンをクリックします。
なお、ここまでの手順を一度実施していれば、次回からは [データ] タブ – [既存の接続] から設定済のものを選択できます。
[データのインポート] ダイアログが表示されますので、ピボット テーブル/ピボット グラフなど形式を選択します。
レポートの整形方法については、一般的な 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 の定義があることがご覧いただけます。
イメージとしてはこんな感じです。
ご参考になれば幸いです。