ソフトウェア開発基盤とは何か

「ソフトウェア開発基盤」は便利な言葉ですが、定義がはっきりしない曖昧な言葉でもあります。

主にSIerのソフトウェア開発事業を紹介する文脈で出てくることが多く、概ね、フレームワークと開発プロセスの組み合わせとして構成されているようです。
フレームワークの訳語として「ソフトウェア開発基盤」を使っている例もあります。「フレームワーク」自体も定義が曖昧な言葉です。

SIerにとってソフトウェア開発基盤とは、

  • 自社の特定領域における技術力と、
  • その領域における開発能力(技術者○○人の体制で・・・といった文脈)

を誇示するためのものでしょう。
外面的に、顧客に対する、実現力の証左といえます。

内面的に、ソフトウェア開発基盤を意味のあるものにする(外面的な能力誇示を真実足らしめる)ためには、

  • 開発プロセスをPM層が完全に理解し、必要に応じて組み立てなおしができること。
  • 開発プロセスをSE、PG層が理解し、自身の作業をプロセスにリンクさせられること。
  • フレームワークを理解したアーキテクトが存在し、自身のプロジェクトにマッチするような対応が取れること。
  • フレームワークをSE、PG層が理解し、自身の設計やコードを準拠させられること。
  • フレームワークが必要十分な機能を備えているか、不足した機能を追加開発できる機能を備えていること。
  • 開発プロセス、フレームワークを真に活用するためのツール群が整備されていること。

が重要と考えます。

ソフトウェア開発基盤には、進化を続ける技術を組織に定着させる効果があります。進化する技術のスナップショットを明示することで、技術の蓄積を図ることが出来るし、学習目標を明確化することが出来ます。しかし、そうした技術の固定は進化から取り残される誘引にもなります。技術の進化から取り残されることはSIerの存在意義を否定することになってしまうため、注意が必要です。

ソフトウェア開発基盤を推進するにあたっては、

  • 将来性のある筋の良い技術の選定。
  • ソフトウェア開発基盤を進化させていける体制の構築。
  • ソフトウェア開発基盤を重視しつつ、そこに留まらず、乗り越えた発想を持てる技術者の育成。

が必要になるでしょう。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。