« 2008年07月 | メイン | 2009年03月 »

2008年11月04日

オフショアにおける人材のアンバランス

 システム開発を日本から海外に発注するオフショア開発は年々増加しています。しかし、オフショア開発は多くの問題を抱えています。今回は、人材育成についての問題を説明します。

 オフショア開発企業での技術者は、大学の技術系の学部を卒業して、もしくは専門学校でのプログラミング教育を受けています。入社前に基本的なプログラミングや開発環境についてのトレーニングを受けます。そして、すぐにプログラマとなり、コーディング作業を行ないます。日本では、プロラグマを2〜3年やって、後に設計ができるようになり、SEとなっていきます。ところが、オフショア開発ではSEではなく、プログラマの次はPM(プロジェクトマネージャー)になってしまいます。それは、オフショア開発では設計工程を行なうことがあまりないからです。設計工程は日本で行なってしまうため、オフショア側ではプロジェクトの管理、実装、単体テストしかなくなります。そうなると、オフショア開発企業にはSEがほとんどいなくなってしまいます。人材の比率が、非常にアンバランスになってしまうのです。

状況と原因をまとめると、以下のようなことが考えられます。

・日本で設計するため、設計ノウハウがたまらない。
・設計の教育を社員にすると、エンジニアが転職する。
・設計の指導をするトレーナー(教育者)がいない。

オフショア側に設計者がいないことによって、オフショアに出せる開発は、実装工程、単体テスト工程だけとなり、開発全体の1/5程度になってしまいます。このぐらいの規模であれば、オフショアによるコストメリットは得られません。
たかだか1/5のために、出張費、コミュニケーションロスのための手戻りなどがかかると、メリットはほとんどなくなってしまいます。
さらに、設計ができないプログラマによって書かれたコードは品質が悪く、保守費用が日本で開発したものと比較して3倍以上かかります。結果として、オフショア開発によりメリットを得られるばかりか、デメリットの方が大きくなります。不良資産を抱え込むのと同じです。

オフショア先での人材育成と人材マップが変わらなければ、今後はオフショア開発が減っていくでしょう。そんなオフショアで開発するよりも、アジャイル開発やUMLによるモデル駆動型開発によって、生産性を上げて、国内で開発した方がいいでしょう。

それでは、この問題の解決策はどうすればいのでしょうか?

それは、オフショア開発企業でも設計に関する教育をして、SEを育成するしかありません。もちろん、せっかく教育したエンジニアが転職してしまうかもしれません。しかし、設計できなければ、今後は開発の仕事を得られません。

次回は、弊社の中国での教育の実際を説明して行きたいと思います。

長瀬