Compartilhar via


【MSC FollowUp】ひとりプロジェクト(デモ環境)の成果発表 - 品質指標

こんにちは。立て続けの投稿となりますが、MSC の集大成 第二弾です。

何回かにわたる投稿で、ひとりプロジェクトでデモ環境を構築していることをお伝えしました。さすがに 50分のセッション時間ですべてをご覧いただくことはできなかったわけですが、そのひとりプロジェクトの成果をご覧いただきましょう。

このひとりプロジェクトの成果は、すべて Team Foundation Server (以下、TFS)に蓄積されています(ちなみに、TFS環境は、Hyper-V上の仮想マシンで構築してあります)。今回は、一切のカスタマイズをしていないチームプロジェクトを新規に作成したら作成されるもの(MSF for Agile テンプレート使用)です。

セッションでもお伝えしたように、開発作業は、人、作業、成果物という単純な要素の組み合わせで構成されていますので、TFS にすべて蓄積し、管理することができます。

この投稿では、TFS が提供する『見える化』のスクリーンショットをいくつかご覧いただこうと思っています(くどいようですが、これデフォルトで提供されるものです)。

まずは、「品質指標」というレポートをご覧いただきます:

Reserved_ReportViewerWebControl
これは、開発当初からセッション当日までのビルド成果物の品質を示すレポートです。バーがビルド単位でのそのビルドのプロセスの中で自動実行された単体テストの結果を示しています。緑色の部分が成功したテストの数、赤い部分が失敗したテストの数になります(ちなみに、今回は、わざとテストで失敗するケースを作りました)。

ビルド時に実施されたテスト(BVT: Build Verification Test)におけるカバレッジ率も表示されています。テストが製品コードのどれだけを網羅しているのかもこの様に可視化できるわけです。そして、ソースコードの状況からコードチャーン(製品コードのどれくらいに変更や追加、削除があったか)も見ることができています。

そして、ひとつひとつのビルドに対して未解決のバグが何件あるのかも表示されています。

このようなものがあれば、ビルドひとつひとつの品質もわかりますし、経緯を見れば品質の成熟度もみることができます。また長い目でみれば、こういったプロジェクトではこういう品質の成熟の仕方をしているといった教訓・経験の蓄積にもなるわけです。

Reserved_ReportViewerWebControl 
通常は、レポートを出力すると、これくらい(最近の7件)が表示されます。これは、レポートの定義(SQL Server Reporting Services)を変更すればいかようにでも変えることができます。毎回実行したあとに表示させたいビルドだけを選択するということもできるので、初期、中期、後記とピックアップしてプロジェクトのライフサイクルにおける傾向をサンプリングするなんてこともいとも簡単にできてしまいます。

これだけの情報をデフォルトで提供してくれる TFS は本当に便利です。通常この手のレポートは、各製品からデータを収集して、何かのレポーティングツールにデータを食わせて、作成するなんて手間のかかることをするのですが、一発でここまで統合された情報をだせるのは準備工数なども加味すると相当な効果を生むといえるでしょう。

長沢智治

Comments

  • Anonymous
    June 01, 2008
    こんにちは。先日実施させていただいた MSC 大阪でのセッション デモの環境、「ひとりプロジェクト」の成果発表ですが、今回は、プロジェクトの作業の状況や残り作業がどれくらいあるのか、どういう傾向にあるのかを見える化できるメトリクスをご紹介します。

  • Anonymous
    June 02, 2008
    こんにちは。今回は、レポートではありません。Team Foundation Server (以下、TFS)で管理しておくと、ソースコードの状況を詳細なレベル(それこそどのコード行がだれによってどう変更されたか・・・)から粗いレベル(このバグを修正したときに変更されたものはどれか・・・)まで、状況を知りたいときに知りたい粒度で知ることができるようになります。