本文へジャンプ

RAMの紹介 第一回

資料作成日 2008年06月25日
資料更新日 2008年06月25日

<概要>

Rational Asset Manager(RAM) は、ソフトウェア資産の再利用を戦略的に実現するためのアセット管理ソリューションです。再利用可能なソフトウェア資産を、どうやって、いかに開発者に再利用してもらえるようにするか?それを組織的に進めましょうということにフォーカスした、アセットの再利用を促進するインフラのツールです。 このRAMのご紹介を、以下のように2回にわたり連載します。 第1回:ソフトウェア資産の再利用に対する期待と課題、それを解決する要素を解説し、それを実現するツールとしてのRAMをご紹介します。 第2回:組織内でRAMを利用するロール別に、RAMの機能概要をご紹介します。

<内容/目次>

1-1. はじめに

Rational Asset Manager(RAM) は、ソフトウェア資産の再利用を戦略的に実現するためのアセット管理ソリューションです。再利用可能なソフトウェア資産(以降、“アセット“)を、どうやって、いかに開発者に再利用してもらえるようにするか?それを組織的に進めましょうということにフォーカスした、アセットの再利用を促進するインフラのツールです。
ここでは、ソフトウェア資産の再利用に対する期待と課題、それを解決する要素を解説し、それを実現するツールとしてRAMをご紹介します。

1-2.「ソフトウェア資産の再利用」に対する 期待 と 課題

ソフトウェア資産の再利用とは、繰り返し起こる問題に対して、すでに確立しているソリューションを再度利用することにより、品質が保証されている上での、時間・労力・コストの削減を目指したものです。

現在、ソフトウェア資産の再利用は、机上の空論ではなく、開発上の選択肢として検討されています。 例えば・・・
○プリンタやFaxの複合機では、家庭向けの廉価機種とオフィス向けの高級機種とを効率よく開発するために、基盤部分の共通化を図っている
○携帯電話等のソフトウェアは会社の枠を超えた共通基盤作成がはじまっている。
○ソフトウェアプロダクトラインへの関心が高まっている。
○オープンソースソフトウェアの再利用は珍しくなくなっている。

では、アセット再利用において課題となっているのは、どういったことでしょうか? 図1は、アセット再利用に関する様々な声をまとめたイラストです。アセットを利用する側の開発者は、再利用可能なアセットを利用したいと思いつつも、結局はいちから新しく開発した方が早いし簡単ではないかと思いがちです。これは、アセット再利用が進みにくい一番の要因となります。また、アセット再利用を促進するチームが検討しなければならないことは、数多くあります。

図1.アセット再利用に関する様々な声


アセット再利用の阻害要因をまとめると以下のようになります。

    • アセットを再利用するための考え方、手順や、アセットそれ自身を説明するための仕様記述などの、“標準”の欠如。
    • アセットに関する情報が足りない、またバージョン管理がされていないことからくる「アセットへの信頼感の欠如」。
    • アセット作成・使用のための「技術が未確立」であること。
    • アセット再利用に取り組む組織的な「インセンティブの欠如」。
    • アセットの構築・変更/効果算定/コスト算定/コスト負担と「組織内での再利用コストモデルの不明瞭さ」。

アセット作成・利用が極度に属人的であり、組織の中でアセット再利用の取り組みが曖昧なままでは、ソフトウェア開発での効果的な再利用は実現しません。これら課題解決のためには、再利用を円滑かつ低コストで実施するための標準の確立、組織的な取り組みが必要となります。


1-3. IBMが想定する再利用の姿

前述の課題を解決するために、IBMが提唱する再利用へのアプローチを掲げたものが、図2です。

図2.アセット再利用の課題を解決する要素


その1:まず、属人性を排除する手段として、アセット自身を説明するメタ情報・パッケージングを標準化することがあげられます。この目的のために、IBMがOMGに提案したのが、Reusable Asset Specification(RAS)です。RASは、再利用の観点からソフトウェア資産の種類や内容、適用分野といった”仕様”を記述するための規格であり、2002年にIBMが提案し、2004年にOMGに承認され、ソフトウェア資産の再利用における業界標準規格となりました。IBM Rationalの提供する開発ツールや、他社のコンポーネントリポジトリ製品が、RASに準拠したアセットの管理をサポートしており、組織的な再利用の際の前提となる統一された仕様記述の標準形式が提供されます。

