日本のIT現場で、日々当たり前に進められているシステム開発。しかしそこには、世界の常識とは大きく異なる部分がある。例えば、米国の先進的な開発モデルに精通する楽天のJames Chen氏(執行役員 楽天市場サービス開発・運用部 部長)は、多数の細かなテストを手動で実施するのは、米国ではもはや一般的なやり方ではないと述べている。

 別のやり方を知っている外国人の目を通して日本のシステム開発を眺めると、他国に見習うべき点や日本の良い点が浮かび上がってくる。より優れたやり方があれば改善を図り、良い点はさらに伸ばすことで圧倒的な強みへと引き上げたい。日本と米国のいいとこ取りをした楽天市場の開発現場のように、第三者の視点で長所や短所を見いだし、現場を変革しよう。

 本特集では、日本のIT現場で活躍する外国人エンジニアや、グローバルなシステムの開発に携わることが多い日本人エンジニアへの取材を通じて浮かび上がった、日本と外国のシステム開発の違いについて紹介する。それらを、「ベンダーとユーザーの関係」「開発手法」「ITエンジニア像(姿勢)」の三つの断面で示す。

一方的に文句を言われる立場

 ベンダーとユーザーの関係の差異により、ITエンジニアが置かれる立場には違いが生じる。外国人の目からは、「日本のエンジニアはがんじがらめの状況にある」と見られている。

 ユーザーが曖昧な要件を示しただけで、開発作業についてはベンダーに丸投げし、後でダメ出しすることがある(図1)。その際、エンジニアが「仕様通りに作ったものなので、変更が必要なら相当のコスト負担と納期の延期を求める」と主張すると、もめごとになる。それを避けようと、開発現場ではユーザーに「NO」と言えずに変更要望を受け入れてしまう。そして、残業や休日出勤によって工数増をやりくりする。

図1●丸投げして、後でダメ出し
図1●丸投げして、後でダメ出し

 こうした現場の実態が外国人エンジニアの目には「エンジニアがユーザーから一方的に文句を言われる立場に置かれている」ように見える。顧客志向の観点からすると、ユーザーの声に耳を傾けることはおかしくはない。しかし外国人には、それが度を超えていると映るのだ。

 もちろん、ベンダーとユーザーの関係のすべてが外国人からおかしいと思われているわけではない。例えば日本のプロジェクトメンバーの固いチーム結束力。日本と中国のシステム開発に詳しいソフトロードの石 静氏(シニアマネージャー)は、「メンバーが協力し合って良いシステムを作り上げていくのは、日本の開発現場ならではの強みだ」と話す。