ソフトウェア・プロダクトライン

日経エレクトロニクスで「ソフトウェア・プロダクトライン開発」について取り上げられていた。名前しか知らなかったので興味深く読んだのだけど、ちょっと物足りないというかメリットが実感しづらかった。
この記事が伝えようとしている事と俺が知りたい事がずれていたというだけなので、この記事に文句を言うのは筋違いではあるんだけど……


不満に感じるのは将来の変更が分かっているという前提で書かれているところだ。
この記事の最後にはこう書いてある。

これらのメリットを享受できるのは、フィーチャ・モデルによるドメイン・エンジニアリングによって開発の初期段階で製品ごとに変化する部分を洗い出すことができ、アーキテクチャ設計やコンポーネント開発に反映できたためである。

逆に、SPLのデメリットや難しさは、十分な拡張性をアーキテクチャに織り込まなければならないことだ。これを実現するには、ドメイン分析やアーキテクチャ設計の段階で十分な時間をかけて検討する必要がある。また、せっかく時間をかけて検討したアーキテクチャを無駄にしないために、しっかりとしたロードマップを定義しておく必要がある。

しっかりとしたロードマップが最初に定義できて、そのうえ、将来ロードマップ通りに開発するだけでいいのであればソフト開発はとてもシンプルだ。けど、変化の予測は難しいし、経験的には大抵予想外の変更が必要になる。なので、俺が興味を持っているのは「予想していない」変更に強い手法や設計がどんなものなのかということなのだけど、この記事は直接的な答えにはならなそうだ。でもヒントにはなりそうかな?