その2:組織的な取り組みをする上では、再利用を前提としたプロセスが必要となります。アセットの発見から、付帯情報等をつけたアセット化、その維持管理といったアセットのライフサイクル全般に対して、”役割””責務””成果物””ワークフロー”を定義したプロセスが必要です。IBM Rationalでは、開発プロセスRational Unified Proccessのバリエーションとして、アセット・ベース開発(Asset Based Development, ABD)拡張を提供しています。アセットの識別/生成/利用/管理といった4つの主要ワークフローから構成されるアセット再利用プロセスです。

その3:さらに、アセット再利用による、組織としてのゴール、アセットに対する期待値などを決め、それに対するコスト負担、責任などを盛り込み、
アセット・ライフサイクルにおいて計測を行い、投資対象の精査・選別もする必要があります。それが、アセット・ガバナンス(Asset Governance)です。(アセット・ベース開発およびアセット・ガバナンスについては、さらに次項で紹介します。)

その4:最後に、コミュニティとの協調が必要です。オープンソースの世界で共通のプラクティス "みんなが使えるものを、みんなで作っていこうね!"という概念です。アセットに対するコミュニティーからのフィードバックを受けて、アセットがブラッシュアップされていきます。

こういった、標準仕様RAS, 組織的なプロセス、ガバナンス、コミュニティーベース開発モデルといった要素を実現してはじめて、組織的かつ戦略的なアセット再利用ができるのです。

