本研究所では、日本と海外のIT技術およびその利用方法を比較し、両者の間にある格差について考えている。最近は、海外へシステムを発注する、いわゆるオフショア開発も珍しくなくなってきた。今回は、システムを構築する際の、発注する側と受注する側の格差について検討してみよう。

 海外へシステムを発注するときに最も困ることは、仕様変更である。銀行などの比較的仕様変更がないシステムは問題がない。すなわち、要件定義から、基本設計、詳細設計、開発、テスト、運用へとウォーターフォール型で川上から川下にきちんと流れるシステムである。

 しかしながら、多くのシステムは、画面やデータの仕様が途中で変わってしまう。「海外で作るほうが安い」というイメージが強いが、この仕様変更が多ければ多いほどコストが膨らんでいく。それだけでなく時間がどんどんかかってしまい、納期が発注者側の要因で延びる。

 発注者側はなんとか納期が遅れないよう頼む。すると受注者側は、なんとか間に合わせようと無理をする、あるいは、コストをかけられなくなり、より単価の安いプログラマに仕事を回すようになる。品質問題もからみ出し、そのリカバリーのためのコストも必要になってくる。

 こうした“悪循環”は別に、オフショア開発に限ったことではないはずだ。だが最近、「海外で開発をしたほうが、よりリスクとコストがかかる」といった相談を受ける機会が増えてきた。しかし、「本当に海外に発注しているから」起こっているのかどうか疑問が浮かぶ。問題を二つに分けて考えたほうが良さそうだ。

問題1:システムアナリストやプログラマの能力とコストの違い
問題2:発注者が作るRFP(提案依頼書)のクオリティ

 問題1は、優秀なプログラマを確保しようとすれば、例えば中国やインドに発注しても、日本のクライアントの予算では発注できないことが多い。中国だから、インドだからといっても、“質”を求めると結構大変である。最近のように国内需要が減ってくると、むしろ日本国内で発注するほうが安価なケースも増えている。

「何がしたいのか」が分からない

 問題2のほうが深刻だ。日本のクライアントを海外企業に紹介すると、必ずといっていいほど、「彼らは何がしたいのか?」と尋ねられる。しかし、この問題はそもそも、海外で作ろうが、日本で作ろうが関係がないはずである。

 筆者は、問題2は、日本人が自分で決断するのが苦手であるということからきていると思っている。どんなに良いシステムを提案しても、どんなに良いアドバイスをしても最終的にはクライアントが決めるべきであるのに、なかなか決められない。決めてもらおうと提案するとパッケージを要求される。要は、“お任せ”が好きなのだ。「何がしたいのか」という“ものさし”も持っていない場合が多い。