解雇規制が厳しいからです。ある企業が「よし、来月から半年間50人体制でプロダクト作るぞー」と思っても、雇用流動性がないので50人の(ちゃんとした)プログラマーを短期間で雇用するのは相当給与水準が高くないと不可能です。しかも半年後には解散か縮小することが分かっていたら、解雇規制が厳しい日本だと更に雇用は難しい。
なので派遣とかSES業者に人出しを頼むことになります。でもそういう会社も空き要員って常にプールしてる訳でもなく、大体他の案件に人が張り付いています。人が空いてるかどうかって運なんです。空いてたとしても50人空いてることは稀なので、その会社で埋められない要員は更に別の会社に依頼することになります。
これが繰り返されて、孫請、ひ孫受け、その先までいってようやく客先の希望要員数が充足します。
案件が長く続いて少しずつパフォーマンスの悪い末端要員がスイッチされたり、案件縮小のタイミングで多少多重構造が改善したりすることがあります。でも納期が短いと難しいですね。長い案件でも、マイルストーン毎の納期が厳しかったりとか。
多重構造は悪、SIerがあくどい人月商売してるからだ、みたいに言われますけど、SIerもそんなに儲かってないです。やりたくてやってるわけでもない。本当は全部自分らで請けたい。客先もそれを望んでる。でも人がいないから外で調達して自分らで管理するという形にせざるを得ない。人月商売批判する人は、じゃあどうすればそれなりのアウトプットを保証できる50人のプログラマを1ヶ月2ヶ月の短期間で用意できると言うのですか。やってみたことありますか。ちなみに多重にしないでスコープ削ると、スコープ大きめで請ける他社に持ってかれて失注します。そりゃ客も楽したいから。
解雇規制がもっと緩くなれば、労働市場に出てくるプログラマーも増えて、チームリーダー含めそのプロジェクト用に直接プログラマーを雇い、完成したら縮小または解散、のようなことも出来るようになると思いますが、まあ当分は無理でしょう。