システム開発においてアジア各国のソフト会社に開発を委託しようとする気運が高まっている。しかし,過去にも何度か“ブーム”に終わっており,自社のプロジェクトに適用し成功させることは難しい。技術的に主導権を握り,「活用はするが依存しない」体制で臨まなければ失敗する。インド,中国,ベトナムなどのソフト会社を適材適所で活用してきた経験を基にポイントを解説する。

岡崎 邦明

本記事は日経コンピュータの連載をほぼそのまま再掲したものです。初出から数年が経過しており現在とは状況が異なりますが、この記事で焦点を当てたITマネジメントの本質は今でも変わりません。

 IT(情報技術)産業のグローバル化によって,インド・中国はもとよりアジア各国で,優秀なプログラマやSEが大量に育成されている。ソフト開発においてこれらの外国人エンジニアを活用すれば,開発コストの削減,最新技術の採用,海外での事業展開の基盤構築,というメリットを享受できる。

 アジア各国のソフト開発エンジニアの人件費は,日本に比べるとかなり低い。国によって大きく変わるが,インドでは日本の2分の1から3分の1,中国では3分の1,ベトナムでは5分の1程度だ。

 海外にはJavaなど新技術を習得したエンジニアが豊富にいることも魅力だ。現在,日本ではJavaを使ったシステムを開発できるエンジニアに対する需要は多いが,供給が追いついていない。不足しているエンジニアを海外に求めるのは有効な対策の一つである。

 海外のエンジニアを活用してソフトを開発すれば,各国に市場参入する基盤を構築することもできる。開発した製品やその派生品を現地向けにローカライズするのは容易であり,現地でのメンテナンスにも対応しやすいからだ。インドや中国,ベトナムの技術者は,英語仕様のソフト開発にも慣れており,その能力をベースに世界各地の製品を開発することもできる。

 優秀なソフト開発エンジニアがアジア各国で育ってきたことは,10年以上前から日本でも知られていた。中でも1990年代半ば,オープン・システムが普及し始めたとき,UNIXあるいはパソコン・ベースのシステムに強いインドに,システム開発を委託する日本の企業が相次いだ。しかし,言葉や慣習の差があることを軽視したために,失敗したプロジェクトも多かった。

 当社は1994年からインドのソフト会社に,流通や金融向け組み込みシステムや基幹系オープン・システムなどに利用するソフトの開発を委託し始めた。以後毎年,数百人月分の案件を,インドを含むアジア各国で開発している。途中で困難な事態に直面したこともあったが,これまでプロジェクトを一つも頓挫させたことはない。現地のエンジニアの考え方や行動を深く理解するように努力してきたことが,プロジェクトの破たん防止に役立ったと思う。

 今後,ソフト開発はさらにボーダーレス化するだろう。各国の外国人エンジニアを管理する能力を日本のプロジェクト・マネジャが備え,同時に会社全体でプロジェクト・マネジャをバックアップできる体制を整えねばならない。そのような体制を構築できれば,外国人エンジニアを適材適所で柔軟に活用することが可能になる。ここでは,これまでの経験を基に外国人エンジニア活用のポイントを解説する。

オフショアとオンサイト開発を併用

 外国人エンジニアに開発を委託する方法には,オフショアとオンサイトの2通りがある(図1)。オフショアとは,海外のソフト会社に開発を委託することである。物理的に距離が遠く,コミュニケーションがしにくいという欠点があるが,開発コストを大きく下げられるというメリットがある。

図1●オフショア開発とオンサイト開発の違い。オフショア開発では,現地のソフト会社の外国人エンジニアに開発を委託する。オンサイト開発では,日本企業の内部に外国人エンジニアを呼んで開発する
図1●オフショア開発とオンサイト開発の違い。オフショア開発では,現地のソフト会社の外国人エンジニアに開発を委託する。オンサイト開発では,日本企業の内部に外国人エンジニアを呼んで開発する

 オンサイトとは発注する日本の企業内で開発を進めることだ。外国人エンジニアが日本に出張して滞在する。直接話ができるのでコミュニケーションは容易だが,日本での生活費,海外からの渡航費などが必要でコスト高となる。

 実際には,このオフショアとオンサイトとを組み合わせることが多い(図2)。オフショアとオンサイトは別々に論じるべきものではなく,目標達成のためにうまく組み合わせることが重要である。

