「Jazzプロジェクト」のノウハウを実用化したRational製品群
チームメンバー同士のコラボレーションによって、生産性向上を目指すため、IBMが取り組むコミュニティサイト『Jazzプロジェクト』。2009年5月13日~5月15日の3日間、東京ビッグサイトにて開催された「ソフトウェア開発環境展」(SODEC)のIBM社ブースでも、このJazzプロジェクトに集まった意見を基に開発した製品を中心とした展示が行われていた。
ブースでは、『個人間のコラボレーションを通じてチームの生産性を向上するIBMのJazzプラットフォーム(1)』でも紹介した第一弾製品である『Rational Team Concert』(以下、RTC)に加え、SEなどが要件定義について顧客とコミュニケーションをするためのツール『Rational Requirements Composer』(以下、RRC)、テスト計画やワークフロー制御のための『Rational Quality Manager』(以下、RQM)のほか、セキュリティ関連製品も展示されていた。IBMの最近の顧客アンケートでは、開発環境だけでなく、要件定義や品質管理に注目が集まっているといい、今回の展示はそれらにフォーカスした形だ。
Rational Team Concertではチームの状況が視覚的に把握できる
まず、概要のプレゼンテーションをレポートしたRTCの展示をみてみよう。RTCは、担当者にタスクを指示して、チームのメンバーの現場レベルの作業管理ができる。
アジャイル開発の場合は、セットアップをして、コードを書き、テストも必要だ。こうした現場レベルのタスクを共有して消化し、リリースをしていかなければならない。そのため、大規模なプロジェクトや、開発チームが分散した場合などは、各メンバーが現在何をやっているかわからなくなってしまう恐れがある。
RTCの画面を見ると、メンバーごとの進捗状況がひと目で分かる。チームで協力しあってアウトプットの効率を高めることを目的としているからだ。
Rational Team Concertでは開発にまつわるすべての情報を一元管理
RTCには、ソース管理機能も組み込まれている。自分の担当のコードを変更すると、差分を確認できる。変更した理由などのレポートもツール上から記述することができ、レポート側からもソースコードを参照できる。他のメンバーと情報を共有したり、業務の引き継ぎを楽にするためだ。
同じオフィスで顔をつきあわせて少人数で開発する場合は、お互いが何をしているか分かりやすいが、オフショアなど、開発拠点が分散している場合は、相手が何をしているかを把握しづらいため、年中やり直しが発生するなどの無駄が生じてしまう。RTCでは、プロジェクト全体を一元管理しているので、リポジトリに対して、誰が何をしているかという情報を過不足なく把握し、迅速に対応できる。
開発者は通常、開発に必要な情報はコメントやドキュメントなどに残していくようにしているが、実際の開発における設計などの議論は、会議中だけでなく、飲み会や休憩中の会話などで議論されたり、情報によってはwikiやメールなどバラバラな経路でやりとりされ、決定した情報のみが残されるようになる。
このような状態だと、結果のソースコードだけを見ても、なぜそうなったのかの経緯や全体像がわからなくなるなど、情報のロスが生じ、一覧性やプロジェクトとの関連性も見えにくくなる。RTCの場合は、こうした開発者同士の気軽な議論を残せるよう、チャット機能があり、チャットの中で、設計など重要と思われる発言については、作業エリアに登録できる。このため、コード変更の因果関係をとらえやすく、より適切な判断を行うことができる。
マルチOS、マルチプラットフォームで、多様な開発言語に対応するRational Team Concert
マスターのDBに情報を集約・共有するインフラを用意することにより、どのメンバーに判断をまかせても信頼性が高い結果となる。IBMでは、RTCを開発ツールではなく、関係者が情報を共有し、コラボレーションしながら成果物をつくるインフラと位置づけているという。Windows、Linuxのほか、COBOLを使うような汎用機の環境にも対応しており、EclipseやVisual Studioと連携して動作する。このため、JavaやPHP、Ruby、C#など、開発言語からは独立した環境と言える。
RTCのβ版の利用ユーザーは、これまでのRationalの製品の顧客よりも、アジャイル系の人が多いそうだ。IBM社内でも、Rational製品はもちろん、その他のプロジェクトのメンバーも合わせると1,000人くらいの規模で利用しているという。