ホットセッション

■第10回ホットセッション  
「組織的再利用の最新技術動向−プロダクトラインソフトウェアエンジニアリング−」■

  • 「ソフトウェアプロダクトラインをソフトウェアプロダクト開発に活かす」
          −−ソフトウェアプロダクトラインの概要−−
                       匠システムアーキテクツ株式会社 前田 卓雄 氏

    ■事業の優位性はシステム改善力
     匠システムアーキテクツ株式会社の前田卓雄氏は、「ソフトウェアプロダクトラインをソフトウェア開発に活かす」という演題で、ソフトウェアプロダクトラインの概要について講演を行った。前田氏はソフトウェア開発の抱える様々な問題はビジネスチャンスと捕らえる。まずは生産性を高める必要があり、それにはマネジメント/エンジニアリング/技術の各ドメインの改善が必要と説く。一方で生産性向上のためのあらゆる施策には「人」が要であり、人の育成にも力を注ぐ必要性を唱えた。
     今後のソフトウェア市場の需要は、開発規模増大と同時に生産性の伸びも期待されており、そのため開発のフォーメーションを変えることが求められている。その答えの1つがソフトウェアプロダクトライン(以下SPL)だという。Capers Jonesによれば、ソフトウェア開発で適性な方法をとらなかった場合には、生産性が400倍違うという。企業にとっては、勝つためのアプローチへシフトする必要があり、それがSPLであるという。強みを活かす「ソフトウェア・ジャストインタイム」である。
     SPLの適用の紹介ではCummins社では自動車のエンジン制御システム開発を例にあげた。ここではSPLにより工期250人月から2〜3人月(1年から1週間)と劇的な工数削減となり、さらに目標を超えた品質向上も達成したという。
     SPLのプラクティスエリアは29あり、12+αのプラクティスパターンと、活動を可能にするにはこれらの習得が必要である。そして導入のアプローチとしては、主要な担い手としてプロダクトマネージャ、アセットマネージャ、プロダクト開発マネージャが必要である。
     SPLの長所は実践モデルでありHOWを提供していること、他方で短所は範囲が広くアプローチが重いことであるという。最後に「事業優位性はどこで生み出すか!それはシステム改善力である。システム再構築の活動は人づくりの活動である。多機能工に育てることが勝負になる」という言葉で結ばれた。

  • 「PLSEにおけるMOTの実践〜OM,TM適用のポイント」 株式会社 豆蔵 今関 剛 氏

     再利用型開発に取り組むためのポイントを、PLSE(ProductLineSoftwareEngineering)が扱う領域のうち組織管理と技術管理に関して、技術経営(MOT:ManagementofTechnology)の観点からご講演いただいた。以下にその概略を紹介する。
     再利用型開発では、顧客要求の変化に対して、製品個別で対応するのか、またはコア資産に要求を取り込んで対応するのか、その判断が求められる。しかし、この課題に対して、組織的な取り組みが十分に行われていない開発組織が多い。その原因は、開発技術の問題だけではなく、組織管理および技術管理にもある。技術経営の観点を取り入れて、再利用や新技術開発を組織的に進められる体制を構築しなければならない。
     組織編成の例として、マイクロソフト、ノキア、CelsiusTechの例を紹介した。組織的な再利用型開発に取り組むためのアプローチとして、上級管理者/現場担当者/改善スタッフが推進する場合のそれぞれについてポイントを解説した。また、再利用型開発を導入するときの注意事項を列挙した。さらに、再利用型開発の成熟度モデルを紹介し、再利用型開発を進めるための道筋を示した。
     組織を改善して再利用型開発を効率よく進めるために、PLSEやMOTなどを手がかりに組織内で議論     をすることの重要性を指摘し、本講演を締めくくった。

  • 「ドメイン分析の最新手法」 オムロン株式会社 福井 信二 氏

      マーケティング指向の視点を取り入れたプロダクトラインのアーキテクチャとコンポーネントを設計する方法について、講演がなされた。
      本講演はPOSTECHコンピュータサイエンス学部のKyo-Chul Kang教授ご提供のオリジナルスライドと、その日本語訳スライド併用して行われた。

    ■FORM(Feature-Oriented Product Line Method)  モデルベースのプロダクトライン手法としてFORMがある。これは、Key Driverとしてマーケティングと製品計画を活用したソフトウェア開発手法であり、アーキテクチャとコンポーネントの再利用に焦点を当てている。
      FORMプロダクトラインエンジニアリングプロセスには、大きく分けて「プロダクトラインコア資産開発プロセス」と「プロダクト開発プロセス」があり、主に前者について、ホーム統合システムを例に取って説明された。
       ・マーケティングと製品計画(MPP)の融合
       ・プロダクトライン牽引役としての製品計画
       ・フィーチャーモデルをベースにしたオブジェクト及びコンポーネントの導出方法、プログラムアーキテクチャへのマッピング
       ・上記コア資産をベースにした「プロダクト開発プロセス」での特定製品 開発方法

     プロダクトラインによる開発では、コア資産開発の前に、マーケティング課題を十分に調査し、想定される製品の実現可能性を慎重に分析することが特に重要である。

     講演の最後は、オリジナルスライドを快くご提供くださったKang教授への感謝の言葉で締めくくられた。

  • 解説:Product Line Software Engineering(PLSE)とは?

    PLSEはソフトウェア製品開発における再利用に関する技術です。

    Product Line(プロダクトライン)とは、製品のシリーズ展開のことですよね。では、ソフトウェアにおけるプロダクトラインとは何でしょうか?

    CMU-SEI [1][2]では以下のように定義しています。 「ソフトウェアプロダクトライン」は、ある市場セグメントもしくはミッションに特有のニーズを満たす、共通のかつ管理された機能(Feature)を共有する一式のソフトウェアシステム群であって、事前に作成されたコア資産の集合体によって開発されるもの。つまり、

    製品を単体ではなくシリーズとして捉えることで、そのシリーズに共通して使用できる再利用資産を蓄え、ソフトウェア開発生産性を向上しよう

    というわけです。

    シリーズ内での再利用を行うわけですからPLSEにおける再利用率は高く、PLSE導入前に比べて比べて製品開発期間が1/10以下に短くなったという事例報告もあります。 日本ではまだあまり知られていませんが、欧米ではPLSE専門のカンファレンス[3][4]が開かれるほど採用の歴史も長く、ノウハウも蓄積されています。

    出所:[1]「ソフトウェア プロダクトライン」, Paul Clements / Linda Northrop, 前田 卓雄 訳, 日刊工業新聞社, 2003
        [2] Product Line Approach to Software Development,http://www.sei.cmu.edu/plp/plp_init.html
        [3] The Third Software Product Line Conference,http://www.sei.cmu.edu/SPLC2004
        [4] 8th International Conference on Software Reuse (ICSR-8), Madrid (Spain), July 5-9, 2004,
          http://icsr8.cs.rug.nl/