クラウドでの開発は外注するより内製がなぜ多いか
クラウドのコストが低い理由に、この「内製」ということが挙げられるのではないか、と最近感じることがあります。
クラウドそのものの開発や、クラウドの上で稼働している特種なソフトウェアシステムの開発の多くが、その企業で自ら開発されたものだったりします。外部から購入したソフトウェアでもなく、外注して作ったものでもありません。かなり大規模かつ複雑なものなのに、です。
ものごとの考え方が相当違うように思います。
これまで大型システムや複雑なシステムの多くが、外注で開発されてきました。「システム開発の専門家にまかせたほうが安全」「大規模開発には人手がかかる」「経験に基づくプロジェクト管理が必要」というような考え方が支配していたからだと思います。
ところが、これらがすべて覆されたらどうでしょうか?
専門家はいる・・・
クラウドベンダーにはシステム開発やソフトウェア開発の専門家がいます。大型ベンダーでなくても、専門家を雇うことはできるほど、コンピューター科学は一般的になりました。むしろ、コンピューターのエンジニアよりも、自社の業務の専門家であることのほうが重要だったりします。
大規模開発には人手はかからない・・・
開発ツール、フレームワーク、RAD、スクリプト言語などにより、少人数でも大量のアプリケーションが作れる時代になりました。要件定義・設計といったドキュメント化のコストのほうが、開発コストより大きい時代にあります。
プロジェクト管理の考え方が違う・・・
最近流行しているアジャイル開発では、これまでの考え方とは違うアプローチでプロジェクトが管理されています。そういった世界では、旧来の専門家よりも、最近の専門家のほうが長けています。
また、人数が少ないことでプロジェクト管理が単純になっているということもあります。プログラム開発は、人数が少なければ少ないほど単純かつ効率的になります。
こういった特徴により、今日のクラウドでのソフトウェア開発は「低いコストの人を大量に集める外注開発より、高いコストの人を少人数集める内製のほうが高価が高い」というバランスにあるのだろうと思います。能力の高いプログラマに高給を支払い、少人数で内製させることが企業の価値を高めることもあります。
ユーザー企業のシステム開発において、これは真似しやすいメソドロジーではないですし、ギャンブル的な部分もあるため、難しい時代にあるな、と感じます。内製の場合、ソフトウェアのメインテナンスは自社で永久に行わなければなりませんし、開発した「天才エンジニア」が退職してしまうと手に負えない可能性もあります。
こういったことを鑑みながら、適用できる分野をみつけて、こういった投資の仕方をしてみる価値はあるのかもしれません。