IT業界において、多重下請けも人月商売と同様に悪だと言われることがあります。多重下請けに関しては、次のような記事があります。
IT業界の『多重下請け構造』は社会悪になりつつある – paiza開発日誌
記者の眼 – 木村の主張「人月商売や多重下請けは滅びの道」、読者はどう考えるか:ITpro
多重下請けは本当に悪いことでしょうか?
多重下請けとは
多重下請けとは、受託システム開発において、発注者から直接請け負った元請が、その一部を下請け会社に発注し(2次請け)、その2次請けの会社がさらに3次請けの会社に発注と、ピラミッド構造の開発体制をとることです。
元請が自社の要員ですべてを開発できることは普通ありません。大規模なシステム開発は受注の波があります。どうしても受注時に下請け会社とプロジェクト体制を組むことになります。
下請け会社への発注は、サブシステム単位に分ける場合もあれば、開発工程で分ける場合もあります。どの部分を自社の要員で実施し、どの部分を他社に発注するかは、重要な経営判断になります。基幹となる部分、将来性のある部分、重要な部分などを自社の要員で担当し、その他の部分を発注することになります。
重要度が低いと判断したプロジェクトでは、そのほとんどを下請け会社に発注する場合もあります。同様のことは、2次請け、3次請けにも言えます。
それではなぜ多重下請けが悪いとされるのでしょうか。問題だとされそうな点について考えていきます。
適切な対価が払われない
ピラミッド構造の下の層になると、中間マージンが大きくなり、技術者の給与が低くなるという意見があります。
どの会社にどの部分をいくらで発注するかは、市場原理で決まります。高度で他社にはない技術を保有する会社は、高い金額で仕事を請け負えます。その会社の技術者の給与も高くなるはずです。
スキルの低い会社は、低い金額でしか仕事をとれなくなります。そういう会社の技術者の給与は低くても仕方ありません。価格以外に競争力がない会社の問題です。適切な対価が払われないということではありません。IT業界の対価は市場原理で決まっています。
技術者が分業化される
日本のIT業界には、ソフトウェア開発を製造業の工場のように扱う会社があります。製造業において設計と製造が分離されているように、ソフトウェア開発でも設計とプログラミングを分離します。
設計はスキルも単価も高い技術者が担当し、プログラミングはスキルが低く単価も安い技術者にやらせて原価を下げようとします。プログラミングだけを下請け会社に発注することもよく行われます。
しかし、ソフトウェア開発は設計とプログラミングを分解しない方が良いものができます。プログラミングをしているときに良いアイデアが浮かぶことがあるためです。実際に動かしてみて、設計を決めた方が良いことも珍しくありません。設計とプログラミングを分業していては優秀なソフトウェアエンジニアは育ちません。
しかし、これは仕事の進め方の問題です。日本のSIerを中心としたIT業界の問題です。多重下請け構造で発生しがちなことではありますが、多重下請け構造だから発生することではありません。
技術者が育たない
ピラミッド構造の下の層で、他人の作成した仕様書に従いプログラミングだけを担当していると、プロジェクトの全体もシステムの全体もわからなくなります。システムの目的は何なのか、そもそも何のシステムを作っているのかもわかっていない人が出てきます。仕様書に基づくプログラミングだけをやっている限り、スキルの進歩が望めません。
逆に元請では、プロジェクトマネジメントばかりを行うことになります。自分でプログラミングすることはありません。プログラミングのスキルはまったく身につきません。
ピラミッド構造の体制の下で、限られた部分の仕事だけをしていると、そこで進歩が止まります。開発工程別役割分担だけでなく、技術面の役割分担でも、古い技術ばかりを担当していると、最新の技術は身につきません。
多重下請け構造では、会社ごとに担当する開発工程、技術分野が決まります。技術者にとってみれば、同じ開発工程、技術分野ばかりを担当することになりがちです。その結果スキルの停滞が起こります。
会社の中のジョブローテーションで解決することが望ましいですが、同じような仕事ばかりを受注している会社では、それもままなりません。
日本社会の雇用の流動性のなさが、それに拍車をかけます。新しいスキルを身につけるため、会社を替えようとしても米国に比べればまだまだ転職は困難です。
理想的には、ソフトウェア開発を行う会社が、必要な技術者をその都度雇用することが望ましいことです。雇用の流動性が高ければ、技術者は、世の中で必要とされる技術を身につけ、その技術を必要とする企業を渡り歩くことができます。
この問題も業務の分担やジョブローテーションの問題です。あるいは雇用の流動性がないための問題です。多重下請け構造で起きやすいことではありますが、多重下請け構造だから起きることではありません。
その他
多重下請けは技術者を交換可能なモノとして扱うという話がありますが、それは発注側の意識の問題です。経歴の詐称や偽装請負が行われるという話もありますが、それは会社の法令順守の問題です。いずれも多重下請けの問題ではありません。
まとめ
多重下請けによるピラミッド構造の開発体制は、大規模な受託開発を効率的に進めるための必然です。多重下請け自体が問題なのではありません。
多重下請けによるピラミッド構造をとることにより、設計とプログラミングの分業が起こりやすくはなります。また、同じ開発工程、技術分野ばかりを長年担当することによるスキルの停滞が起こりがちではあります。
しかし、いずれの問題も多重下請けのために発生する問題ではありません。真の問題をきちんととらえることも大切なことです。
【関連記事】