ウォーターフォールと多重請負の構造問題(2)

2018年8月7日火曜日

システム開発 システム業界問題

t f B! P L
 今回は「○○である」調で文書を書きます。

多重請負化の深化とその理由


IT多重請負の現状


 IT業界中で企業用業務システム(エンタープライズ系システム)の受託開発を行っている業界をシステムインテグレータと呼び略称としてSIer(エスアイアー)と呼ぶ。
 SIer業界は通常1社ではなく元請け、2次請け、3次請けという具合に多重請負構造により複数の会社で構成される。1社で受託開発している会社ももちろん存在するが大半が多重請負構造の中で要件定義・設計・開発を別々の会社で分業で行う傾向が多い。発注元企業のシステム部門を頂点に元請け(1次請け)、2次請け、3次請け、4次請け、5次請け....という具合に多重請負の巨大なピラミッドが形成されている。ピラミッドの上の方はある程度階層が固定されているが下の方は必ずしも固定されている訳では無い。3次請けから8次請けまではそのときの運とタイミングで階層が決まる。たまたま自社の人員に余剰があり2次請け企業の募集と運良くタイミングが一致すれば3次請けに入り、5次請けぐらいの募集ぐらいしか無ければ6次で入るといった感じである。上の階層なら良いのかといえば必ずしもそうではなく、大企業などの大型案件の8次請けと零細企業の3次請けでどちらが良いかは分からない。

 大口案件なら8次請けまで階層があり小口でも3次請けぐらいは当たり前である。
 日経コンピュータの木村岳史氏はこの体制を3層構造に分けて説明している。「第1層が仕事を取り、第2層が人を集め、第3層が人を出す役割」と説明している。
ITの多重下請けは3層構造、ブラック業界の本質を知るべし
私も中で働いていた経験上、適切な説明だと思う。

 1層はだいたい大手で営業に力を入れている。2層は広いオフィスを確保し少数の正社員ITエンジニアで構成されている。普通オフィスが広い割に社員の人数は少ない。客先常駐を主に行っている場合はその限りでは無い。3層は主にSES(システムエンジニアリングサービス)と技術者派遣会社とフリーランスの仲介業者である。技術者派遣会社以外は十中八九「偽装請負・多重派遣」の違法労働である。

 それぞれの階層は1社ではない。1層が1次請けと2次請け。2層が3次請けと4次請け。3層が5次請けから8次請けまで。というように層の中でまた多重請負化している。
 多重請負化している為、各受託会社ごとにマージンを取るので全体のマージンの割合は大きくなる。ひどい例で言えば「1次請けがITエンジニア一人に月単価80万円支払っているのに当のエンジニアは月給18万円しか受け取っていない」などということが起きる。単価と給料では会社が必要とする経費が計算に入っていないので不公平かも知れないが、それを計算に入れてもマージンが高すぎるだろう。通常の派遣会社のマージンは30%程度である。受託でそれ以上のマージン率が必要なら、業態を派遣会社に変更すべきだろう。発注元に直接派遣すればエンジニアの給料が40万円でも月単価52万円で雇える。フリーランスの仲介業者ならマージンは精々20%代前半である。
 今の話は人月単価の話だがシステム開発単価でも同じことがおきる。

 多重階層の1層は通常ならシステムの提案や企画立案を担当し、2層が要件定義や基本設計を担当し、3層が開発を担当する。
 但しこれは理想論である。
 現実は1次請けが受注して2次請けに丸投げし、2次が提案を行い、3次が基本設計、4次が詳細設計と開発をする。4次は正社員が少ないので、SES会社にITエンジニアの派遣を依頼する。5次のSESは必要な人員を全て自社で揃えられないので他のSESに声をかけて人を集めてくる。呼ばれた6次SESも人不足で同じ事をする。結果として最大8次請けぐらいに多重化する。当然全ての会社がマージンを取る。

 発注元がどれだけ無駄金を支払っているか想像が付くだろう。

