見出し画像

果てしなき外部委託の果てに(ソフトウェア分析)

日本のソフトウェア産業は多重下請け構造です。下請けを外部委託と呼んでいますが、同じものです。グラフを見てわかるように外部委託が多いです。ユーザ企業がソフトウェアベンダ企業に外部委託するのはわかります。でもこのグラフはベンダ企業が別の下請けに外部委託しているものです。外部委託率が90%以上のプロジェクトでは何をしているのでしょうか。逆に100%としているのは、いっそ、すがすがしいです。これはスルーしていいのでしょうか。嘆くところでしょうか。引用元:IPA ソフトウェア開発分析データ集 FAQ

外部委託とは

今回は日本のソフトウェア産業に多い「外部委託」についてです。ソフトウェア開発では、外部委託は多いです。IPAのソフトウェア開発分析データ集2022(マンガにあるグラフ)からもわかるようにとても多いです。さらに多重下請け構造になっていますので、足し算すれば、もっと多くなります。

ソフトウェア開発における外部委託では、上流工程は自社で行い、下流工程のプログラミングやテスト、運用・保守工程の作業を外部に委託することが多くなっています。まさに下請けです。

これとは別にサブシステム単位で外部委託する場合もあります。このときは外部委託された会社が一気通貫でサブシステムを作る場合があります。これはこれでいいと思いますので、ここでは前者の下請け的外部委託を見ていくことにします。

外部委託の問題点

「上流工程の設計までを自社で行い、下流工程のプログラミング以降を外部委託する」これだけみれば、一級建築士が設計をし、それを大工が家を建てていくのと同じ感覚です。分業体制ができあがっています。

でも建築士は大工が家を建てている間も工事監理をし、評価し、アフターケアをしています。つまりソフトウェア開発におけるプロダクトオーナーの役割をしています。

え?これはソフトウェア開発でも同じ?ーーーそうでしょうか。
アーキテクトがアーキテクチャ設計をし、システム設計し、それをプログラマがプログラミングしている間も監理し、完成したプログラムを評価し、アフターケアもしている?・・・たぶんしていないでしょう。
ではプロジェクトマネージャがそれをしている?・・・本来はもちろんそうなのですが・・・たぶんしていないでしょう。

そしてこれが問題です。同じ外部委託、分業でも建築の場合は責任者が明確にあるのに対し、ソフトウェア開発はいわゆるプロダクトオーナーが不在です。

ちなみに建築とソフトウェア開発の違いは、その柔らかさにあります。ソフトウェアは建築と比較して柔らかいです。柔らかいがゆえに、自由裁量権が大きいです。自由裁量が大きいとそこには意思が入り、恣意的に、または無意識に改変されます。そうなると既にアーキテクト、プロジェクトマネージャが立ち入るには難しくなっています。

外部委託の今後

今までの論調では、外部委託をなくして、内部だけで作りましょうという話に聞こえるかもしれません。内部で作れば、責任はある程度、明確になるでしょう。ヘマをしたときに怒られる人間は決まってくるでしょう。

でもこれが答えではありません。外部委託は絶対なくなりません。ユーザ内製化の動きでもベンダへの開発委託はあるでしょうし、そこから先への外部委託も残ります。これは産業構造的に当たり前のことです。

ではどうすればいいのでしょうか。結論は清く正しい外部委託が必要ですということになりますが、その道筋は見えていません。でも必要条件はわかってきています。責任の明確化とそれを契約にすることです。それも仕様が不明確の条件付きになります。難しいです。道は見えていません。「俺たちの戦いはこれからだ!」まさにそうです。

ということで今日の結論。「外部委託は清く正しく」以上です。

引用:ソフトウェア開発分析データ集2022 | 社会・産業のデジタル変革 | IPA 独立行政法人 情報処理推進機構

よろしければサポートをお願いします!