ソフトウェア開発のコモディティ化


ソフトウェア開発のコモディティ化

社会インフラとなりつつある情報システム

 現在、ソフトウェアは私たちの生活のなかに広く浸透しています。かつてのソフトウェアといえば、大企業が自社製品に組み込むソフトウェアであったり、経営の効率化のために取り入れるソフトウェアであったり、限定された一部の人間が巨額を投じて利活用するものでした。

 しかし今では小さな商店がホームページを立ち上げ、最新のICTを活用して売上拡大に取り組んでいます。このような時代の潮流はさらに推し進み、いずれは世の中のひとりひとりが自分好みにソフトウェアをカスタマイズする、言い換えるならば、人々が情報システムを社会インフラのひとつとして利活用する時代がやって来ることでしょう。そう、クラウドコンピューティングやスマートフォンはすでにもうそのひとつのカタチかも知れません。

ソフトウェア開発現場の課題

 しかしその一方で、日本のソフトウェア開発はこのような小規模・軽量・迅速なソフトウェア開発にまったく対応できていないと感じる面もあります。ソフトウェア開発は知識集約型産業であるが故に、他の産業で日々努力されているコストダウンや合理化の試行錯誤が進んでいません。社員個々人の能力に強く依存した経営体質にも多くの問題点があると感じます。安価で質が高く短納期を求める市場の要求のシワ寄せは現場の社員に向けられ、3Kや5K、7Kなどと言われるIT業界の厳しい労働環境にもつながっているのでしょう。

 そしてソフトウェア開発を発注する側にとっては、「どのソフトウェア会社を選定するのか?」ではなく、「どのエンジニアを引き当てるのか?」で、つくり出されるソフトウェアの潜在価値に大きな違いが生じています。まるで運を天に任せるように。極めてビジネスとは縁遠い環境です。

ビジネスモデルの転換から

 では、このような状況を改善するにはどうすれば良いか? それは、ソフトウェア開発をより一層、コモディティ化すること。これはソフトウェアの再利用性を高めることに等しいと思えるかもしれません。しかしそれだけではなく、ソフトウェア会社のビジネスモデルも含めた大きな枠組みのなかで、ソフトウェアの再利用性・標準化を進めていかなければならないと考えます。

 ソフトウェアはドメインと呼ばれる部品から構成されると捉え、部品の構成を組み替えて商品ラインナップをつくりだす。そしてそれらの商品に標準価格を設定し、開発工数における流動要素をできるだけ少なくする。つまり個々人の能力に依存した“なんでも屋さん”から脱却し、ラインナップ商品を売ることに経営資本を注力する。工業製品としては極めて当たり前のこのライフサイクルをソフトウェア開発に適用することが必要だと考えています。