何時から何故、多重請負化したのか


 私は1990年代から20年以上IT業界で働いているが、90年代から2000年代前半は多重請負というものは見たことがなかった。2000年代後半から受託開発が多重化し初め2010年代に悪化していったと認識している。
 ちなみに私は上記の「3層」全部経験したことがある。多重階層は最大5次請けを経験した。若いときは多重階層が存在しなかったので1次請けで開発していた。私が多重請負を直接目にするようになったのは2011年以降である。プログラムの組めないSEというものを見たのもこのころからである。それまではSEがプログラムを組まないなどあり得ない話だった。
 多重請負は大規模開発で行われやすく、98年に一度3ヶ月だけ多重派遣を経験したことがある。しかし当時は中小規模開発では多重化していなかった。精々2次請けぐらいである。2010年代には中小企業の小規模システム開発でも設計と開発は別会社でSEプログラマーは多重派遣になっていた。この時期SEやプログラマーは同じ会社の同僚と働けない時代になっていた。個人単位で別の会社に派遣されるためである。契約は準委任契約で偽装請負だ。

 時期から考えてもデフレによる不景気の進展と多重請負の深化の歩調が合っているように見える。デフレが始まったのは1998年9月でありその後年率1%づつ物価が下がっている。GDPも同時に減少している。

なぜ多重請負化するのか


 多重請負化のそもそものきっかけは発注元であるユーザー企業が、自社の業務システム開発を外注することにある。今でこそ外注は当たり前だが25年ほど前はそれほど当たり前ではなかった。そもそも当時はまだメインフレームが多く使われておりシステムの開発はとても時間と金の掛かるものだった。現在のオープンシステムも使われていたがこちらもネットワークやデータベースなど今では当たり前のミドルウェアを自作しなければならなかったりして決して安くできるものではなかった。
 システムを活用できる企業は潤沢なシステム開発費を用意できる大企業だけであり、それらの企業は通常は自社でシステムを内製していた。外注も一部行われていたがシステムの中枢は自社で作り周辺部を外注するという具合に、あくまで内製が中心だった。だいたいメインフレームのような大規模な機材を社外に持ち出せるはずが無い。オープンシステムも当時は現在のように標準化されておらずネットワーク機材など各社独自に構成していた。結果的にシステムの大半は内製するしかなかった。

 しかしオープン化の進展とWindows,Solarisに代表されるOSとTCP/IPなどのプロトコルの標準化によりシステム開発の外注が容易になり且つ機材が安価になった為、システム開発は外注されるようになり、また中堅中小企業にも広がっていった。

 1990年代はまだ多重請負は殆ど無かったと思う。少なくとも当時私は聞いたことが無い。当時は元請けが設計・開発・テスト・納品・サポートまで全部やっていた。それほど大きな会社でなくとも元請けで開発していた。だから当時のプログラマーは初めから設計開発を一環して行っていた。SEとプログラマーを明確に区別することはなかった。
「SEとは発注元と打ち合わせしながらデータ構造を頭の中で設計できるプログラマーのことだ」当時の課長がそのように言ってた。
つまり当時「SE」とは「能力」や「スキルレベル」を表す程度の意味で具体的な定義は無かったのだ。

 2000年頃からシステム外注案件に二つの変化が現れたように見える。
 一つは大企業のシステム外注案件で「客先常駐」の開発案件が現れてきたこと。
 もう一つは業務委託契約で派遣労働を行う「偽装請負」が登場し始めたことだ。

 前者はまだ「偽装請負」ではなかった。客先常駐ではあったが顧客の指揮命令が無かったからだ。当時の客先常駐は設備などの都合で純粋に場所を客先に借りているだけだった。受託開発業者は開発チームで客先に常駐し自らの指揮命令の元で作業していた。労働時間の管理も自分達で行い客先に従じることは無かった。

 後者は持帰り案件の話だ。開発自体は受託社が自社持帰りで受ける。ただ自社の社員だけでは人材が不足する為、他のシステム会社などから事実上の派遣で来てもらう。

