私は、日本のエンジニアに、よりハッピーになって欲しいし、そうなれるはずだ、といつも思っているので、こういうテーマになると、つい話が前のめりになりがちなので、「まぁ落ち着け」「いやそれは違うだろ」「余計なお世話だよ」等、同業者の方からの愛あるツッコミは歓迎です。
さて、前回のエントリで、日本のITとりわけソフトウェア業界は、もう少し再編されたほうが良いのではないかと書いた。なぜそう思ったのか、もう少し(主にソフトウェア会社側の思惑という観点から)補足しようと思う。
IT業界では、エンジニアの生産性は、人によって10倍程度差があるとよく言われる。→プログラマの労働条件を過酷にしているのは、過酷な労働条件を受け入れるプログラマです
しかし、優秀なエンジニアが10倍給料をもらっているかというと、そうではないと思う。この原因を想像すると、
- 「AさんはBさんより10倍生産性が高い」ということが、測定しづらい。明確にソフトウェアの構造がモジュール化されていない状態でも、「あうんの呼吸」で全員が渾然一体となって仕事を進めることが多く、個々人のパ
フォーマンスが相互に依存し合っているので、個々人の成果が分かりづらいし、本人も「自分はあの人より10倍働いた」と主張しづらい(「能ある鷹は爪隠す」みたいな、文化的なものもあるかもしれない)。
- 厳密に個々人の生産性を測定するモチベーションが働いていない。顧客にとっては、エンジニアごとの生産性の差を識別するすべがない・その価値がよく分からないので、生産性10倍だからと言って、10倍の単金をチャージできない。エンジニアの人数が多くなると、一人一人の能力に応じて価格設定するのは現実的でない。(計算が面倒だし、下請・孫請・派遣など、色々な会社のエンジニアでプロジェクトが構成されることが多い。しかも、内訳を厳密に顧客に提示することはまずない)丸めて、「1人月幾ら」「1LOC当たり幾ら」と平均化した価格に落とさざるを得ない。
もう一つの観点として、日本のソフトウェア開発のアプローチは「工場」的(マイケル・クスマノ「ソフトウエア企業の競争戦略」より)だということもあるかもしれない。なるべく、属人的な能力の差によって品質にムラが出ないようにしているということだと思う。きちんと比較したことがないので推測だが、日本の方が、より組織内での標準化を進めているということかもしれない。もしくは、元々ソフトウェアの専門教育を受けていない若い社員を、徒弟制度のごとく先輩社員と組ませ、OJTで育成する過程で、組織のやり方を教えて行くことが多いからというのもあると思う(個人的な実感にも近い)。
ニワトリとタマゴかもしれないが、上述のような状況を踏まえると、日本のソフトウェア会社の基本的な行動規範は、「一人一人のエンジニアの開発能力をなるべく標準化・定型化し、会社全体として稼働率をあげる」方向に向かいがちである。黙って会社に座っていても、ゴリゴリ働いていても、同じ給料を払うんだったら、少しでも社員の稼働率を上げたい。しかも、顧客に請求する額というのは「掛かった時間」「生産した量」だから、部品の再利用やパッケージソフトウェアによって今回作る量を減らすというモチベーションは働きづらい。そもそも、「この機能だったらこのパッケージが使えるからそうしよう」と提案しても誉められない・評価に繋がらない(そういう行動規範がない)し、慢性的に残業が多くて他のプロジェクトの状況を知らないので部品化・再利用もなかなか進まない、だから毎回一からゴリゴリと作る、というループに陥りがちなのではないか。
もう一つ、日本のソフトウェア会社が「生産性をあげる」時に向かう方向は、「少しでも安い人件費でエンジニアを調達する」ことだ。業界全体が過当競争なので「仕事がなくてもエンジニアには給料を払わなきゃいけないんだから、値段が安くても仕事がないよりはまし」になっているか、あるいは、「ここで仕事を取っておきさえすれば保守運用もあるし、次の仕事にも繋がるし」という思惑で、価格を下げる会社が多いのではないかと想像している。
「こんな値段じゃ作れない」と、自社の基準に満たない仕事は断る、それで資金繰りが回らなくなったら、その会社は市場から撤退して、エンジニアは他の会社に移る。こういうサイクルが回るような環境があれば、そのほうがエンジニアは幸せなのではないか?(あと、書きながら思ったが、そもそも、採算ラインを割るような無茶なオファーは、足許を見られているから来るわけなので、そういう条件の悪い仕事しか来ない分野からは撤退した方が良いようにも思う。あるいは、システム開発自体、ソフトウェア会社による差異化があまりなく、コモディティ化している、ということかもしれない)
では、どうすれば脱コモディティ化や生産性向上ができるのか?だが、今のところ、これについての私の個人的な意見は、やはり「部品化」「パッケージソフトウェア化」である。なんか当たり障りない意見で申し訳ないのですが。
今の日本では、パッケージソフトウェアは、まだまだ市場としての規模が小さい。
経済産業省「特定サービス産業動態統計」に基づくJISAの発表によると、平成17年の日本の情報サービス産業は約10兆円(9,726,785百万円)、そのうちソフトウェア開発・販売が7兆円(6,934,075百万円)、そのうちパッケージソフトウェアと思われる「プロダクト」は1兆円程度しかない。しかも、プロダクト型のうち、4割はゲームソフトらしい。日本におけるパッケージソフトウェア単体での販売は、7,000億円弱、つまり、ソフトウェア産業全体のうちパッケージソフトウェアは1割程度ということになる。(※1)
が、これまた根拠も何もない超主観的な直感として、まだまだパッケージソフトウェアによる標準化が可能な領域はたくさんあるのではないか、と思う。前もブログに書いたことがあるが、グローバル市場のトレンドではパッケージソフトウェアは2割ぐらいなので、今でも倍はいって良いはずだし、今後はもっと増えるかもしれない。「生産効率の高いシステム提案で,エンジニアは早く家に帰ろう」──ソフトブレーンの宋文州氏が講演:ITpro には、個人的には激しく同感。ただ、同時に、パッケージソフトウェアをもっと増やすためには変えたほうが良い点は色々あるとも思う。どうなったら良いのか?についての私の考えは、また次回書こうと思う。
(すいません、細切れで。。。でも、ブログって、長くて複雑な話を書くのは難しいので、「本って完全にはなくならないんだろうな」、と、「ウェブ人間論」での梅田さんのコメントに改めて納得する私。)