SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

developerWorks Liaison(AD)

個人間のコラボレーションを通じてチームの生産性を向上する
IBMのJazzプラットフォーム(2)

第19回 ソフトウェア開発環境展のIBM社ブースレポート

  • このエントリーをはてなブックマークに追加

 チームメンバー同士のコラボレーションによって、生産性向上を目指すため、IBMが取り組むコミュニティサイト『Jazzプロジェクト』。5月に開催された「ソフトウェア開発環境展」のIBM社ブースでも、この Jazzプロジェクトに集まった意見を基に開発した製品を中心とした展示が行われていた。

  • このエントリーをはてなブックマークに追加

「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の画面を見ると、メンバーごとの進捗状況がひと目で分かる。チームで協力しあってアウトプットの効率を高めることを目的としているからだ。

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人くらいの規模で利用しているという。

顧客とうまくコミュニケーションしながら要求定義を行うためのRational Requirements Composer

 プロジェクトの生産性を向上するには、開発者同士のコミュニケーションだけでなく、顧客と要件定義を行う担当者のコミュニケーションも円滑にすすめなければならない。RRCは、要求定義に必要となる各種機能を提供し、要求定義のプロセスの強化を実現するツール。このツールは、開発者向けではなく、要件定義を行うSEなどの人のためのもので、これも、Jazzプロジェクトが常に意識している「コラボレーション」に基づいたソリューションの一つだ。

 要件定義において、見た目の動作やビジネスプロセスを確認するため、excelやHTMLでモックアップを作るのが面倒と感じている人も多いだろう。RRCでは、画面のモックアップ作成支援や、BPMN(Business Process Modeling Notation)を使ったビジネスプロセスの作成支援、ユースケースの記述など、要件を定義する過程を残していくツールが揃っている。

画面のモックアップを簡単に作成して、確認してもらうことができる
画面のモックアップを簡単に作成して、確認してもらうことができる

 RRCで要求定義の情報を集約することで、あるプロセスのステップや文言、画面のイメージ、システム機能の要求事項の情報を内部的に管理できるようハイパーリンクで参照できる。これにより、ビジネスプロセスに対応したユースケースが存在しないなどの問題をとらえることができる。

 また通常、要件定義は、顧客と担当者、その他関係者が集まる定例会の場で行われることが多い。リクエストは、定例会の前後にメールで来る場合が多く、取りこぼしをしてしまう可能性もある。RRCでは、要件定義の過程において、評価者が気が向いたときにコメントを付け、要件定義を行う担当者はコメントへの対応を随時行うなど、関係者が必要と思われる情報をその場で登録することができる。こうしてコミュニケーションされた情報を集約していくことにより、定例会はあくまでも確認の場となり、その回数や時間を軽減することができる。

Rational Requirements Composerの利用シーン
Rational Requirements Composerの利用シーン

 そして、ツールを用意されたとしても、それをどう利用するかというノウハウが必要だ。Rationalでは、ユニファイドプロセスをベースにして各社が自社の開発標準を作れるようなガイドも用意しており、これに加えてアジャイル系のプロセスのガイドも提供している。さらに、このガイドを基にしたコンサルティングのサービスも準備しているという。

ビジネスの目的に応じた品質の管理が可能なRational Quality Manager

 RQMは、ビジネスの目標に即したテスト計画や、ワークフローの制御、トラッキング、プロジェクトに関する決定および成果物の評価を支援するためのツールだ。もともとRationalでは、HTML内のフォームへの投稿やボタン操作など、機能の繰り返しテストや負荷テストの自動化ツールを提供しているが、RQMはテスト作業だけでなく、テストやテストケースの作成、結果のレポーティングや障害登録といった、テストの種別に関わらず、テストの流れを管理するものだ。

