「ソフトウェア開発基盤」は便利な言葉ですが、定義がはっきりしない曖昧な言葉でもあります。
主にSIerのソフトウェア開発事業を紹介する文脈で出てくることが多く、概ね、フレームワークと開発プロセスの組み合わせとして構成されているようです。
フレームワークの訳語として「ソフトウェア開発基盤」を使っている例もあります。「フレームワーク」自体も定義が曖昧な言葉です。
SIerにとってソフトウェア開発基盤とは、
- 自社の特定領域における技術力と、
- その領域における開発能力(技術者○○人の体制で・・・といった文脈)
を誇示するためのものでしょう。
外面的に、顧客に対する、実現力の証左といえます。
内面的に、ソフトウェア開発基盤を意味のあるものにする(外面的な能力誇示を真実足らしめる)ためには、
- 開発プロセスをPM層が完全に理解し、必要に応じて組み立てなおしができること。
- 開発プロセスをSE、PG層が理解し、自身の作業をプロセスにリンクさせられること。
- フレームワークを理解したアーキテクトが存在し、自身のプロジェクトにマッチするような対応が取れること。
- フレームワークをSE、PG層が理解し、自身の設計やコードを準拠させられること。
- フレームワークが必要十分な機能を備えているか、不足した機能を追加開発できる機能を備えていること。
- 開発プロセス、フレームワークを真に活用するためのツール群が整備されていること。
が重要と考えます。
ソフトウェア開発基盤には、進化を続ける技術を組織に定着させる効果があります。進化する技術のスナップショットを明示することで、技術の蓄積を図ることが出来るし、学習目標を明確化することが出来ます。しかし、そうした技術の固定は進化から取り残される誘引にもなります。技術の進化から取り残されることはSIerの存在意義を否定することになってしまうため、注意が必要です。
ソフトウェア開発基盤を推進するにあたっては、
- 将来性のある筋の良い技術の選定。
- ソフトウェア開発基盤を進化させていける体制の構築。
- ソフトウェア開発基盤を重視しつつ、そこに留まらず、乗り越えた発想を持てる技術者の育成。
が必要になるでしょう。