目次


はじめて使う Jazz

第 2 回 プロジェクトのリリース計画・反復計画・タスク実行

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: はじめて使う Jazz

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:はじめて使う Jazz

このシリーズの続きに乞うご期待。

  1. RTCのダウンロード
  2. RTCのインストール
  3. サーバーのセットアップ
  4. ユーザーの作成
  5. プロジェクトの作成
  6. クライアントのセットアップ
  7. Eclipseプロジェクトの共有

今回の記事は、特にプロジェクトにおけるリリース計画の策定から、反復計画(スプリント)の策定、タスクの実行の流れについてご紹介したいと思います。前回の記事で、プロジェクトを作成する際に、アジャイル開発プロセスの一つであるスクラムを基にしたスクラム・テンプレートを利用したため、今回の記事でも、スクラムの開発の流れに沿って、説明いたします。しかし、RTC自体は、特定の開発手法に依存しているわけではありません。

リリース計画の策定

  1. リリースのためのスケジュール確立
  2. リリースバックログ(リリース計画)の作成
  3. ストーリー(製品機能)の追加

反復計画(スプリント)の策定

  1. スプリントバックログ(反復計画)の作成
  2. タスクの追加
  3. チームメンバーの労働時間、不在予定の入力
  4. タスクの見積もりと割り当て
  5. チームへの割り当て状況確認

タスクの実行

  1. タスクの受け入れ
  2. タスクのトラッキング
  3. ソースコードの変更
  4. タスクの完了

タスクのトレーサビリティ、プロジェクトの見える化

  1. トレーサビリティの確認
  2. プロジェクト・ダッシュボードの確認

リリースのためのスケジュール確立

ではこれより、RTCを用いてプロジェクト計画を立てて行きたいと思います。今回の記事では、プロジェクト・テンプレートとして、アジャイル開発の一つであるスクラムを用いているので、ここでもスクラムのやり方に沿ってプロジェクト計画を立てることになります。プラニングをはじめるには、スクラム・マスターである必要がありますので、まずは、taroでログインしていることを確認しましょう。

もしリポジトリー接続のユーザー名が違うユーザーなら、上記のtaro@localhostの部分を選択して、コンテキスト・メニューから[ログアウト]して、taroでログインしましょう。

チーム・エリアのコンテキスト・メニューから[開く]を選択し、チーム・エリア・エディターを開きます。

すると、プロセス反復のエリアに、デフォルトで作成されている反復計画が見えます。リリース1.0、スプリント1などが見えますが、プロジェクト作成の際にスクラム・テンプレートを選択したため、すでに幾つかの反復がスプリントの形式にあわせて作成されているのです。スクラムでは、反復のことをスプリントと呼び、通常は一つのリリースの下に、複数のスプリントが計画されます。

リリース1.0とスプリント1のところに小さな三角形のアイコンが見えますが、これが現在の位置している時点を示しています。(記事を書いている時点では、2月10日ですので、スプリント1が現在の反復ということになります)

では、このリリースのプロジェクト・スケジュールを変更してみましょう。リリース1.0を選択し、[プロパティの編集]をクリックします。反復の編集ダイアログが表示されますので、終了日を変えてみましょう。終了日を6週間後に設定します。終了日の横のカレンダーアイコンをクリックして、カレンダーの中から該当する日付を選択し、[OK]をクリックします。最後にダイアログで[OK]をクリックすれば終了です。

ここで、反復をもう一個増やすことを考えてみます。全てのスプリントを2週間にして、6週間のリリースの中に、3回のスプリントが計画されるようにします。スプリントを追加するために、スプリント2を複製して、スプリント3を作成してみましょう。スプリント2を選択し、[複製]をクリックします。

反復を重複ダイアログが表示されます。識別子と表示名を下記のように編集して[OK]をクリックします。

下記のように、リリースの中に、スプリントが3回スケジュールされました。では、次は、リリースについてより詳細な情報を定義していく必要があるので、作成されたスケジュールに基づいて、リリースバックログ(リリース計画)を作成してみましょう。

リリースバックログ(リリース計画)の作成

リリース1.0の下に計画を作成します。チーム成果物ビューで、リリース1.0を選択して、コンテキスト・メニューから[新規] →[反復計画]を選択します。

新規反復計画ダイアログが表示されるので、リリースバックログ 1.0と名前をつけて、[終了]をクリックします。

反復計画エディターが表示されます。概要タブでは、Wikiスタイルでリリースバックログについての情報を編集することができ、ここで編集した情報はWebユーザー・インターフェースでも見ることができます。このリリースのゴール、範囲などを書いておくと良いでしょう。

ストーリー(製品機能)の追加