( 標準規格RASやアセット・ベース開発といった内容の詳細は、リンク先をご参照ください。
SOAのための資産ライフサイクル管理
http://www.ibm.com/developerworks/jp/architecture/rational/library/oct05/wilber/#a


アセット・ベース開発プロセス/アセット・ガバナンス・プロセス と RAM

前述の通り、ソフトウェア資産の再利用を成功させるためには、組織的な取り組みが必要になります。ここで、組織的な再利用とは、次のように定義されます。
「熟考されたプロセスとライフサイクルと、資金供給と人材配置のコミットメント、そして再利用可能アセットを作ること使うことに対するインセンティブのある組織だったプランの中でのアセットの再利用。それが、組織的な再利用である。」
戦略的な再利用は組織的な再利用の上になりたち、再利用プログラムをビジネス戦略と結びつけることが必要です。

組織が戦略的な再利用のプロセスを作るために、IBM Rational は、Rational Unified Processの拡張として以下の2つを提供しています(これらは、Rational Method Composer(RMC)を使って編集することができます)。
    • アセット・ベース開発プラグイン(Asset Based Development plug-in)
    • アセット・ガバナンス・プラグイン(Asset Governance plug-in)

アセットを作るとき、どのロールが関わり、どんなステップがその後に続き、どんな作業成果物が出来上がるかを決めることは重要です。しかし、さらに重要なことに、
    • 正しいビジネス決定がされること
    • 投資が適切なプロジェクトにされること
    • 正しいメトリクスが捕らえられること
    • リスクの期待が合致しいているとおりに行われていること
を理解することも重要です。

Rational Asset Manager(RAM) は、戦略的な再利用を進めるためのアセット・ベース開発およびアセット・ガバナンスで重要不可欠な製品です。


1-4. Rational Asset Manager 紹介

以降では、Rational Asset Manager(RAM) の概要をご紹介します。
    RAM 特徴および利点
    RAM 製品アーキテクチャー

RAM特徴

RAMは、以下のような特徴を持っています。
  1. ソフトウェア開発時のあらゆる成果物を、OMG標準規格RASに準拠したアーカイブとして管理します。(あらゆる成果物とは、成果物:設計書、モデル、ソースコード、バイナリ、テストケースなどです。)
  2. アセット・タイプの定義、アセットのパッケージング、登録改廃、検索、評価といったアセット・ライフサイクル(Asset Base Developmentアセット・ベース開発)を支えます。
  3. コミュニティーによる、管理プロセスの定義と実行、アセット再利用状況の確認といったコミュニティーベースのアセット・ガバナンス(Asset Governance)をサポートします。
  4. Rational ClearCase(CC), ClearQuest(CQ), WebSphere Service Registry and Repository(WSRR)などの他ツールとシームレスに連携し、アセットベース開発の成功を確実にします。詳細は、RAM製品アーキテクチャーの項で、後述します。


RAM利点

RAMを利用することにより、以下のような利点が得られます。
    • 検証・承認済みのアセットを再利用することにより、アーキテクチャーの整合性を強化、品質の改善したソフトウェアデリバリーを加速し、トータルコストを削減します。
    • 複数プロジェクト間のコミュニケーションの向上により、不必要な重複作業を削減します。
    • コミュニティによるガバナンスプロセスを導入することで、アセットの信頼性や再利用性を向上させることが可能です。また、各種メトリクスにより、アセットの再利用度・有用度を判断することができます。
    • SOAライフサイクルと連携し、サービスデリバリーを加速、SOAガバナンスを改善します。
    • ラショナル製品および他製品との統合により、アセットベース開発の成功を確実にします。


RAM製品アーキテクチャー

図3は、アセット・ベース開発およびアセット・ガバナンスにおいて役割をなすツールとロールの全体像です。図3の中心に位置するのがRAMで、戦略的な再利用を行う上でキーとなる製品であり、他ツールとシームレスに連携します。(この図の通り、アセット・ベース開発には多くのツールが含まれるのですが、これはアセット・ベース開発で扱うソフトウェア成果物が種類も数も多いためです。アセット・ベース開発を行うにあたり、全てのツールが必要な訳ではありません。)

図3.アセットベース開発およびアセット・ガバナンスにおいて役割をなす ツールとロールの全体像(2008年6月現在 RAM7.0.0.2)


RAMは、組み込みWebSphere Application Server(WAS)上で稼動し、RAMの管理するアセットのうちのメタデータをDB2に格納し、アセット .rasファイル をファイルシステムに格納します。(RAMのインストーラーに、組み込みWASと限定機能のDB2が同梱されています。)

RAMを使用するには2つのユーザー・インターフェースがあります。RAMのWebクライアントと、Eclipseクライアントです。どちらも、アセットの作成と登録、アセットの検索と利用、 レイティングやコメントといったフィードバックを行うことができます。
さらにRAMのWebクライアントでは、アセットの承認プロセスによる変更と承認、アセットの更新、変更通知、ガバナンスのための定量的な計測メトリクスの取得が可能です。RAM Webクライアントは、一般的なブラウザの使用により世界中どこからでもアセットへアクセスできるため、地理的分散開発が促進されます。
一方Eclipseクライアントは、Eclipseベースの開発プラットホームとシームレスに統合します。RSA,RSDで作成したアセットをそのIDEから直接RAMに登録することも、IDEから直接RAMへ接続、アセットの検索、ダウンロードして、さらにアセットを利用した開発をすすめることも可能です。

図1のアセット管理のファイルシステムの下には、CVS や Rational ClearCase(CC)がありますが、これは CVSに代表される版管理あるいはCCなどのソフトウェア構成管理(Software Configuration Management:SCM)と統合させることにより、再利用アセットとしてのバージョン管理と、その元になった成果物のより詳細なバージョン管理とを連携して使えることを表しています。(RAMがアセットのバージョン管理を行い、 SCMがアセットに含まれる成果物のバージョン管理を行います。)

Rational ClearQuest(CQ)との統合では、RAMのアセット登録のデフォルト承認プロセスをCQによりカスタマイズしステートフローを変更したり、RAMでのディスカッション・フォーラムの内容をCQ のレコードタイプにマップでき、アセット障害や変更の追跡が可能になります。

WebSphere Service Registry and Repository(WSRR)との連携では、WSRRがサービスのランタイム・オペレーションに有用な情報を管理し、RAMがあらゆる種類のソフトウェア開発アセットを管理し、RAMからWSRR内のアセットの検索・取得やWSRRへのサービス・アセットのパブリッシュなども可能です。


1-5. まとめ

ソフトウェア資産の再利用における課題、それを解決する要素を解説し、それを実現するツールとしてRAMをご紹介しました。次回は、RAMを利用するロール別に、RAMの機能概要をご紹介します。

図4.ソフトウェア資産の再利用における課題と解決要素、それを実現するツールRAM

<添付資料>

<文書情報>

  1. 製品/カテゴリー名

  2. 有効期限

    2011年06月25日

  3. 発表日

  4. 資料番号