透明性を確保するための「ダッシュボード」
この連載も今回が最終回となります。連載の第1回で「Jazzプロジェクトは、人々がソフトウェア開発においてどのように協調して働くべきか、すなわち、いかにコラボレーションし、生産性を向上させ、透明性を確保してソフトウェア開発を行うかという観点で開発されています」と書きました。最終回は、Jazzにおける透明性の確保についてRational Team Concertの「ダッシュボード」を紹介します。
ダッシュボードと聞いてすぐに思いつくのは車のダッシュボードでしょう。車を運転するために必要な各種情報が集められています。車のスピード、エンジンの回転数、ガソリンタンクの残量、走行距離、各種警告灯などです。例えば、ガソリンの残量があとどのくらいかを判断して、運転者はどのタイミングでガソリンスタンドに行くかを判断することができます。ここに表示される情報はリアルタイムの情報です。当たり前のことですが、運転者はこのデータが正しくまさに今のガソリンの残量を示しているから正しい判断ができるのです。もし、ダッシュボードに表示されるガソリンの残量が1日前のものだったらどうなるでしょうか? ダッシュボードではまだ残量があることが示されていますが、実際には既に残量がなく、ガス欠で車が止まってしまうという事態になってしまうでしょう。
これをソフトウェア開発の現場に置き換えてみると、プロジェクト・マネージャが定期的にプロジェクトの状況を経営層やお客様に報告してさまざまな判断がされています。そのためにプロジェクトのメンバーが自分の作業をまとめてプロジェクト・マネージャに報告し、プロジェクト・マネージャがそれらを集計、グラフ化などを行うといったことが行われていると思います。これらの報告までの作業が1週間かかるとすると、1週間前の状況に対して判断することになります。これでは、プロジェクトがガス欠で止まってしまうという事態が起こる可能性があるかもしれません。
Rational Team Concertのダッシュボードは、ソフトウェア開発のために必要な各種情報が集められています。ソフトウェア開発プロジェクト、チームの状況の概要をひと目で確認するにはダッシュボードを使用します。そのダッシュボードの情報は、チームメンバーがワークアイテムを中心とした日々の作業の中で自動的に収集され集計されます。ダッシュボードのために余分な作業を極力なくすように考えられています。
つまり、Rational Team Concertのダッシュボードは以下の2つの特徴を持っています。
- リアルタイムの情報を提供する
- 情報提供のためのデータ収集は自動的に行われる
Rational Team Concert 1.0.1.1 Standard Editionには、このトピックで説明する完全なダッシュボード機能が含まれていますが、Express EditionおよびExpress-C Editionには、限定的なダッシュボード・サポートが含まれています。Express EditionおよびExpress-C Editionでは、各プロジェクト・エリアのプロジェクト・ダッシュボードは1つになり、含まれるダッシュボード・タブも1つになります。個々のユーザーまたはチームがダッシュボードを利用することはできません。
ダッシュボードについて
ダッシュボードは、プロジェクトの状況についての情報をひと目で確認できるようにするためのWeb UIコンポーネントです。ダッシュボードによって、より掘り下げた詳細情報を簡単に確認することができます。また、すべてのJazzコンポーネントが提供するデータのポータルとして機能します。
ダッシュボードは、次のようなさまざまな場面で使用されます。
- プロジェクトのリーダーが、プロジェクトの正常性および動向をひと目で把握できる
- チームは、ダッシュボードを共通のデータ・ソースとして使用することで状況を話し合うことができる
- チームのリーダーがチームの進行状況を追跡し、ワークロードのバランスを取ることができる
- 開発者が自分自身のワークロードを追跡できる
各ダッシュボードは、プロジェクトを通して、必要な場合は何度も簡単にカスタマイズできます。ダッシュボードを使用するのは簡単です。最新のブラウザーが必要なだけです。
サポートされるWebブラウザーは、
- Mozilla Firefox 2.0
- Mozilla Firefox 3.0
- Microsoft Internet Explorer 7
です。
ダッシュボードについて説明するには、実際にデータが入っている必要があります。これまでHelloJazzWorldというシンプルなプロジェクトで操作を説明してきましたが、今回はJazzプロジェクトそのもののダッシュボードを使って、Rational Team Concertの実際の開発プロジェクトの状況をご説明しましょう。
この連載を読んでいただいている皆さんは既にjazz.netサイトへのユーザー登録をしていただいていることと思います。されていない方はぜひユーザー登録をしてみてください。それでは実際にjazz.netのダッシュボードにアクセスしてみましょう。まず、次のURLにアクセスしてください。
すると以下の画面が表示されます。
Rational Team Concertの開発プロジェクトのダッシュボードを見るには図の赤枠のリンク[Dashboards]をクリックしてください。すると次のようなダッシュボードが表示されます。ログインしていない場合は、ログイン画面にリダイレクトされますので、ログインしてください。
ダッシュボードは、ビューレット(Viewlet)と呼ばれる水色の四角で囲まれた複数の画面部品で構成されています。Rational Team Concertの開発プロジェクトのダッシュボードでは、「Rational Team Concertの記述」というプロジェクトの説明と「Rational Team Concertチーム(73)」というプロジェクトのチーム編成を示す画面部品があるのが分かります。(73)はこのプロジェクトには73のチームがあることを表しています。それでは、RTC Developmentチームのリンクをクリックして、RTC(Rational Team Concert)の状況を見てみましょう。
次のような画面が表示されるはずです。ダッシュボードに表示されるデータはリアルタイムのデータですので、以下の画面は、2009年4月1日現在の画面です。皆さんがアクセスされる時にはその時点のデータが表示されます。
まず、RTC Developmentダッシュボードには、さまざまなタブがあるのが分かります。このタブの中には開発チームのメンバーしかアクセスできないものもありますが、いくつかについては後で実際に開いて紹介します。
まず、最初に表示された「General」タブについて説明します。このタブでは、RTC開発にとって現在、最も重要な問題が何かを示すダッシュボードになっています。例えば、以下のグラフは、「Open Blocker and Critical Defects」というタイトルが付いてみます。つまり、RTC開発の各コンポーネントの未解決の重大な障害の件数を示しています。現在31件の問題があり、それぞれの内訳が分かります。
これを見てチーム横断でどのコンポーネントに問題があるのかがひと目で分かり対策を検討することができます。他のグラフも、多言語化対応の障害のうち修正が必須の障害件数や承認待ちの修正件数などについてどのコンポーネントに問題があるかすぐに分かるようになっています。製品がリリースされるまでにはこのタブの各項目の件数はすべてゼロになる必要があります。
次に、「2.0 Plan」のタブを見てみましょう。このダッシュボードは、RTC 2.0でリリース予定の機能の計画項目(Plan Item)を示しています。計画項目は、new(新規)、proposed(提案)、committed(確約)の3つの状態を持ちます。これによって次のリリースに入るか入らないかが大体分かります。そのうえ、おのおのは、全体の進捗を見るために、not started(未着手)、started(着手)、behind(遅延)、at risk(リスク)の状態を持ちます。2.0 Planのダッシュボードは、最上位の計画項目をその状態ごとに分類してひと目で分かるようになっています。緑の矢印はcommitted(確約)の計画項目を示します。白の矢印は、new(新規)か、proposed(提案)です。
4月1日現在、リスクの計画項目が3件と遅延の計画項目が4件あることが分かります。それぞれリンクをクリックすることにより詳細を見ることもできます。
さらにDetailed Release Planのリンクをクリックすると反復計画の進捗状況を見ることが可能です。すべての反復計画が表示されますが、その中から、2009年3月30日から4月24日までのリリース2.0マイルストーン3の各コンポーネントの進捗を以下に示します。
まず、グラフの色からプロジェクトの進捗状況が分かります。緑が順調、赤が遅延を示します。例えば、APT(Agile Planning Teamは)この約1ヶ月の反復期間で、メンバー全員で264.25時間の作業が見積られて、既に55.75時間が完了していることが分かります。プロジェクト期間に265.25時間を均等割りして今日現在完了しているべき予測時間に対して、55.75時間は、16.25時間進んでいるということで、+16.25となっています。逆にBuildは、赤色で-14時間なので、予定進捗より遅延していることになります。さらにバーチャートの右端のパーセンテージは、ワークアイテムに対する見積完了の比率を示しています。この記事執筆の時点では反復開始から間もないので、見積完了率がまだ少なめです。このパーセンテージは、バーチャートでは、縦方向のバーチャートの太さとして表現されます。
次に[Open Defect by Themes]のタブを見てみましょう。特定のテーマごとの障害の状況を示しています。以下の画面では、リリースの妨げになる重大な障害リスト、国際化、多言語化の障害、ユーザーの利用シナリオを想定したシステム検証テスト(SVT)の障害、ライセンスの障害、パフォーマンスの障害などが障害のレベルごとの件数がバーチャートで示されています。
次に、[Open Defect by Teams]のタブを見てみましょう。RTCでは、製品が提供する機能コンポーネントごとにチームに分かれて開発しています。そのチームごとの障害状況をグラフ化したものです。チームごとに抱えている障害を重大度ごとに、High(高)、Medium(中)Low(低)の3つのレベルに分類しています。
最後は[SVT Defect by Team]タブを見てみましょう。SVTはSystem Verification Testで、ユーザーの利用シナリオを想定したテストに置いて見つかった障害の状況をチームごとにまとめたものです。
ここまで、当たり前のように障害状況のグラフをお見せしてきましたが、オープンソースならともかく、商用製品でここまでリアルタイムに製品の開発時の状況を公開しているケースはほとんどないと思います。Rational Team Concertの開発は、jazz.netにおいてOpen Commercial Developmentという商用の製品開発にオープンソースの開発スタイルを取り込んだ開発スタイルを取っています。誰でもjazz.netサイトを通じて直接開発チームとコラボレーションすることが可能です。掲示板(フォーラム)を使って、Q&Aを行ったり、開発チームからの発表を知ったり、障害や機能拡張のワークアイテムを新規に作成することで直接開発チームに依頼することが可能です。Open Commercial Developmentの重要な目的は開発計画の透明性に関するものです。開発計画をユーザーの皆さんと共有することによって、より早く市場からのフードバックを得、より市場のニーズを満足する製品を開発可能にすることを目指しています。
それでは、次期バージョンRational Team Concert 2.0の計画を読み解くヒントを最後に紹介しましょう。
スケジュールとマイルストーン
Rational Team Concert 2.0の計画を読み解く第一歩は、スケジュールを見ることです。マイルストーン・ビルドは毎月公開されます。Rational Team Concert自身の開発はRational Team Concertで行っていますが、自身の開発環境をマイルストーンごとにアップグレードし、サイトに公開しています。マイルストーン・リリースにあなたが関心のある、あるいはあなた自身が依頼していた機能が含まれていたら、製品がリリースされるより早く、ダウンロードして試すことが可能になります。より安定したバージョンを使いたいならベータ版まで待つこともできます。通常リリースに対して1つか2つのベータ版を計画します。
Rational Team Concert 2.0のスケジュールは次のようになっています。詳細は、jazz.netのサイトのProjectsのリンクを開くと、Rational Team ConcertのRelease Planのリンクがありますので、それを開くと見ることができます。
- Fri. Nov. 21, 2008 - M1D1(中間マイルストーン)
- Fri. Dec. 19, 2008 - M1(マイルストーン 1)
- Fri. Jan. 30, 2009 - M2D1(中間マイルストーン)
- Fri. Feb. 27, 2009 - M2(マイルストーン 2 Beta 1)
- Fri. Mar. 27, 2009 - M3D1(中間マイルストーン/API 確定)
- Fri. Apr. 24, 2009 - M3(マイルストーン 3 Beta 2/機能完成)
- End-game: May/June
6回にわたってJazzプロジェクトから生まれた最初の製品である「Rational Team Concert」について紹介してきました。Jazzプロジェクトの状況はjazz.netサイトにてリアルタイムで全世界に公開されています。6月には次のバージョンのリリースが予定されています。ぜひ、Jazzプロジェクトの成果を皆さんも楽しんでいただけたらと思います。なお、jazz.netサイトは英語ですので、今後日本語での情報提供を下記のリンクから発信していく予定です。こちらにも時々来ていただけたらと思います。