では、このリリースの範囲で扱うストーリー(スクラムの用語で、ここでは、製品機能と考えてください)を考えて見ましょう。計画項目タブをクリックして、グループ化リストの中から、[フォルダー]を選択し、フォルダー・ビューに変更します。このビューは、新しいストーリーを追加していくのに非常に適しています。現状では、トップ項目フォルダーと、障害および機能強化フォルダーがありますが、必要に応じて、新しいフォルダーを付け加えることが可能です。

では、新しいストーリーを追加してみましょう。トップ項目のコンテキスト・メニューから、[ワークアイテムの追加]→[ストーリー]で、ストーリーを作成します。

トップ項目の下に、ボックスが表示されるので、そこで、ストーリーの名前として、JavaアプレットでHelloWorld、と入力します。Ctrl+Enterのショートカットを使って次々とストーリーを作っていくことが可能です。新しいストーリーを作った際は、右上の[保存]ボタンで保存すること忘れないようにしましょう。

他にも幾つかストーリーを考えて入れてみましょう。

ストーリーが追加されると、次にするべきことは、優先順位をつけることです。スクラム・テンプレートでは、1~10の優先順位をつけることが可能です。ドロップ・ダウン・リストを用いて、簡単に優先順位をつけることができます。全てのストーリーに優先順位をつけましょう。

ストーリーをダブル・クリックすることで、エディターを開くことも可能です。ここでは、説明のところに、詳細な説明を書き加えています。必要に応じて、受け入れテストのタブに、受け入れテストのためのより詳細な情報を書き込むことも可能です。

スプリントバックログ(反復計画)の作成

スクラムにおいては、全てのスプリント(反復)がはじまる際に、製品バックログのアイテムを全て見直し、どのストーリーを次期スプリントで取り組むべきか考えます。そして、次期スプリントに割り振られたストーリーに対してタスクを作成します。

では、ここでは、スプリントバックログを作成していきましょう。チーム成果物ビューから、スプリント 1を選択し、コンテキスト・メニューから[新規]→[反復計画]をクリックします。リリースバックログを作った際と同じ手順であることがわかります。

新規反復計画ダイアログで、スプリントバックログ 1 と名前をつけましょう。[終了]をクリックします。

スプリントバックログ 1のためのエディターが開きますが、先ほどのプロダクトバックログのエディターに戻って、ストーリーの割り振りを行いましょう。JavaアプレットでのHelloWorldストーリーを右クリックして、コンテキスト・メニューから、[計画対象]→スプリント 1 を選択します。

ストーリーの左横に小さな矢印が表示されますが、これは保存されるのを待っている状態です。右上の[保存]ボタン、もしくは、Ctrl+Sで保存しましょう。すると、スプリントバックログ 1 のほうに、割り当てられたストーリーが移動します。通常の開発では、複数のストーリーを一つのスプリントで行えますが、この例では、スプリント1では、このストーリーのみを開発する、ということになります。

タスクの追加

では、ストーリーをスプリント1で開発していくわけですが、このストーリーの実装を行うために、幾つかのより詳細なタスクに分けて管理します。例えば、JavaアプレットでのHelloWorldを実現するための幾つかのタスクを考えてみると、まずは、現在のHelloJazzWorldクラスをアプレット対応にしたり、アプレットを表示するためのHTMLファイルを作成したり、というタスクが少なくとも必要となります。場合によってはより細かく分けていくこともあるでしょう。

では、スプリントバックログ1のエディターに戻って、タスクを追加していきましょう。コンテキスト・メニューから、[ワークアイテムの追加]によりタスクを追加していくことも可能ですが、複数のタスクを追加するときには、Ctrl+Enterでのショートカットが便利なので、まずは、コンテキスト・メニューから、[ワークアイテムの追加]→[デフォルトの設定]をクリックします。

ワークアイテム・タイプの選択ダイアログが表示されるので、タスクを選択し、[OK]をクリックします。これで、Ctrl+Enterのショートカットにより、新規のタスクが簡単に追加できるようになります。

ストーリーを選択して、Ctrl+Enterで、タスクが追加されますので、HelloJazzWorldクラスをアプレット対応にする、アプレットを表示するためのHTMLファイルを作成、などをタスクとして追加しましょう。

しかし、お気づきのように、ストーリーの下にタスクは出来たものの、ストーリーの子として、タスクが紐付いていません。タスクを選択して、Tabを押すことにより、ストーリーの子に紐付けることができます。またShift+Tabでレベルを一つ上にすることも可能です。作成した2つのタスクを、ストーリーの下の子にしておきましょう。

チームメンバーの労働時間、不在予定の入力

