ソフトウェアプロダクトラインを考えるセミナーに参加

昨日は久しぶりにSEA関西プロセス分科会に参加した。今回のテーマは「ソフトウェアプロダクトラインの意味するところ」、講師は書籍「ソフトウェアプロダクトラインエンジニアリング」の訳者でもある林好一氏だった。金曜日の夜だというのに参加者は多く20人ほどが集まっていた。以下、講演の要点より抜粋。

  • ソフトウェアプロダクトラインとは、ソフトウェア再利用を体系的、計画的に行う仕組み。(方法論ではなくパラダイムと理解するのが適切)
  • オフショア開発行っても劇的な生産性向上は期待できない。ソフトウェアプロダクトラインのパラダイムに転換することで、100倍以上の生産性向上も期待できる。
  • 変更可能点を識別、共有、管理する「可変点管理」が重要。可変性の表現として「フィーチャー」を使えば、ステークホルダーでの議論が可能になる。
  • 共通性(コア)の持つゴール(資産形成)と、システムのゴール(資産活用)は異なる。
  • 事業はコアを中心に多くの変種を生みだすもの。事業戦略の視点からソフトウェア開発の連続性を確保することが重要。

ソフトウェア開発の開発の現場に携わっていると、似たような機能を持つ製品、システム、モジュールを繰り返し作ることが多い。それらはライブラリやソースコードという資産として残しておき、工数削減、品質確保のために再利用するのが理想だが、実際問題として有効活用されている事例はそれほど多くないようだ。

それはなぜか?ソフトウェアプロダクトラインの考え方では、どのような使われ方をすべきか計画性のない資産は再利用価値が無いと言う。いつどこで利用すべきか予め計画を持って作成されたソフトウェア資産(コア)こそが、実際の開発に再利用できるものであり、計画性のない再利用を図るから、実製品で問題が見つかり、再利用率が上がらず生産性向上に繋がらないと言う。また、現場で多く行われている派生開発は、体系的・計画的な視点に基づくものはなくソフトウェア資産の場当たり的な流用に過ぎないから、品質も生産性も上がらないのだという指摘はもっともだと感じた。

成功例として有名なカミンズ社のディーゼルエンジン制御システムや、毎年全世界で30製品を継続して発売するノキアの携帯電話(プロトコル、言語、ハードウェア等の多くの相違)なども紹介され、ソフトウェアプロダクトラインが決して夢物語ではない現実的な手法であることも示された。開発現場で今すぐに役立つ具体的な方法論というよりは、事業展開(製品・サービス戦略)の方法を見直すという考え方なので、現場ですぐに生かすのは難しい。しかし、中長期的な視点で開発の方向性を考える上では避けて通れないアイデアだと思う。

ソフトウェアプロダクトラインエンジニアリング―ソフトウェア製品系列開発の基礎と概念から技法まで

ソフトウェアプロダクトラインエンジニアリング―ソフトウェア製品系列開発の基礎と概念から技法まで

  • 作者: クラウス・ポール,ギュンター・ベックレ,フランク・ヴァン・デル・リンデン,林好一,吉村健太郎,今関剛
  • 出版社/メーカー: エスアイビーアクセス
  • 発売日: 2009/01/01
  • メディア: 単行本
  • 購入: 2人 クリック: 44回
  • この商品を含むブログ (5件) を見る