Product Line

プロダクトライン(SPL)導入展開サービスのご紹介

一般的なソフトウェア開発では、単一のソフトウェアを如何に効率よく失敗せずに作り上げるか? 作り上げたソフトウェアの保守性を如何に高めるか? に対して、様々な努力がなされてきました。プロダクトラインは、このような視点とは異なり、複数のソフトウェアをシリーズとして開発する(*)ためのソフトウェア開発技術、開発のプロセスを体系化しています。

昨今のソフトウェア開発組織では、繰り返して開発するソフトウェアに対し、既に整備されたミドルウェアやパッケージ資産、過去のソフトウェアそのものを流用し、開発を行っていました。 しかし、これら資産を業務システムや製品に組み込む際、設計ガイドラインの定義が不十分だったり、また、厳格なレビューも実施できていないのが実情です。 このような状況が続くと、自社のソフトウェア資産の境界が不明確となり、資産自体の劣化を招きます。 このような状況を打開するために、シリーズ製品に搭載される制御ソフトウェアや業務系システムに対し、要求の変化に対応して頻繁に進化していくアーキテクチャへの改善と品質確認(SQA、アーキテクチャ評価)が必須となります。

本サービスでは、シリーズ製品またはシリーズ化されたサービスの提供を前提として、共通化して利用可能なソフトウェア部品を効率的に運用するプロダクトライン型開発の導入および展開を行います。 具体的には、従来のプロセス改善(SQAやプロジェクト管理面の強化)に加え、プロダクトラインアーキテクチャを確立&運営する組織および技術的プロセスエリアを強化し、ソフトウェアの資産価値向上と製品群開発の効率化、売り上げおよび利益率の向上に貢献します。従来のQCD(Quality, Cost, Delivery)改善の視点から、RDE(Reuse, Distinctive, Evolution)に注力できる組織および経営への転換を促進します。

なお、既存書籍や参照情報では、プロダクトラインプロセスに関する定義や成果物セットを入手することが困難です。弊社では、これまでいくつかの組織にて導入展開してきたプロダクトラインプロセスの経験と実績を反映させた、リファレンスプロセス(iPROC)を整備しています。本サービスでは、このリファレンスプロセスを用い、実務に即した支援を行って参ります。

(*)シリーズ化されたソフトウェアの開発は、ソフトウェアプロダクトライン開発(SPL/SPLE: Software Product Line Engineering)、ソフトウェアファミリー開発(SFD: Software Family Development)、派生開発(DPD: Derivation Product Development)、製品系列開発と呼びます。

プロダクトライン(ソフトウェア製品系列開発、シリーズ開発)とは?

書籍「ソフトウェア プロダクトライン エンジニアリング」によれば、プロダクトラインの定義は次の通りです。

「ソフトウェア製品系列開発とは、プラットフォームと大量個別生産を用いてソフトウェアアプリケーション(ソフトウェア集約システムおよびソフトウェア製品)を開発するパラダイムである。」

従来の開発方法論は、オブジェクト指向技術の適用が中心的な存在となるものが多く、組織や資産的な観点が希薄でした。そのため、従来の企業におけるコアコンピタンスである製品群の強化や、資産を継続的に高度化していくような、ライフサイクルの視点に立ったサスティナブルな開発に移行することが大変困難でした。一方、プロダクトラインによる開発は、いくつものシステムを生み出す基盤となるドメイン開発(プラットフォーム)と、箇々のシステム開発であるアプリケーション開発(大量個別生産)を、技術面および組織面から支援していきます。このように、再利用型開発のあるべき姿を、一貫性を持って整理&定義することにより、既存開発からプロダクトライン型開発への移行が見通し良く行えるようになります。また、従来から独自に再利用型開発をすすめている組織にとっても、参照モデルとして有効に機能します。

プロダクトライン導入・展開サービス概要

プロダクトライン型開発は、従来の開発方法論やプロセスと異なり、技術と管理・経営の連携、規律と柔軟性が求められる開発アプローチです。弊社では、教育、アセスメント、技術指導、アーキテクチャの構築/評価/管理、開発体制整備、ソフトウェアの部品化、設計標準整備といった様々な取り組みを支援することにより、プロダクトライン型開発の導入と展開、そしてソフトウェア製品群の競争力強化に貢献いたします。

【主なサービス】

- 教育 -

プロダクトライン入門セミナ(部長/課長/プロジェクト管理者向け)

プロダクトライン技術セミナ(プロジェクト管理者/アーキテクト向け)

ジェネレーティブプログラミング解説

ドメイン分析手法解説

フィーチャーモデル/ファミリーモデル/バリアントモデル開発手法解説

プロセス基本用語(iPROC , SPL)解説

- 技術支援 -

プロダクトラインアーキテクチャ(フレームワーク)仕様策定

プロダクトラインアーキテクチャ(フレームワーク)の開発

ソフトウェアコンポーネントの開発

プロダクトラインアーキテクチャの維持(DSMを利用)

プロダクトラインアーキテクチャの進化(製品追加、品質属性変化、既存機能改善、標準への追従)

プロダクトライン関連ツールの調査・評価およびツールチェーンの構築

(XText/EclipseModelingFramework, MetaEdit, pure::variants 等)

- プロセスのアセスメント -

リファレンスプロセス(iPROC)を用いたプロセス成熟度の判定

(ISO/IEC 26550またはSEI SoftwareProductLine Frameworkを参考とすることも可能です)

Fit&Gap分析と改善施策の検討

- プロセスの定義、実装 -

再利用型開発リファレンスプロセス(iPROC)のテーラリング

アーキテクトグループの立ち上げ

コア資産開発グループの立ち上げとコア資産整備支援

シリーズ開発用構成管理仕様の定義と運用

可変性管理の立ち上げ

プロセス移行戦略(既存→SPL)

- アセスメント -

リファレンスプロセスを用いたプロセス成熟度の判定

プロダクトライン型プロセスによる生産性目標の設定

- SQA支援 -

ソースコードおよびアーキテクチャメトリクス

コア資産および製品のレビュー、テスト環境整備、品質評価

コア資産運用状況のモニタリング

- プロダクトラインの高度化 -

既存プロダクトライン成熟度評価(プロダクトライン・プロセス・アセスメント)

今後のビジネスモデルを前提としたプロダクトライン・プロセスの御提案

組織内横展開(他製品群、他ドメイン、他部門、他地域への展開)の支援

具体的な成果/実績/効果

一般的には、5から10倍の生産性向上が見込めると言われていますが、これまでの実績では、最大4倍程度までの改善効果を計測することが可能となっています。下記にいくつか実績を列挙いたします。

※本サービスについての詳細は、こちらまでお問い合わせください。