ストーリーのタスクが定義されたので、タスクを見積もり、メンバーをアサインをする必要があります。しかし、チーム内のメンバーのワークロードのバランスを適切にとるために、まずはチームメンバーの労働時間や不在予定などを設定しておきましょう。チーム成果物ビュー中で、[マイ・チーム・エリア]→[HelloJazzWorldチーム]→[taro]をダブル・クリックして、ユーザー・エディターを開きます。

下部のタブより、作業環境タブを選択します。ここで、作業をする場所や、作業日数、などを設定することができます。

今回は、taroは他のチームの作業でも忙しいということにして、25パーセントしかこのチームに避けないことに仮定しましょう。作業割り当ての中で、HelloJazzWorldチームを選択して、[変更]ボタンをクリックします。

割り当ての変更ダイアログの中で、25パーセントを入力し、[OK]をクリックします。

また、不在予定を入力しておくこともできます。不在予定タブの中で、不在予定を新規作成します。[新規]ボタンをクリックし、不在予定ダイアログが表示されるので、不在の概要と、開始日、終了日を入力します。

タスクの見積もりと割り当て

では、タスクが定義され、チームメンバーの労働時間も設定されたので、タスクの見積もりをはじめましょう。スクラムの場合は、一般的にチームメンバーにタスクをアサインして、そのままチームメンバーが見積もりを立てる、というケースが多いのですが、今回は、taroがチームメンバーと相談の上、全てを決めてしまうことにします。
スプリントバックログ1のエディターに戻ります。まずは見積もりを入力しましょう。ドロップ・ダウン・リストを使うことで簡単に見積もりを入力することができます。

次に、タスクのチームメンバーへの割り当てもドロップ・ダウン・リストを使って行いましょう。終了したら保存を忘れないでください。

チームへの割り当て状況確認

このようにタスクを割り当てていった際に、チームメンバーが現在どれくらいワークを抱えているのか確認するには、チーム・セントラル・ビューのチーム・ロードを見ると一目で分かります。taroはこのスプリントで22時間働けますが、現在、8時間分のタスクを抱えている、ということが分かるでしょう。
注:この環境ではチャット機能の設定で全員の写真をセットアップしていないので、写真が出てきていませんが、通常は、こちらに写真一覧で並びます。

さて、ここまでで、反復計画の策定が完了しました。まずは、スプリントバックログを作り、タスクをこのスプリントに割り当てました。そして、チームメンバーの労働時間・不在予定を整理した上で、タスクの見積もりを割り当てました。最後にチームへの割り当て状況を確認して、十分にこのスプリントはまわせることを確認しました。まだまだチーム全体では作業に余裕があるので、新しいストーリー、タスクを割り振っても良いのですが、今回は例ということでこのままいきましょう。

タスクの受け入れ

では、taroの視点から、実際にタスクを受け入れて、作業をしていく場面を考えて見ましょう。
一番簡単に自分へのタスクの割り当てを確認するには、マイ・ワーク・ビューの現行作業を確認するのが良いでしょう。HTML作成のタスクがみえます。しかし、今後の作業を見てみると、見たことのないタスクが沢山並んでいます。これは、プロジェクトが作成されたときに、スクラム・テンプレートに基づいて自動的に作成されたタスクです。taroはスクラム・マスターなので、それらのタスクの所有者はtaroになっていますが、現在どのスプリントにもリリースにも割り振られていないので、今後の作業のところに出ています。

さて、ちょっと視点を変えて、taroをログアウトし、jiroでログインしてみましょう。

jiroの立場で、マイ・ワーク・ビューを確認すると、インボックスの中に、jiroに割り振られたタスクが入っているのが分かります。作業を開始する前に、これらを受け入れる必要があります。[すべての作業を受託]すると、インボックス内の全てのタスクを受け入れることができます。先ほど、taroが割り当てたタスクがjiroのもとに確実に届いていることが分かりました。

では、もう一度、taroでログインしなおしましょう。
マイ・ワーク・ビューの他にも、自分に割り当てられたタスクを確認する方法があります。チーム成果物ビューの中で、ワークアイテムを展開します。この中には、タスクを見るための様々なクエリーが用意されています。もちろん、自分でクエリーを作成することも可能です。ここでは、[自分に割り当てられた項目(未完了)]クエリーをダブル・クリックして実行すると、ワークアイテムビューの中に、taroに割り当てられたタスクが一覧で表示されます。

では、先ほど割り当てたアプレットのためのHTMLタスクの作業を開始しましょう。ワークアイテムビューで、HTMLファイル作成タスクを選択し、右クリックでコンテキスト・メニューから、[作業開始]を選択します。もちろん、さきほどのマイ・ワーク・ビューから作業開始を行うことも可能です。

