コンテンツ
オフショア開発って何?インドやベトナムが主流?
オフショア開発(Offshore Development)とは、システムの開発や保守、運用などを、海外の企業に委託することです。
日本では1980年代までは中国でのオフショア開発が盛んでしたが、中国の経済成長とともに人件費が高騰し、主な委託先はインド、ベトナムと変遷し、最近ではフィリピンやミャンマーなども注目されています。
従来は大企業が主な委託元でしたが、グローバル化やデジタル化が進んだことで障壁が低くなり、中小企業が委託元になるオフショア開発が増えています。
オフショア開発のメリットとして、日本と比べて人件費が安い国にシステム開発を委託することでコストが削減できること、そして日本国内のITエンジニアの不足に対応できることがあげられます。
その一方で、それぞれの国々は日本とは言語や開発の進め方も違えば、商習慣も違います。
そのため、コミュニケーションの問題からトラブルが発生することが多く、失敗しやすいというデメリットがあるのです。
オフショア開発が失敗しやすい4つの要因とは
オフショア開発はなぜ失敗しやすいのでしょうか。過去の失敗事例をもとにみていきましょう。
コミュニケーションがうまくいかない
オフショア開発を行う際、通常は「ブリッジSE(Bridge SE、BrSE)」が委託元と委託先の開発チームとの橋渡し役をつとめます。
日本とそれぞれの国々とは、当然ながら言語が違います。ブリッジSEの言語能力に問題があると、意図が思うように伝わりません。
また、言語だけでなく、文化や習慣の違いもあり、日本では当然と思われていることが海外では当然ではない場合も多く、そのために失敗するケースが多くあります。
日本人と違って「行間を読む」といったことや「忖度する」という習慣がないため、曖昧な指示では相手に真意が伝わらないということもおこります。
発注側の管理不足
オフショア開発では、発注側の管理不足からおこる失敗も多くみられます。
進捗を管理せずに放置していると、後々大きな問題となることがあります。
確認しすぎて開発側に過度なストレスを与えるのはよくありませんが、進捗状況は必ずこまめに把握しましょう。
また、オフショア開発では開発メンバーの入れ替わりがよくおこります。
開発メンバーが入れ替わることでノウハウの蓄積ができず、結果的にソフトウェアの品質の低下や納期の遅延を招いてしまう可能性があります。
メンバーの変更がおきた場合に備え、変更がおきたときの報告を義務化したり、引き継ぎに関するマニュアルを定めるなど、対策を決めておきましょう。
依頼先の選定
依頼先をよく調べずに選び、案件を丸投げしてしまうと、失敗する可能性が高くなります。依頼先を選ぶ際は、これまでの実績や得意とする分野、こなしてきた案件などをしっかり確認しましょう。
特にオフショア開発を初めて利用する場合は、時間をかけてリサーチを行い、信頼できる企業であることを見極める必要があります。
経済や為替の状況が影響する
オフショア開発の委託先はインドやベトナムといった発展途上国が多くなります。
発展途上国は経済や為替の状況が不安定な国が多いので、その影響によって発注した時よりも人件費が高くなることが考えられます。
逆に、日本の経済力が低下することによる影響も、今後は検討する必要があるかもしれません。
経済や為替の状況は予測が難しいものですが、ある程度は変動を見越して計画を立てる必要があるでしょう。
オフショア開発のよくある失敗事例を紹介!
さまざまな失敗事例が存在するオフショア開発。実際におきた失敗事例から、対策を検討しましょう。
開発予算をオーバー
ある企業では、見積もりが予算内であることを確認した上でオフショア開発を発注しました。
しかし、インドやベトナム、フィリピン、ミャンマーといった主なオフショア開発国は発展途上国が多く、社会情勢や経済状態が安定しないことがあります。
この場合も、開発を進めるうちに人件費などが高騰してどんどん費用が増加していき、最終的に開発予算をオーバーしてしまいました。
オフショア開発ではあらかじめこのようなリスクを想定しておく必要があります。
低品質な納品物
オフショア開発で海外の開発チームに委託した結果、納品された成果物が期待していたよりもクオリティが低かったというのはよくある話です。
これは日本でもよく起こることではありますが、海外では仕様書に書かれていることが全てであり、それ以上のものができあがってくることはほぼありません。
そのため、仕様書はできるだけ詳細に、わかりやすく記述するといった工夫が必要となるでしょう。
納期の遅延
これも日本のソフトウェア開発でもよくあることですが、オフショア開発では納品が予定していた納期より遅れることがよくあります。
オフショア開発の委託先となる国によっては、文化的に日本ほど時間や納期に対して厳しくないということもあります。
進捗の管理はしっかりと行いましょう。
オフショア開発を失敗させないポイントとは?成功させるために必要なことを解説!
せっかくメリットがあっても、とにかく「失敗しやすい」とされてしまうオフショア開発。では失敗させないためにはどうすればよいのでしょうか。
実績のある企業を選ぶ
委託先を選ぶ際は、事前のリサーチをしっかりと行い、これまでの実績を重視して選ぶのがよいでしょう。
安すぎる見積もりを出してくるような企業は疑ってかかるのが無難です。
安さが魅力のオフショア開発とはいえ、経験を積んだスキルの高いエンジニアにはそれ相応のコストがかかります。
コミュニケーションが重要
言語も文化も異なる依頼先が相手となるオフショア開発ですから、コミュニケーションは特に重要なポイントとなります。
日本人同士ならわざわざ言わなくてもわかるようなことでも、海外でははっきり伝えないと伝わらないことも多くあります。
指示は具体的に、わかりやすく伝えましょう。
また、現地との橋渡しを行うブリッジSEとの連携はたいへん重要です。チャットやビデオ会議といったツールを活用し、しっかりとルールを決めて対応しましょう。
要件定義(システムに要求する仕様)を明確にする
システムの要件定義を細かく行えば行うほど、オフショア開発はうまくいきます。要件定義をきめ細かく行うということは、それだけ発注側のリソースを使うということになりますが、穴だらけの要件定義をもとにオフショア開発を行い希望通りのシステムが納品されなかったとしても、発注側の責任となってしまいます。
10人エンジニアがいたとして、10人が同じ理解・実装方法になるような要件定義が理想です。
画面設計やシステムのフローを具体的に示す
前述の要件定義と近いですが、サーバサイドの設計のみならずフロント(見た目)の設計も重要です。発注側でワイヤーフレームや画面設計をして、こういうアクションがあった時にはこういったサーバサイド(バックエンド)の処理が走る、といったフローも明確にしておくと良いでしょう。
オフショア先の委託先は、当然ながら日本語の文化圏ではありません。英語等の外国語のUIと日本語のUIは当然ことなっており、英語で見るとしっかりしたデザインでも、日本語ではしっくりしないという事も多々あります。「要件は満たしているが、思ったのと違う」ということが起きないように、実際に作ってもらいたい画面を明確に示してもらう必要があります。
進捗管理をしっかりと
やはり、委託先に管理を丸投げしてしまうと、進捗の具合がわかりづらくなり、失敗しやすくなります。積極的に進捗を確認し、管理を徹底することを心がけましょう。
オフショア開発を失敗させない会社選びのコツを詳しく解説
オフショア開発を成功させるためには、やはり国民性も考慮した方がよいでしょう。
委託先として多くなってくるのが、中国、インド、ベトナムです。
一般論ですが、中国やインドの人は自分の意見が強く、なかなか失敗を認めない傾向があり、ベトナムやミャンマーの人は真面目で勤勉だといわれています。
また、オフショア開発会社には、現地で日本人や日系企業が運営する会社もあります。
コミュニケーションに不安がある場合は、このような企業を選択するとよいでしょう。
以上のことを頭に入れたうえで、コスト、委託先のスキル、契約形態をしっかり考慮して、会社選びを行うのがオフショア開発が失敗しないための重要な鍵となるでしょう。
クレジットカードの使用する際にはしっかりとしたセキュリティ意識を持って、より安全・快適な使用を心がけましょう。
オフショアを活用し、費用を押さえた開発をするには
オフショア開発は、費用を押さえてサービスを開発する有力な手段です。
とはいえ、ただ依頼しただけでは失敗する可能性が高いため、システムが分かる担当者が間に入ることが非常に重要です。
Samuraiでは、目的と予算に合わせ、日本人エンジニアでの開発やオフショアでの開発など、柔軟なご提案が可能ですので、お気軽にご相談ください。
この記事を書いた人