多重請負の深化


 1995年以降、Windows95, Windows NT, Solaris, AIX, TCP/IP, イーサネット, Oracle といったオープンシステム系のデファクトスタンダードが定まり開発したソフトウェアが改造なしでどこでも動くようになった。
 これによりオープン系システムの開発コストは激減し、システム開発の需要は拡大した。だいたいITバブルのころである。
 2000年にITバブルが崩壊し2005年までIT需要は停滞する。
 2005年から2007年まで成長するが2008年から2009年リーマンショックで下降。2012年まで停滞。
 2012年以降アベノミクスで上昇。

 2000年代は全体としてシステム需要は停滞下降を続けていた。

 1990年代にシステム外注化を進めていたユーザー企業では景気低迷を受けてコストダウンに乗り出す。業務システムもその対象となる。従来社内の正社員ITエンジニアによって設計開発していたシステムはやがて開発のみ外注しするようになり自社でプログラミングをしなくなっていく。
 プログラミングをしばらくしなくなると技術が空洞化して設計力も劣化していく。同時に不景気によるコストダウンの圧力が掛かり設計も外注するようになる。
 これが悪循環し、やがて本来発注元が書かなければならない要件定義書も外注(意味がわからん)するようになり、2012年ごろにはシステム外注業者の管理しかやらなくなってしまった。(全てがこうではありません)

 これと同じことが下請けシステム会社でも起きる。設計から受託して開発していた会社が開発だけ別の割安な会社に外注する。やがて発注元がより前工程を外注してくる。下請けは直下の後工程を更に下請けに外注する。

 これと同じことが下請けの下請けでも起きる。設計から....
 という具合に「下請けから下請けへ」と手間が掛かり利幅の小さい開発を下へ下へと追いやっていく。
 その結果として今の多重請負体制がSIer業界全体に形成されてきた。

 現在のSIer業界の多重請負ピラミッドの上の方は技術的に空洞化していることが多くなってきた。技術を持っている人は大抵50代のベテラン組でそれより下はプログラミングすら出来なかったりする。出来ても熟練度が足りない。それどころが技術に興味が無かったりする。

 私は1990年代に大手製造業の下請けで開発をやっていた。
 発注元企業は私たち下請け企業と共に設計も開発も行っていた。
 分割されたモジュールを発注元と下請けで分業し共同作業でシステムを開発していた。当時の発注元は会社にもよるがそのような感じだったのだ。技術的にも優秀だった。今の何もしない発注元とは比較するのも馬鹿らしい。

 2000年代前半も要件定義書は発注元が書いていたし当然に要件定義書の内容には発注元が責任を持っていた。2007年頃から社会状況が悪化し開発の現場は超過労働で劣悪になった。このころ炎上案件も増えたと思う。

 2011年頃になると発注元はシステムに関しては完全に素人になっていた。ちなみに発注元は社内のIT部門だったり、大手SIerである。

多重派遣の拡大(偽装請負)


 2000年頃から受託開発において不足する人員を外部から一時的に調達するようになったように見える。大規模開発においてはそれ以前から似たようなことは行っていたが
 1999年は派遣の自由化が始まった年でもある。派遣労働の適用対象業務の原則自由化が行われた。それでも上記のような派遣は違法である。

 2000年代は派遣労働法の規制が緩和を繰り返していた年だ。
 2000年、「紹介予定派遣」が解禁
 2003年、製造業務への労働者派遣が解禁。26業務以外、派遣期間「最大3年」まで延長。
 2007年、製造業務の派遣期間が最長3年に延長。
 このころに特定労働者派遣事業(届出制)を主にITエンジニアの派遣を行うSES業者が広がっていった。
 当初のSESは合法派遣で行われていたようだが、やがて多重派遣が行われるようになる。派遣労働法では多重派遣は違法だが、SESでは契約上は「準委任契約」で受注し「客先常駐」で開発作業に従事する。実態は顧客の指揮命令を受け「働く場所」も「働く時間」も指示される「派遣労働」そのものである。法的に認められない「多重派遣」を実施するために契約上は「準委任契約」で受注するのである。
 システム開発の多重請負化の進行と同時に多重派遣が深化していった。