また、タスクをダブル・クリックして、タスク・エディターの中の、ドロップ・ダウン・リストから作業開始を行うこともできます。

タスクのトラッキング

taroはタスクについて働きはじめたので、ワークを行った際に、実際に費やした時間を入力していき、作業が完了すると、完了報告を行います。

例えば、4時間分の作業が進んだとすると、下記のように、4時間と入力します。
注:日本語訳として残り時間となっていますが、ここでは消費した時間を入力してください。この記事を書いている時点ではマイルストーン1なので、まだ適切でない翻訳がみられますが、今後修正されていくでしょう。

ディスカッション機能を用いて、作業時に出てきた関連情報を全て記録しておくことができます。

また、リンクタブでは、必要に応じて、スクリーンショットを添付する、または、ドキュメントを添付することも可能です。

ソースコードの変更

ではここから、実際、アプレットを表示するためのHTMLを作成しましょう。Javaパースペクティブに切り替えて、パッケージ・エクスプローラーから、HelloJazzWorldを選択し、コンテキスト・メニューから[新規]→[ファイル]を選択します。

新規ファイルダイアログで、ファイル名として、HelloJazzWorldApplet.htmlを入力し、[終了]をクリックします。

作成されたhtmlファイルを右クリックし、コンテキスト・メニューから[アプリケーションから開く]をクリックし、[テキスト・エディター]を選択します。テキスト・エディター上で、適当に内容を入力します。例えば、下記で構いません。

<applet
code="HelloJazzWorld.class"
width=200 height=100>
</applet>

テキスト・エディターで入力して保存を行うと、自動的に保留中の変更ビューにて、変更されたものが検知されます。下記の、右上のボタン「すべての保留中のローカル変更のチェックイン」をクリックして、まずは個人用のリポジトリーに、チェックインを行います。

そうすると、自動的に現在ワーク中のタスクに紐づいて個人用リポジトリーにチェックされたことが分かります。

発信を選択して、右クリックし、コンテキスト・メニューから、[提出]を選択します。これでチームのリポジトリーに提出することができます。

タスクの完了

では、タスク・エディターに戻って、タスクの状態を[解決]に変更しましょう。これで、このタスクは完了です。

トレーサビリティの確認

ここで、タスクと変更セットの履歴がRTCの中でどう管理されているか、つまりトレーサビリティを確認してみましょう。タスク・エディターの中で、下部のリンクのエリアを見てみると、変更セットが、自動的にこのタスクに関連づけられていることが分かります。変更セットの下の、HelloJazzWorldチーム デフォルト・コンポーネントの変更をダブル・クリックしましょう。

変更エクスプローラーの中に、この変更セットによって、どのファイルが変更されたか一覧で表示されます。今回の場合、一つのファイルのみですが、複数個のファイルが変更された場合はそれらが全て表示されます。ここで、HelloJazzWorldApplet.htmlをダブル・クリックします。

そうすると、比較エディターが開きますので、実際にコードのどの部分を変更したかが明確に表示されます。これによって、どのタスクがどの変更セットを引き起こし、また、その変更セットによって、どのファイルのどの部分が変更されたのかが一目瞭然で分かります。

また、タスクのヒストリーをチェックすると、誰が、何を、いつ、変えたのかが全て記録されています。ディスカッションや添付ファイルとあわせることによって、何故変えたのかもより明確に分かります。

プロジェクト・ダッシュボードの確認

Webユーザー・インターフェースにて、バーンダウンチャートを確認してみましょう。ブラウザを起動して、URLにhttps://localhost:9443/jazz/と入力し、taroでログインします。プロジェクト・エリアから、HelloJazzWorldプロジェクトを選択し、ダッシュボードを見ます。バーンダウンチャートに注目すると、今回は、初日に見積もりまで終わらすことができなかったので、初日のデータが適切ではありませんが、見積もり終了後、タスク終了後でバーンダウンチャートが自動的に更新されていることが分かると思います。このように、RTCで一元的に管理されている情報から、バーンダウンチャートのようなグラフが自動的に生成されるため、プロジェクトの見える化がより簡単に可能であることが分かります。

今回の記事では、プロジェクトにおけるリリース計画の策定から、反復計画(スプリント)の策定、タスクの実行の流れを紹介し、最後にトレーサビリティの確認、プロジェクトのダッシュボードの確認を行いました。今後の記事では、ソースコード管理、ビルド管理についてより詳しくご紹介していきたいと思います。どうぞお楽しみに!


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Rational
ArticleID=378808
ArticleTitle=はじめて使う Jazz: 第 2 回 プロジェクトのリリース計画・反復計画・タスク実行
publish-date=04032009