オフショア開発の失敗と成功の分かれ道~ソフトウェア開発におけるリスク対策の経験談~/戴 春莉

  現代の経営にとって、情報システムを導入することは必須と言っても過言では
ないでしょう。しかし、サブプライムローン問題などから見られるように、世界
経済の雲行きが再び怪しくなってきました。そのような環境の中で、経営者はま
すますROIを重視した投資を行う必要があります。それは情報システム投資に
関しても同じ事が言えるのではないでしょうか。規模は大きいが、自社業務と比
較して処理プロセスが多く、使わない機能が多数あるシステムを導入すると、投
資に対するリターンは低いものでしょう。逆に単純処理機能のみのシステムだけ
を導入することは自社の強みを失い、システム導入の効果自体が発揮されず、投
資は失敗で終わるでしょう。ゆえに、経営者にとって、いかに「身丈に合うIT化」
を行うかが問われています。
 では、「身丈に合うIT化」とは、一体どのようなものでしょうか。市販されて
いるパッケージだけ使えばいいのか。それともシステム全体を自社主導で開発す
ればよいのか。私はこの「身丈に合うIT化」を次のように考えています。

・自社の強みである部分は、その強みをより発揮できるような大事な部分は自社
 主導で開発する
・その他の部分はパッケージの導入で最低限の標準化を実現する 

このような「揚長避短」(長所を伸ばし、短所を避ける)に成功しているIT化こ
そ、今後の情報システム設計に必要だと考えております。
 前置きが長くなりましたが、今回のコラムでは、特に自社主導の開発について
の一手法である、オフショア開発におけるリスク及び対応策の一部について述べ
させていただきます。

<1>ユーザーの身になる
 プロジェクトをはじめる前、このプロジェクトは何をするのか?何のためにす
るのか?・・・など5W1Hを明確にすること、つまりユーザーの身になりきる
ことが一番重要と考えています。技術者の立場+ユーザーの目線で現状分析(As
Isの理解)すること、成果物をシミュレーションすること(ToBeのイメージ化)
が出来れば上流工程で開発が失敗する可能性は最小限に抑えられます。ここで、
設計者自身がユーザーの身になりきれなければ、開発の仕様設計段階に踏み込ま
ないことを心掛けるべきと考えています。
 私の場合、ある日「着物縫製加工」管理についてのシステムを構築してほしい
と経営者から要望がありました。現状などをいろいろと聞き、管理上の大変さ、
そして現場担当者、管理者、経営者のIT化への思いを理解することが出来ました。
その一方で、自分は着物の着付けも知らない外国人ソフトウェア技術者なので、
着物縫製加工管理のシステム構築について要求分析、要件定義など上流工程を行
うことが可能だろうか、と戸惑いました。技術上ではIT化することができても、
システム設計はかなり難しく、単純な流通業務における伝票のやり取りだけでは
済まなかったのです。ベンダー企業にとってもこの部分のシステムはややこしい
ようで、市販システムのほとんどが縫製加工管理の部分を避けていました。しか
し、現場に入り、ユーザーの身になって、約2週間一緒に作業や、ミーティング
を行い、現場の皆さんの悩みを共有することで解決の糸口を見つけることができ
ました。

<2>上流工程におけるアーキテクチャの設計によって開発のリスクを最小限に
   抑える
 開発のリスクはたくさん挙げられますが、どれが一番大きな問題でしょうか。
私の十数年間の開発現場の経験から申し上げますと、「仕様書変更」は国境に関
係なく、日中技術者がともに悩む問題です。完璧な仕様書は世の中に存在しませ
ん。仕様書の変更も何処の国でもごく当たり前なことです。仕様変更に対応でき
なければ、それは設計者の失敗だと思います。私の場合、いつも仕様の変更があ
ると想定しています。従って、設計上では、プロダクトとモジュール化を並行し、
カプセル化できる処理、呼び出すことができる処理、繰り返す処理をアプリケー
ションアーキテクチャ設計時に分別させ、インターフェース+コンポーネントの
階層+構造設計で、ユーザー側は新しい要求があれば、ユーザー自身でもプロダ
クトとモジュールの組み合わせで、仕様変更に対応することが可能になります。
勿論ベンダーの立場としてはカスタマイズの収入が減りますが、ユーザーにとっ
ては大きなメリットがあるので、ユーザーの身になれれば自然にこのような設計
を行います。

<3>オフショアソフトウェア開発のリスク=ソフトウェア開発のリスク
 オフショア開発は単にソフトウェア開発の一手段です。私の経験では、オフシ
ョア開発のリスク管理については、実は海外だけではなく、日本国内でも同じこ
とを考えるべきと思います。海外にしても日本国内にしても同じリスクが発生し
ていますので、リスクに対する認識から言うと国境を区別すること自体がリスク
の一つだと思っています。

 今日、グローバル化の進行のため、海外の資源により簡単にアクセスすること
ができるようになりました。その結果、海外でのソフトウェア開発要望も日々増
えています。しかし、グローバルな環境におけるソフトウェア開発も、究極的に
はユーザーの立場になって考え、ユーザーの要望に沿って実施する必要がありま
す。そのためには、ユーザーの要求を理解しなければならないので、開発者にと
っては技術能力もさることながら、ユーザーとのコミュニケーション能力が今ま
で以上に必要となるでしょう。


■執筆者プロフィール

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