ソフトウェアファースト時代に不可欠な新たなプロダクトライン開発とは
自動車業界を中心に「ソフトウェアファースト」という言葉がもてはやされています。
それは、目指すべき方向を示すスローガンとして使われているように思えますが、ソフトウェア開発への影響が多大にあります。ここでは、「ソフトウェアファースト」に伴い開発現場が直面する問題や、それを解決するための方法について提案します。
目次
1.ソフトウェアファーストが開発現場にもたらす変化とは
ソフトウェアファーストの時代になると、組込み機器にとって製品の企画から運用までを変えてしまう、大きな変革が生じます。それは、顧客価値の源泉がハードウェアからソフトウェアに大きくシフトするからです。このソフトウェアファーストによる変革を支える技術がOTA(Over-The-Air)です。
OTA により、さまざまな組込み機器において、スマートフォンと同じようにソフトウェアを定期的に更新したり、新しい機能をダウンロードすることができるようになります。利用者にとっては、ハードウェアが少々古くても、新しい価値を得ることができます。
これまで、組込み機器は市場不具合を出さないよう、入念な評価プロセスを経てリリースされてきました。それは、不具合が起こった時に改変のためのコストが莫大にかかってしまうという問題があったためです。
OTA によりその問題が解決し、これまでよりも早くリリースされ、運用しながら改良していくスタイルに変わっていくことになります。
2、開発現場は、通常の派生開発よりも複雑で混乱に立ち向かうことになる
リリース後も改良されたり、新しい機能が追加されたりするということは、リリース済みの製品のコードにも、改良を反映させ、新しい機能を盛り込む必要があります。すなわち、下図のように、個々の製品コード全てを同じようにメンテナンスしていくことになります。これは、通常の派生開発よりも複雑で、コード変更のミスを引き起こしやすく、コード品質がデグレードし、リリースにも影響が起こりかねません。
3、その状況を回避するためには「プロダクトライン開発」+・・・が不可欠
一般的に、ソフトウェアを共通化する方法として、プロダクトライン開発があげられます。通常のプロダクトライン開発では、以下のように適用します。
- 機能的に成熟した製品に絞って適用する
- 似通ったフィーチャーを持つ製品群をグループ化してラインを分ける(ローエンドやハイエンドなどは別の製品群)
しかし、OTA の対象になるのは、機能的に成熟していない、運用しながら改良していく製品が対象になります。また、ソフトウェアの更新や新しい機能の追加は、ある製品ラインに限ったことではなく、すべてに対して行い、それをするかどうかは利用者が決めるものになります。そのため、通常のプロダクトライン開発を適用するだけでは不十分と言えます。
ではどうすれば良いのでしょうか?
さまざまな製品の事例を元に、我々が導き出した答えは、これまでと一味違った『新たなプロダクトライン開発』です。具体的には、
- ソフトウェアを一本化し、資産管理を厳密化
- 変化に対応しながらも、品質低下を防ぐ
ということです。
ソフトウェアを一本化することで、前述のように、いたるところで行っていたパッチが、下図のようになります。具体的にどのようにするかは、次回以降に説明したいと思います。
こちらからお願いします
4.コンサルタントが教える成功の秘訣
OTAなどの技術の登場により、これからの時代のビジネスの進化はますます早くなり、それに伴い開発現場に対する要求も、問題も、ソリューションも常に変化し続けることになるでしょう。そのため開発者はこれまで以上にReactiveな姿勢で自分たちの問題と向き合い解決していく姿勢が求められることになります。
今回ご提案したソリューションに実際に取り組み始めた現場も出てきました。彼らは、日々このソリューションを進化させ、開発に取り組んでいます。
エクスモーションは今後もこのような現場を支援する中で新しい時代のシステム開発のあるべき姿を模索・挑戦していきます。ぜひ私たちと一緒に困難な開発を乗り切っていきましょう。
エクスモーションが提供するSPL関連サービス
ソフトウェアファースト移行支援
ソフトウェアファーストに移行するための、現状分析・あるべき姿の構築・プロセス導入・アーキテクチャ構築・ソフトウェア資産構築・・・あらゆる移行支援を開発現場で支えます。
ソフトウェアファースト人材育成支援
ソフトウェアファースト時代を迎えるにあたり、ソフトウェアエンジニアの確保・育成は、先行して進める必要があります。 ソフトウェアファースト人材のスキル定義、育成、および、エレキやハードエンジニアからのキャリアチェンジなど、戦略的かつ実践的な人材育成を支援します。