アイテム駆動型のインフラで実現するトレーサビリティ
RTCの場合、すべての関係者から上がってきたリクエストに対して、ワークアイテム(障害や機能拡張といった種別がある)が作成され、一元管理される。プロジェクトリーダーは、集まったワークアイテムの情報に基づいて、開発担当者に作業を割り振る。このとき、各担当者に、今抱えている案件の情報などをいちいち聞くのではなく、RTCでは、どの人がどれくらいの作業をやっているのか、何件かかえているか、どの程度余裕があるのかを確認し、開発の計画を立てることができるようになっている。
![RTCではアイテム駆動型の包括的なインフラストラクチャを提供する](http://cz-cdn.shoeisha.jp/static/images/article/3980/fig04.jpg)
開発担当者は、自分に割り当てられた作業をもとにコードを記述していく。コードの変更の際、何のために変更を行ったか、といったコメントを記入するのではなく、リーダーから与えられたワークアイテムに対してRTC上から紐付けして定義すればよい。同じように、ビルド担当者は、追加された項目や、障害についてをいちいちリストアップしてからリリースノートを作成するのではなく、ワークアイテムのリストを表示するだけで、ビルドに含まれる修正内容や新規機能を得ることができる。
このように、プロジェクト全体を一貫したツールの中で管理するため、情報と成果物のトレーサビリティがとれる。追加修正があった場合でも、元のソースを探す手間はかからない。
チームの独立性を保ちつつ並行開発に必要な統合が行いやすい
プロジェクト計画という観点では、リーダーが作業項目をいずれかの作業工程に割り振ることができ、割り振ったものを開発担当者に渡すことができる。これにより、現在完了しているプロジェクトの作業件数や、次の工程で必要な作業がどれくらいあるかといった進捗管理も一目瞭然だ。
ソースコードのバージョン管理の機能も、複数の開発拠点における分散した並行開発環境を考慮し、充実したものとなっている。チームのメンバーは「Jazzチームサーバ」で管理されているファイル群を自分専用の「ワークスペース」という作業領域に移動して作業する。ワークスペースは、新規開発用、修正作業用、メイン開発用、補修用といった観点で個人あるいはチーム単位で持つことが可能で、作業の独立性を確保している。
![複数に分散した開発拠点間での連携を考慮したソースコード管理](http://cz-cdn.shoeisha.jp/static/images/article/3980/fig05.jpg)
また、個人のワークスペースを最終的に統合する場所は、「ストリーム」と呼ばれる。このストリームに統合する際に、競合などの何らかの問題が発生した場合も捕捉可能だ。並行開発を行う場合、チーム用に統合する前に、別の担当者に直接自分の作業内容を渡したいときのため、チームを経由せず、別の個人の作業領域に直接反映するという機能もある。
こうした機能により、個人作業の独立性を保ちながら、チームによるガバナンスをきかせた並行開発が可能になる。
チームメンバーの役割に応じた機能が充実
次に、チームメンバーの役割に応じた使い方をみてみよう。
プロジェクト全体を統括するマネージャーは、数あるプロジェクトの進捗状況を見て、計画の見直しやリソースの再配分の判断をする必要がある。RTCのダッシュボードには、複数のプロジェクトの現在の状況を見る機能がある。
単一のプロジェクトにおける開発リーダーは、自分が担当している作業をメンバーに割り当て、その進捗を確認する必要があるが、この場合もダッシュボードから、作業タスクの件数や残りタスクの数などを見ながら、現在の自分のプロジェクトチームの進捗状況を把握することができる。さらに、個々のメンバーの作業状況報告も確認できるので、メンバーの状況に応じて、作業を再配分したりできる。
![開発リーダーは、プロジェクトチームの進捗状況や個々のメンバーの作業状況を逐次把握できる。](http://cz-cdn.shoeisha.jp/static/images/article/3980/fig06.jpg)
開発メンバーは、リーダーに割り振られたコードの作成作業を進めていく。自分の作業をワークアイテムと紐付けることにより、今何の作業をしているかなどの報告業務や、コード中にいちいちコメントを記入する必要もない。実際の作業時間や残りの作業見積りなどもその都度別の手段で報告するのではなく、ツールの中に入力することで、リーダーに伝達できる。
チームメンバーが分散している場合、離れた場所にいるメンバー間では、チャット機能を使って意見を求めたり、発生した競合の解消を求めるなどのコミュニケーションをとって改善していけるのだ。
コードやドキュメントなどの成果物やワークアイテムは、Jazzチームサーバにあるが、RTC自身は複数のインターフェイスを持っているため、EclipseやVisual Studioなどの開発ツールからのアクセスが可能だ。CVSやSubversionといった、他のバージョン管理ツールの既存資産をインポートし、統合することもできる。
ビルドに関しても、成功や失敗など、差分の比較も可能で、継続的なインテグレーションもできるので、素早いリリースが期待できる。
チーム開発のロスを減らして生産性を向上する「Rational Team Concert」
このように、プロセス全体を可視化し「担当者の役割が異なる」「場所が離れている」「ツールが異なる」といった原因に基づくロスを減らし、生産性を向上していくRational Team Concert。IBMでは、実際に体験したい人のために「Rational Team Concertハンズオン・セミナー」も実施している。
続いて、次回ではブースにて展示されていたJazz製品をレポートする。
「ソフトウェア開発環境展(SODEC)」のIBM Rationalブースで行われた、7つの講演を再現するWebcastが公開されました。簡単なアンケートに答えると、セッション資料をダウンロードすることもできます。