Rational Quality Managerでは、さまざまなテストの流れを管理できる
Rational Quality Managerでは、さまざまなテストの流れを管理できる

 また、テスト計画の作成においては、前述のRRCで決定した要求事項をインポートすることができる。これまでのテストは、画面イメージを見ながら、担当者が場当たり的にテストケースを挙げているのが実情だ。例えば、300件必要なテストに対し、100件しかやらなかったり、50件で済むのに100件もやってしまったりと、ビジネス全体の流れに沿ったテストを行っているとは言えない。

 RRCから初期の要求をインポートして連携することにより、効率的なテスト計画ができる。テスト計画の画面では、テスト概要の説明のほかに、ビジネスの目標は何かということも表示される。顧客とテスターが品質を上げるためのテストの情報を共有するのが目的だ。

 テストの準備状況のレポートもある。モジュールを違うエリアで管理するケースも想定し、担当者ごとのテストの割り当て状況を見ることができる。このほかテスター支援としては、ラボ管理がある。同じアプリケーションで同じテストだが、プラットフォームやブラウザなどの環境が違うケースなどは、それぞれのテストケースを作る必要があるが、環境を選択すると自動的にテストケースを生成してくれる。

プロジェクト状況を示すRational Quality Managerのダッシュボード
プロジェクト状況を示すRational Quality Managerのダッシュボード

 こうしてテストケースを顧客が確認し、対象ブラウザなどのテスト項目の優先度を指示し、それに基づいてリリース基準を作る。テストにおいても顧客とのコラボレーションを行うことで、双方が納得した状態の品質でアプリケーションをリリースできる。

テストの品質を下げないデータベース利用のアプローチ

 品質管理という面では、RRCとは別に、セキュリティに関するソリューションの説明もあった。情報漏洩の7割くらいは、社内の人間が情報を持ち出すケースという報告もあることから、テストにおいてマスターDBを使用せず、擬似的なデータを作成して行うことが多いという。この場合、あくまでも擬似的でマスターとは異なるため、複雑なテストができない。かといってマスターのDBを使うと持ち出されるリスクが生じるというジレンマがある。

 そこで、マスタDBを使いながら、重要な情報はマスキングして隠す製品が『Optim Test Data Management Solution』だ。いい加減なデータを使ってテストの品質を下げるくらいなら、構造の正しいデータを用意するほうが、テスト準備の時間が短縮される。

オープンソース環境の管理コストは馬鹿にならない

 最後に、顧客の反応についてたずねると、RTCについては『これで全部できますね』という意見が多いとのことだ。

 RTCでは、開発標準をツールが解釈してサポートしてくれる機能がある。一般的に、開発標準を決めてもそれが使われないという問題や、開発者が開発標準に常に縛られながら作らなければならないというプレッシャーもある、結果ルールが守られなくなる。共有領域にソースコードを変えて投稿した際、ルール違反が発生すると自動的にチェックして表示してくれ、さらにその解決策の候補を挙げてくれる。この機能により、プロジェクトの開発標準に沿ったコーディングが可能となる。これまでルールを意識しながら作っていた開発者は、この機能があることによって心理的な負担が軽くなる。こうしたプロセスの自動化は、今後もほかの製品にも対応していくそうだ。

 また、TracやSubversionなど、オープンソースのバージョン管理ツールを使用する場合、スキルのある技術者がセットアップなどで時間をとられてしまうことが多い。それと比較すると、RTCのインストールやアップデートは簡単だ。管理の手間が減ったという顧客の声もあるという。オープンソースは初期投資がないので安いというイメージがあるが、実際、管理を考えると、スキルある人がそれに対応するコストを考えなえればならない。そんな時間があるのであれば、能力のある人が本来の仕事にもっと多くの時間を費やすことを考慮すべきかもしれない。

 RTCのエディションは、サーバあたりの最大利用ユーザー数などに応じ、3種用意されている。3種とも3名のクライアント分は無料となる。最大ユーザー数10人の「Express-C」の場合、サーバ無料で、クライアントは1名あたり約18万。最大50名の「Express」は、サーバが80万円でクライアントは同じく約18万円を人数分。大規模開発を意識した最大250名の「Standard」は、サーバが約750万円で、クライアントは1名あたり56万円。「Standard」は、管理情報やプロセスをカスタマイズする機能もあり、マネージャーが細かい設定をできるようになる。まずは3ライセンスの無料版を使ってみて、評価をしてほしいとのことだ。

 RRCやRQMの展示についてもコンスタントに人が訪れていることから、要件定義や品質管理への関心が高まっている手ごたえを感じているとのことだ。

Webcast公開と資料ダウンロード

 「ソフトウェア開発環境展(SODEC)」のIBM Rationalブースで行われた、7つの講演を再現するWebcastが公開されました。簡単なアンケートに答えると、セッション資料をダウンロードすることもできます。

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3981 2009/06/05 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング