オフショア開発の波に乗る前に一服しませんか?/戴 春莉

■「システムエンジニア」はシステムを知らなくでもいいのか?
 1970年から80年代にかけては、ソフトウエア開発の需要が急増し、ソフトウエ
ア技術者が不足している中、新卒者がまだソフトウエア開発やプログラミング技
術などを十分に修得しなくても開発プロジェクトに参加させ、「システムエンジ
ニア」の仕事を企業から任されることが多かった。データの構造、システムの仕
組み、アーキテクチャの設計などを理解しないまま、システム設計を進めること
もあった。その結果、作ったシステムが動かない、或いは、ユーザーの要望に合
わないものとなる。また、アーキテクチャの設計をせず、シンプルな処理でも複
雑な仕組みをし、開発コストが増加し、メンテナンスの負荷も大きくなってしま
うケースも少なくなかった。そこでは、プロジェクトの中断・キャンセルなどに
至ることも散見された。
 バブル経済の崩壊によって、企業がコストを重視し、失敗してもいいという
“甘い時代”が終わり、開発コストを如何に抑えるのかは、各ITベンダー企業が
システム開発を売り込む上で最大の争点とされるようになってきた。数年前より、
いろんなIT企業が開発コストを抑える手段の一つとして、海外でのソフトウエア
開発事業の展開、すなわち、オフショア開発を始めた。過去のオフショア開発で
は、上流工程は日本の「システムエンジニア」が担当し、コーディングだけを海
外に依頼することが主流になっていた。しかし、低コスト、短納期、高品質とい
うオフショア開発のメリットを発揮することのできない企業が多く、その原因の
一つとして、ユーザーが望んでいる「するべきこと」、「あるべき姿」を上流工
程で得られなかったことがあげられる。

■ユーザーになりきれない「システムエンジニア」は、ユーザーのシステムを
 エンジニアリングできるのか?
 私の10数年間ソフトウエア開発経験の中、「失敗した」という経験はなかっ
た。なぜ、ここまで言い切れるのか? それは、私自身が情報処理技術者でもあ
り、ユーザーでもあるからだと思う。自分の経験では「システムエンジニア」は、
まずエンジニアであること、その意味は、システムの視点と設計技術を知った上
で、システムをエンジニアリングすることである。そして、情報処理技術を知っ
ている「システムエンジニア」は、「上流工程」に進む前に、まず、自分自身が
ユーザーになり、ユーザーの気持ちを理解することが、大変重要だと思う。ユー
ザーの身になりきれなければ「上流工程」をうまく進めることはできない。しか
し、現在のIT業界で、動かないコンピュータ、失敗したプロジェクトが多いのは、
情報処理技術を知らない「システムエンジニア」が、ユーザーの気持ちをよく理
解できずに問題を洗い出せない、技術を知らないので解決のポイントが見えない、
プログラマに処理すべき情報を正しく伝えられないからである。
 本来、「システムエンジニア」は、情報処理技術とユーザーの業務システムの
両方を知った上で「上流工程」を進め、技術についてはすべて技術者に任せるべ
きではないか。「システムエンジニア」は、エンジニアとしての色がだんだん薄
くなってきているのが、現在のIT業界スタイルの一つになっている。

■以前の素晴らしい「システムエンジニア」の開発スタイルを活用することが
 できるのか?
 数年前まで、日本の上流工程は、有能なベテランの「システムエンジニア」が
担当していた。彼らは、ユーザーの抱える課題・要求・要望を細かく分析し、ユ
ーザー毎にシステムを考え、機能、パフォーマンスなどのデザインを精密に設計
し、機能性、人間性、創造性、そして企業の強み、思い、使う人に与える無形の
メッセージ、・・・、形のない想いをソフトウエアに与えてきた。他の分野のデ
ザイナー達と同じく、ユーザーのための気配りの心は、品質とサービスに優れた、
日本のソフトウエア職人魂を創りあげてきた。そして世界中のソフトウエア技術
者に尊敬されてきたのである。
 私は、情報処理技術者でありながら、美術に対する興味があって日本の工業デ
ザイン専攻の大学院に入り、もの・ことのデザイン、問題のデザイン、人間工学、
デザイン心理学、視覚意匠、工業デザインなどを学んできた。さらに、日本の某
企業でプロダクトのデザインを経験したことにより、日本のデザイナーが、常に
使用者の立場に立って、形だけではなく形のない想いをプロダクトに投影し、使
用者に喜びを与えるという真心に触れ感動した。ソフトウエア開発の本質は「設
計」であり、ソフトウエアの設計を担当している「システムエンジニア」は、
「情報処理のデザイナー」でもある。プロダクトデザイナーと同じく、「システ
ムエンジニア」もデザイナーとしての魂を持たなければならない。
 しかし、バブル経済時の日本IT業界では、「システムエンジニア」が流行職種
となり、「システムエンジニア」の基本知識(情報処理知識+業務知識)、シス
テムを実現する技術力(データ構造+システム構造+プログラミング技術)を持
っていない「システムエンジニア」が急増した。現在、団塊世代の有能なベテラ
ンの「システムエンジニア」の退職によって、業務フロー・データ構造・システ
ム構造など設計図を読めない「システムエンジニア」に「システム」設計を任せ
る企業が増えてきている。“失敗”を少なくするための標準化が進められ、新人
でもマニュアルに基づいて仕事を何とか進められるようになった。しかし、企業
の強み、思い、独創性は徐々に失われ、物事を積極的に考えることが少なくなり、
マニュアルに頼ることが一般的になり、IT業界における考える人材はさらに少な
くなってきている。

■ オフショア開発のあり方についての考え
 私は、中国の大学情報処理学科の卒業生で、中国の事情はよく知っている。中
国では「システムエンジニア」という称号を与える時、情報処理の基本知識が基
本条件になっている。そして3年以上のプログラミングとプロジェクトの実務を
経験し、さらに「システムエンジニア」の試験に受かることが条件である。
「システムエンジニア」は一つの職種ではなく、一つのキャリア・パスになって
いる。プロジェクトマネージャが全員「システムエンジニア」の出身であること
も一般的である。中国国内でERPなどのシステムを開発するのは、日本より難
しい。阿吽の呼吸のような摺り合わせもあるし、仕様変更は日本よりも多い。し
かし、中国の「システムエンジニア」は、情報処理の基本知識を持っているので、
上流工程でもアーキテクチャの目線で実装レベルのイメージを考えながら、ユー
ザーの要求・要望を理解することができる。簡単に言うと、データフローと業務
フローを同時に交差的にイメージすることが、中国の「システムエンジニア」の
やり方である。安易にツールを使ってシステム開発をするのではなく、(その理
由は、例えば上流工程からUMLを使って、コーディングまでを「自動的に」作
成することは、仕様の頻繁な変更に対して、ユーザーの思いに合わない恐れがあ
るため。)それぞれの開発フェーズを経由し、納品まで同じ「システムエンジニ
ア」が関与している。現在、納品までを担当することができる「システムエンジ
ニア」にプロジェクトリーダーとしての責任を与えている。従って、技術力と実
務経験のある外国人の「システムエンジニア」を日本のIT業界に取り込むことは、
日本ソフトウエア産業の技術者不足からやむを得ないことと言える。今後のオフ
ショア開発の形態については、日本の「システムエンジニア」が世界に誇るデザ
イナーの心を持ちながら、情報処理の基本技術を身に付け、しっかりとした上流
工程での結果を実現させるために、海外の多数の技術者をパートナーとして、共
同でユーザーのシステムの提案及び開発をサポートすることになるだろう。
 尚、グローバルビジネスの視点から見ると、最近では、日本の企業活動のグロ
ーバル化に伴い、IT開発分野を中心とするオフショア開発は、低コストだけを求
めるのではなく、グローバル市場を睨んでグローバル・シェアリングを追求する
ように変化してきている。国境のない真のグローバル開発環境になる時期が来て
いる。



■執筆者プロフィール

氏名     :戴 春莉(たい しゅんり)/情報システム監査士
得意分野   :デザインの手法を情報処理技術への応用、上流工程の要求分析、
        問題デザインと可視化など
メールアドレス:dai-jp@leto.eonet.co.jp