図2●ソフト開発の海外委託パターン。日本でのオンサイト開発と,現地でのオフショア開発を組み合わせる場合が多い
図2●ソフト開発の海外委託パターン。日本でのオンサイト開発と,現地でのオフショア開発を組み合わせる場合が多い

 効率がよくリスクの小さいオンサイト開発で外国人エンジニアにソフト開発を経験させて育成し,少しずつ最終的な目標である低コストのオフショア開発にシフトさせて行くことが一つの方法である。また,プロジェクト期間中,常に日本の企業内(オンサイト)に少数の要員を配備して,日本と現地とのコミュニケーションをとりながら,開発の主体は低コストなオフショアで対応させる方法もある。

インドでの開発事例

あの手この手で頻繁に連絡をとる

 当社がインドの会社にソフト開発を委託するときは,もっぱら小規模のソフト会社を選択している。当社の要求に迅速にこたえてくれるからである。

 まず,財務関連システム・プロジェクトの事例を示そう。工数は70人月で,コスト削減のためにインドでのオフショア開発を中心に実施した。ただし,一部シンガポールやスリランカの人材も活用した。

 最初にインドからプロジェクト・リーダーとなるエンジニアを日本に呼び寄せ,オンサイトで仕様を打ち合わせた。日本側で要件定義から機能設計までを行い,次に,そのエンジニアがプロジェクト・リーダーとしてインドに帰国,詳細設計以降をオフショアで開発した。さらにオンサイトでインドのエンジニアが日本のエンジニアと共同で受入テストと修正を行った。開発期間は当初予定の11カ月から14カ月へと3カ月ほど延びてしまったが,オープン系の豊富な知識を利用したデータベース技術を利用しつつ,コスト削減の目標を達成した。

 日本に呼び寄せるインド側プロジェクト・リーダーを人選するときは,アプリケーション開発経験のほかに,業務や機器に関する専門技術とプロジェクト・リーダーとしてのスキルを十分に確認した。また,そのソフト会社には依頼したことのない分野の案件だったので,簡単なプロタイプを開発させ,インド側の仕様理解度および対応力を確認してから開発を推進した。

 このプロジェクトでは,英語・日本語・中国語の3カ国語に通じているシンガポール人を当社の子会社から人選し,コーディネータに任命した。当社では海外ソフト会社に開発を委託するときに,現地と日本の両方に詳しい連絡役となるコーディネータを置くことが多い。当社と海外のソフト会社の間で直接やりとりをすればよいと思われるかもしれないが,コーディネータを入れることによって海外とのコミュニケーションをより円滑にできる。

 このコーディネータのコミュニケーション能力は極めて高かった。例えば,日本人がインドのソフト会社にあてた4行の英語の電子メールを,このシンガポール人は当社の意図を確認しながら,インドのプロジェクト・リーダーやエンジニアに理解しやすいように20行の英文にしてきめ細かなコミュニケーションを行った。インドからのレスポンスが遅いときは,電話で要件や進ちょく状況などを確認し,電話で駄目なら現地に飛んでフォローをした。このシンガポール人は電子メール,電話,ファックスなどのメディアを広範囲に使い分け,効果的にコミュニケーションを進めた。電子メールのみに大きく依存する傾向が強い日本人は見習う必要がある。

 ドキュメントの英訳は,海外に居住し,ドキュメントの内容を理解できる日本人の専門家に依頼した。翻訳費用として300万円(全体のプロジェクト費用の1割強)を必要としたが,インド側での誤解はほとんどなく,翻訳コストは安価と言えるぐらいだった。