人的レバレッジ


 3層に当たる受託開発業者はシステム開発案件を安定して受注できないので多くの正社員を抱えることが出来ない。その結果として「派遣ITエンジニア」を全体の8割雇ってプロジェクトが終わるたび解散していた。案件の無いときは派遣をクビにすれば良いので赤字になりにくい。
 派遣を多数抱えることにより本来の自社の開発力の何倍も大型の案件を受注し何倍も稼ぐことができる。
 派遣ITエンジニアの所得と人生と健康を犠牲にしながら。
 3層はだいたいこれが普通である。

多重請負でコスト削減に成功したのか?


 以上のようにSIer業界の多重請負体制を作る原因を作っているのは、他ならぬ「発注元企業」なのである。
 多重請負で損害を被っている顧客が「自分の蒔いた種」で苦しんでいるのだ。長期的に見て「自業自得」と言わざる得ない。

 多重請負体制は元々大企業発注元企業がコスト削減を目的に実施してきたものだが、明らかにコスト削減に失敗している。コスト削減どころか自分でコストを制御出来なくなっている。発注元や元請けのやっていることは結局のところ下請けに対して「値下げ圧力」をかけているだけだ。
 例えば人月商売は発注元や元請けが下請けのコストをコントロールする手段としてかなりしつこく利用されている。下請けは人員を追加したくても発注元や元請けの承諾が無いと人員補充ができない。これで発注元や元請けはこれでコストコントロール出来ているつもりでいるのだが、実際は多重請負体制の中、突発的に都合の良い人材を調達するのは難しいので人売りネットワークに大きく依存することになる。この人売りに掛かっているマージンコストがコントロール出来なくなっているのだ。結果的にシステム開発コストはマージンコストを制御できない状況になっている。人月を過剰に管理しようとした結果として人材の流通を制御できなくなっている。そこを無数の人売りに利用され膨大なマージンを支払っているのがSIer多重請負業界だ。
 SIerには少数だが多重請負ネットワークに参加していない会社もある。こういう会社は発注元から直受けで受注し自社の正社員だけでシステムの開発を行う。そして多くの場合既に十分な顧客を抱えており新規顧客をそれほど多く募集していない。8割方既存顧客で回る。正社員だけでシステムの開発を行うから捌ける依頼の数に限りがあるわけだ。
逆にそれほど大きくないのに大量の依頼を捌ける会社は下請けに丸投げにしている可能性が高い。
 人月商売の原因が発注元にあるのか受注側にあるのか私にも分からない。今ではSIer業界の慣習として広く深く定着している。しかしこの慣習はコスト制御の手段としては失敗であり、この慣習があることにより他のコスト管理が採用し難くなっている。

 結論として多重請負は当初の目的とするコスト削減を満たすことは無く、逆に人材の流通を制御する手段を失ったことにより、マージンコストを制御できなくなっている。結果として逆にコスト高の原因になっていると言わざる得ない。

 この記事は私の視界に入る環境と見聞きした情報を元に書いているため、異なる環境に棲む人々にとってはまったく異なる話に聞こえるかもしれない。SIer業界の特に経営者や多重請負のピラミッドの上で働く人々にとっては業界の印象を悪くする不快極まりない言動に聞こえるかもしれない。
 ただハッキリ言わせて貰えばピラミッドの上の人々はピラミッドの下の人々がどんな働き方をしているのか全く知らない。SIer業界については世間でも色々言われており私の見る限り言われている話はだいたい「事実」である。
 「非の無い所に煙は立たない」と言うが一つ二つぐらいの煙は非が無くとも立つだろう。しかし数十数百という煙が立つならやはり炎上が起こっていると考えるのが自然だろう。

 言いたいことは山ほどあるが、今日はこれまでとする。途中で区切ることができず長くなってしまった。

このブログを検索

Translate

人気の投稿

自己紹介

自分の写真
オッサンです。実務経験は Windows環境にて C#,VB.NET ,SQL Server T-SQL,Oracle PL/SQL,PostgreSQL,MariaDB。昔はDelphi,C,C++ など。 趣味はUbuntu,PHP,PostgreSQL,MariaDBかな ?基本無料のやつ。

QooQ