【オフショア初心者向け】初めてのオフショアは、組み立て工程が安心

オフショア開発とは海外の企業にシステム開発などを委託する開発方法のひとつです。しかしシステム全ての開発を委託するのではなく、組み立て工程から委託をしておくのが安全と言えます。オフショア開発には開発リソースの確保や、開発コストの削減と言ったメリットがある一方で、意思の疎通がうまくいかないことや仕様書に記載されていない部分は対応をしてもらえないことがあるといったデメリットなどもあります。
システム開発の流れとして全体の完成図を見据えて個々のシステムデータを開発する必要がありますので、その部分はオフショア開発ではなく意思疎通がとれており、修正作業も依頼しやすい自社で行うのがベストです。

オフショア開発とは

オフショア開発とは、パソコンのプログラムやウェブサイトのプログラムのシステム開発を日本国内だけで行わず、海外に子会社を設置したり、海外の開発会社に作業を委託したりする開発手法です。
海外に委託をするメリットとしては、日本国内ではまかないきることのできない人材を確保することで、開発リソースを確保できるという点があります。主に選ばれる国としては、人口が多い国や、IT開発を政府が推していて、国全体でITスキルが高い国などで、中国やインド、ベトナムやインドネシアなどが中心です。
オフショア開発のメリットは開発にかかる人員を多く確保できるだけではなく、日本に比べて人件費が安く済むことから全体的な開発コストを削減するということにもつながります。
またオフショア開発では依頼をする形態方法にも種類があり、どんなシステムを開発するかを依頼するタイプの受託契約型と、一定期間依頼元である会社のために開発チームを組むラボ開発型の2種類があります。この形態によって、開発するシステムの変更に柔軟に対応できるか、委託された側の開発が遅れている場合に対応してもらえるかなどという点が異なります。
一般的には受託契約形の場合には開発を担当してくれるスタッフが責任者も含め他の仕事と兼任をしているケースも多く、進行する上で問題が発生することも多いため、契約期間は兼任せずに専用の開発チームを組んでくれるラボ開発型の契約のほうが失敗は少ないとされています。

オフショア開発のデメリット

オフショア開発は人件費の削減や、不足している開発リソースの確保などさまざまなメリットがある一方で、デメリットとされる課題もいくつかあります。
まずは異なる国同士がシステム開発という作業を一緒に行うという点から発生する問題です。開発環境の言語が一緒なため、他の業種よりも国を超えて作業しやすいといわれるのがシステム開発ですが、内容を指示したり設計図を説明したりするためのスタッフの母国語は異なります。そのため、完全にどのようなシステムにするかを指示できていたつもりであっても、互いの認識に相違があるということも少なくありません。
また国が違うと仕事に対する意識の面で文化的な違いはあります。日本では仕様書が簡単な説明でもしっかりしたシステムを作ってくれるという認識があり、その前提で仕様書が簡単な説明にとどまっていることも多いですが、海外では細かい部分までを仕様書に記載しておかなければいけません。仕様書に記載がされていないことに関しては対応しないのが当然というくらいの気持ちを持って設計を準備しておく必要があります。
人手不足や人件費の削減からオフショア開発で委託したけれど結果として失敗に終わってしまい、その分の開発にかけたコストがすべて無駄になってしまったということも珍しくはありません。そのためひとつのシステムやアプリなどの開発を依頼する場合、1から10まで開発する部分のすべてをオフショア開発で委託するというのは、そのプロジェクト全体が失敗に終わる可能性もでてきてしまうため、危険性が高いです。

システム開発で組み立ては重要

システム開発をする流れとして、主に下記のようなさまざまなジャンルに分割することができます。
・データの基盤
・サブシステム
・データの項目の洗い出し
・画面のUI設計
そしてシステム開発ではこれら個別の要素をしっかりと分割し準備を進めておくことが大切です。もちろん事前に仕様書を作成するにあたり、細かに決めておく必要があります。これらのすべてのデータがしっかりと出来上がったところでまとめる組み立てという工程が必要となりますが、個別のシステムをつくるほうが技術的な部分を必要とする場合が多く、個々のシステムを組み合わせるほうが難易度は低いことが多いです。
進行上の問題として全体を組み合わせて初めて出てくる点などもあることから、各ジャンルのデータが出来上がり組み立て工程に入った時点で、個別のシステムを作り直す必要が出てくる場合などもあります。そのため、ある程度は柔軟に対応できるメンバーを各個別のシステム開発にあてておくのが安全なプロジェクト進行といえます。
個別のデータをすべて別々の開発業者に委託をしていた場合、総合的な組み立て工程に入った際に個別の画面イメージが全く異なっていたり、総合した使いやすさが不十分になってしまったりということは少なくありません。しかし個別のシステムを外注していた場合、依頼していた仕様書に記載がない部分の変更になると、その委託している会社によって仕様変更に対応してもらえるケースとそうでない場合が出てきます。

組み立て以前からオフショアする危険性

システム開発の外注、特にオフショア開発で海外の企業に依頼をするのであれば、全体の組み立て工程から依頼をしておくのが安全です。オフショア開発では依頼した内容が安心して完成して納品されるということは考えてはいけません。作業を進行してもらう上で、必ず何らかの問題が発生する可能性はあると心構えておくべきです。そのため全ての作業を一から任せてしまうと、どこかひとつの部分でも問題が発生した場合、その他の作業が進まなくなってしまいますし、もちろん組み立てを行うことができなくなってしまいます。しかし、すべての必要な部分のデータが納品されている状態からスタートとなる組み立て工程から依頼をしていた場合、最悪組み立てができなかったという場合でも自社で元データを用いて開発を進めていくことが可能です。
また、いくつかのオフショア開発で個別のデータの作成を依頼していて、それぞれのシステムのデザインなどに統一性がなかった場合、組み立て工程を自社で行おうとした時点でその問題に気がつき、全体的な個々のシステムの修正を依頼しようとしても「仕様書にはそういった記載はなかった」ということで修正対応をしてもらえず、また一から開発依頼をしなければいけないということにもなりかねません。
すべて個々の元データを開発進行していれば、進行しながら全体的なイメージの統一も可能ですし、万が一のやり直しもすぐに対応できることが多いです。このようにオフショア開発を海外で委託するにあたってはリスクヘッジを用意しておく必要があります。

海外に開発を委託するオフショア開発では組み立ての工程から依頼をしておくのが安心です。中国やインドなどといった日本語が通じるスタッフが少ない地域に依頼をするオフショア開発では、依頼をしたシステムが必ず想定していた要望どおりのもので納品されるとは限りません。オフショア開発ならではのデメリットを考えてプロジェクトが失敗とならないように準備しておくならば、システム開発はその柔軟さが必要とされる個別のデータの開発作業ではなく、組み立て工程というしっかりと土台があるからこそ進行できる作業の部分から委託をしておくことが安心です。

Top