オフショア開発は失敗しやすい?その原因と成功するための対策を紹介
そもそもオフショア開発とは?
オフショア開発とは、システムやアプリケーションなどの開発を海外に依頼する方法です。
日本におけるIT人材の不足は深刻で、優秀な人材の確保が難しかったり、人件費が高くついてしまったりする課題があります。それに対し、インドやベトナムをはじめとする海外はIT人材が豊富で、安い費用で確保できる傾向にあります。
これらの理由からオフショア開発には大きなメリットがあるため、多くの会社が導入しています。リモート環境の整備にも後押しされ、オフショア開発は今後も各会社に活用されていくものと考えられるでしょう。
オフショア開発については、以下の記事でも詳しく解説しています。
オフショア開発とは?メリット・デメリットや課題、失敗事例を解説
オフショア開発で失敗しやすい原因
海外のリソースを使って効率的に業務を行うオフショア開発ですが、中には失敗に終わるケースもあります。
なお、開発を行う上では、100%満足のいく成果が得られるという保証はありません。「外注・内製」「国内・オフショア」などの条件に関わらず、トラブルが起こるリスクはある程度存在すると覚えておきましょう。
本項では、オフショア開発で特によくある失敗事例やその原因、対策法などについて紹介します。
コミュニケーションの壁
海外を相手に仕事をするオフショア開発では、言葉の問題が発生しやすい傾向にあります。 思うようにコミュニケーションができなかったり、打ち合わせに時間がかかったりなど、プロジェクトの進めにくさを感じるケースも出てくるでしょう。「コミュニケーションがうまく取れなかったばかりに、思ったようなシステムが完成しなかった」というケースも存在します。
コミュニケーションの問題を解決するためには、現地に日本人のフロントを用意しておくことが有効です。発注側と受注側の橋渡し役を設置することで、言葉の問題による影響を減らすことを目指します。
依頼先の選定が不十分
オフショア開発では、依頼先をうまく設定できなかったために思ったような結果が得られないというケースがあります。海外には優秀なIT関連会社が多くありますが、中にはそうではない会社も存在します。依頼する前には会社の情報をよくチェックしておくことが必要です。具体的には、以下のポイントなどを確認するといいでしょう。
・実績豊富かどうか
・ホームページなどの会社情報などが適切か
・単価は相場と大きく外れていないか
・口コミやレビューは問題ないか
これらの情報をチェックし、信頼のおける会社であるかどうかを判断します。懸念点などが生まれれば、トラブルになることを避けるために別の会社への依頼を検討することが無難です。
発注側の管理ができていない
受注側の会社が理由となり失敗するケースの他にも、発注側の会社のノウハウ不足などが理由になるケースもあります。
システム開発を外部に依頼する際は、進捗状態をこまめに報告してもらうなどの管理をすることが一般的です。オフショア開発では言葉や文化の違う海外に業務を発注するため、発注側としての管理により気を配る必要があります。もしうまく管理ができなければ受注側の会社に任せきりとなり、システムなど成果物の品質にも影響を与えるでしょう。
適切な管理を行うためには、頻繁にコミュニケーションを取ったり、現地に日本人のプログラマーを配置したりし、常に進捗を確認できるような企業に委託するのが望ましいです。
開発メンバーの入れ替えが激しい
オフショア開発では、開発メンバーの入れ替えが激しいことがあります。開発メンバーが流動的になると、スキルやノウハウが蓄積されません。品質の低下や、納品の遅れなどにつながることもあるでしょう。海外で開発しているため、開発メンバーが入れ替わったという状況を把握しきれないケースもあります。
これらの影響を防ぐために、できるだけ開発メンバーを固定にしてほしい旨を伝えることを推奨します。開発メンバーが入れ替わる際には共有してもらうなど、発注側も開発メンバーを把握しておくように心がけましょう。
なお、エンジニアなどの技術職は各会社を渡り歩くという考えを持った人も多く、国内でもそれは同じです。開発メンバーの入れ替わりを完全に避けることはできませんが、入れ替わりによる品質低下などの対策を設けている会社を選ぶようにしましょう。
見積もり時と機能の認識が異なる
言葉の壁の問題などにより、見積もり時よりも大幅に金額が高くなったという事例も存在します。日本人のプログラマーが窓口となることで、そのような認識の相違を防ぐことが大切です。オフショア開発を行う際は、こうしたトラブルを最小限にできる会社に依頼することが望ましいでしょう。
オフショア開発でよくある失敗事例
実際の開発について検討する前に、オフショア開発で起こりやすい失敗事例について把握しておきましょう。
コーディング規約が守られていない
「コーディング規約」とは、保守性や品質を確保するためのルールであり、複数人で開発を行う際に作成します。
開発作業は複数のメンバーで行うチーム作業であり、ある程度統一されたルールでプログラミングすることが望ましいとされています。コーディング規約が守られなければ、後からコードを確認する時に読みにくく、扱いづらいものとなってしまう可能性があります。例えば、開発メンバーと異なる担当者がメンテナンスをする場合などには、コードを読むことに苦労することになるでしょう。
国内ではこの規約を守ってコーディングを行うケースが大半ですが、海外ではそのような意識がないこともあります。オフショア開発を依頼する際には、コーディング規約が守られないリスクがあることも認識しておくといいでしょう。
納期が守られない
日本では「納期は必ず守るべきもの」という認識が多くの人にありますが、海外ではそうとは限りません。時間にルーズな価値観を持つ国では、納期をそこまで重く捉えていない会社も存在するでしょう。中には「無断で納期よりも遅れて納品された」といったケースも実際にあります。
品質が担保されない
納期通りに納品されても、その品質が低かったという事例もあります。思うようにシステムが稼働しなかったり、仕様書をうまく汲み取ってくれていなかったりといったパターンです。
国内では、仕様書に書いていないこと以外の品質に対しても、ある程度責任感を持って業務に当たることがほとんどです。しかし海外では仕様書が全てであり「書いていない部分に関しても、雰囲気を察して意図を読み取ってくれるだろう」といったような期待をしない方がいいでしょう。発注側で詳しい仕様書を作成し、品質を確保できるように取り組むことが大切です。
開発費用が予算オーバー
海外に発注するオフショア開発では、為替の影響を受けるため、必要な金額が見積もり時よりも高くなってしまう可能性があります。また、発展途上国の場合は、経済の発展により徐々に人件費が高額になっていくというケースもあるでしょう。
オフショア開発を選ぶ一番の理由がコストの削減であるという会社は多く存在します。しかし、上記の理由により「思ったよりもコスト削減にならなかった」という結果に終わった事例も実際に存在します。 費用面での不安定さを把握しておくことが必要です。
オフショア開発で成功するために必要なこと
オフショア開発で成功するために、どのようなことに気をつければいいでしょうか。ここでは、オフショア開発で押さえておきたいコツについて、7つのポイントから解説します。
開発実績が豊富な会社を選ぶ
オフショア開発を成功させるためには、信頼のおける会社を選ぶことが重要です。会社選びを間違えると、低品質・納期遅延といったトラブルに巻き込まれてしまう可能性も高まるでしょう。
オフショア開発の会社選びでは、これまでの成功例やソースコードなどを見せてもらい、どんな開発実績があるのかを確認することをおすすめします。自社で求めるシステムやアプリケーションなどと似たような開発実績があればより安心です。
コミュニケーションを密に取る
オフショア開発では、コミュニケーションをどの程度取れるかといったポイントが成功を左右することがあります。コミュニケーションを密に取れれば、プロジェクトが確実に進行し、成果物の品質向上につながることもあるでしょう。
プロジェクトの進行中はITツールの活用が重要なポイントとなります。 オンライン会議ツール・チャットツールなどは、密なコミュニケーションを行う上で役立つでしょう。書類やファイルを瞬時に共有できるドライブなども積極的に取り入れます。
その他にも、以下の点を意識することで、受注側の会社とのコミュニケーションがより有意義なものになります。
・「ほう・れん・そう(報告・連絡・相談)」をお互いに徹底する
・現地のスタッフにとってわかりやすい日本語の表現を使う
・オンライン会議後は要点をまとめて文章で送る
また、契約前の問い合わせや見積もり時から、コミュニケーションの取りやすさを意識して受注側の会社を見てみることを推奨します。メールした際の対応や、書類のやり取りなどがスムーズかを確認してみましょう。対応が的を得ていたり、返事のスピードが早かったりすれば、開発中のコミュニケーションにも期待できるかもしれません。
進捗をできるだけ明確にする
離れた場所で開発を進めるには、進捗を明確にすることが欠かせません。納期に余裕を持って開発を進められることに加えて、開発メンバーのモチベーションの維持につながることもあるでしょう。
進捗を明確にするためには、プロジェクトのスケジュールを表にして可視化することが有効です。海外では納期に対する考え方がゆるい場合があるため、開発メンバーから「問題ない」と報告を受けても、実際には開発が遅れていたといったケースもあります。
全体の工程のうち何%達成しているかなど、表や数値を用いて報告してもらうことを心がけましょう。やるべきことのチェックリストを作成することもおすすめです。
現地での交流をおこなう
可能であればオフショア開発先の国へ足を運び、現地の会社と顔合わせを行うケースも存在します。一度会って話しておくことによって、コミュニケーションの取りやすさや、モチベーションなどによい影響を与えます。
オンライン会議やチャットなどでは話しにくい本音や、プロジェクトに対する熱意などを伝えて、開発メンバーの士気を高めていきましょう。
文化や国民性を理解しておく
プロジェクトを円滑に進めるためにも、開発を依頼する国の特徴を理解するように努めることも大切です。相手の文化・国民性を知っておくことは、すれ違いや誤解を防ぐことにつながります。また、開発メンバーの特性を理解することは、マネジメントの観点からも役立つことでしょう。
文化の違いを乗り越えるために、あらかじめ感性や国民性が似ている国を選ぶ場合もあります。例えば、ベトナムは親日国と知られ、勤勉なエンジニアも多く存在しているため、オフショア開発先として人気です。その他にも、シンガポールやミャンマーなどは、国民性が比較的日本と似ている傾向にあります。
仕様を細かく決めておく
オフショア開発では、実際の開発に入る前に仕様を細かく決めておくことをおすすめします。開発中に確認すべき事項が出てきてしまえば、同じ場所で仕事をしている時よりも、確認に手間取るでしょう。時間のロスやトラブルなどを防ぐためにも、仕様書は細かく記載しておくことが大切です。
ニーズに合った会社を選ぶ
外部の会社にシステム開発などを依頼する場合は、自社が求めていることに適切に対応してくれる会社を選ぶことが大切です。開発会社は、得意分野や実績のある業界がそれぞれ異なります。自社のニーズにあった開発会社を選べるよう、慎重に検討しましょう。
ハイブリッドテクノロジーズのハイブリッド開発
<ハイブリッドテクノロジーズの提供サービス>
ハイブリッドテクノロジーズでは、ビジネスデザイン、UIUXデザイン、設計、実装、テスト、リリース、運用、保守まで一気通貫してサービスを提供しております。500名以上の経験豊富なエンジニアにより、迅速かつ高品質なシステム開発が可能です。 アジャイル開発、ウォーターウォール開発、ハイブリッド開発と言った様々な開発手法に対応しており、契約形態に関しましてもラボ型契約と受託型契約の2つから選択いただけます。お客様の状況や開発内容に応じて、開発手法と契約形態を柔軟にご指定いただけますが、それぞれの開発手法、契約形態の特徴の親和性から、アジャイル開発ではラボ型契約が、ウォーターウォール開発とハイブリッド開発では受託型契約を選択されるクライアント様が多数を占めます。
ラボ型開発について: ラボ型開発 サービス
受託型開発について: 受託開発 サービス
<ハイブリッドテクノロジーズが選ばれる理由>
弊社ではクライアント企業様及びエンドユーザー様の声を聞き、UIUXを意識したビジネスデザインを行なっております。 テーマを決めて分析し、仮説を立ててビジネスデザインを行い、プロトタイピング、検証、フィードバックを受け、再度分析から始める。 この一連の流れを、アジャイルスクラム開発に精通した500名以上のエンジニアが光速で回していくことにより、最速でより良いものを実現していきます。 ハイブリッドテクノロジーズには市場の声を現実にするための仕組みとメンバーが揃っています。
システム開発の成功事例
システム開発での成功事例をご紹介します。
見守りサービス (株式会社otta)
サービス内容
位置情報履歴を、無料スマホアプリやメールを通じて保護者様に伝えるサービス
サービス上の課題/目指したいサービス
課題
共働き世帯や高齢者の増加など、社会構造の変化により、子どもや高齢者の見守りへのニーズが急速に高まっている。一方で、見守る方々の高齢化や地域コミュニティの変化により担い手は減少方向にあり、この需給ギャップを埋めるには、見守りの仕組みの生産性を大幅に向上させなければならない。
目指したいサービス
IoTを活用した見守りサービスのパイオニア企業として、見守り活動の生産性の飛躍的な向上に貢献するとともに、従来のサービスでは困難であった、多くの方々にご利用いただける料金体系を目指すこと。
クライアントの課題/要望
・追加開発体制のリソースが不足している
・既存ベンダーの開発チームと組み合わせながら、チームを構築したい
・事業状況に応じて柔軟にリソースを調整したい
当社を選択していただいた理由
キャピタル案件であり、HTからの投資次第で開発も頼みたいという理由から
当社ご提案内容
業界ラボ型(ストック)開発+保守にて提案
toB向け見守り管理システム開発
・今後の基盤変更も意識しながら登園バス管理システムの管理画面を作成し、サービス展開をしていきたい
・今後の開発体制構築も視野に入れつつまずはスモールに体制を構築しつつ今後の足掛かりとしたい
リソース活用し柔軟に対応できることと、javaを中心に進めていたが、よりモダンな言語を基盤に開発を進めたいという要望に対し、得意分野であった。
学習履歴データの可視化システム(放送大学学園)
サービス内容
学習履歴データ可視化システムの開発
サービス上の課題/目指したいサービス
課題
オンライン授業システムのデータベースには多量の学習履歴データが蓄積されており、このデータを学内の担当者が活用できるよう整備し、学生指導のためのヒントとして、あるいは学生に受講を促すための情報源として活用したいという意向があった。
目指したいサービス
・学外に開示する「サービス」ではなく、学内担当者用の「ツール」であること
・コマンドラインで操作可能なツールであること
・追加機能の実装をできるようにすること
クライアントの課題/要望
・社内で開発体制を保持していないこと
・金額をミニマムに抑えながら安定的な運用を実現したい
当社を選択していただいた理由
充分に仕様を満たす提案内容と他社と比較して最も安価な金額で入札提示したため。
当社ご提案内容
学習履歴データベースとBIツールの開発
オンライン授業システムのデータベースに蓄積された学習履歴データを活用するにあたって、実運用されているDBの処理とバッティングしないように、MongoDBに格納する処理にて開発を進めました。またMongoDBにデータを格納する際、他データとの連携も考慮し、汎用的なExperienceAPIに準拠したデータ形式を採用しました。
個人情報の扱いにおいては、開発人員含め、学生の個人情報の漏洩を防ぐため、学生の識別子を匿名化しての実装を実施しました。
DocIT (株式会社ドキットメディカルサービス)
サービス内容
働き口を探す医療従事者と、働き手を求める病院をつなぐマッチングプラットフォーム
サービス上の課題/目指したいサービス
課題
高額な紹介料がネックとなりスポットで人が必要な際に苦心をする病院の課題解決
目指したいサービス
休日や長期出張の空き時間を有効活用したい医師と、長期連休などで一時的に人手が必要となる病院をマッチングすることで医師の働き方の多様化を実現するサービス
クライアントの課題/要望
・サービス構想はあるが、実現させる開発パートナーが必要
・上流工程からの開発サポートが必要
当社を選択していただいた理由
開発にあたってサービス設計から本開発まで、一緒に伴走し考えながら開発してくれるパートナーとして安心感を感じて頂き、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発にて提案
1.医療求人の性質を鑑みた機能提案、システム設計・開発
本サービスでは失敗の許されない医療系求人を取り扱うため、求人マッチングをする前に信頼のできる医師・病院であることを確認できることが重要となります。 そこで、実際に求人マッチングした医師・病院による相互レビュー機能を実装することで、信憑性の高いレビュー情報を蓄積することを提案・実現しました。 また、求人マッチング前に病院担当者と直接チャット出来る機能も実装することでレビューでは分からない定性的な情報確認も可能としました。 アジャイルスクラム手法の開発を取り入れることにより、システム開発の進捗報告を実際に動くシステム画面をお見せしながらデモンストレーション形式で毎週行いました。
2.定期的なスプリントを繰り返し、顧客と一緒に品質を高めるプロセスにて進行
実際に動くシステムを毎週見ていただくことで、開発進捗についての安心感やお客様も気がついていなかった新たな改善点がを発見でき、それを修正して再度デモンストレーションを行いました。この一連の流れを回すことで、お客様の求めるものを高い品質でご提供しました。
3.デザインを用いた視覚的なアウトプットで、具体的なシステムイメージを共有
Webサービス開発に初めて挑戦するお客様のため、お客様が思い描くビジネスを実現するためのシステムイメージを具体化していくデザインサポートも担当。求人情報サービスという特性上、さまざまな情報要素が混在する中で、目に見える形でデザインを整理・提案し、お客様からのフィードバックを受け、再提案を繰り返すことで、よりユーザーにとっての最適なWebサービスのための設計・提案・実現を行いました。
THINK, Reviewers (株式会社スパイス ボックス)
サービス内容
独自の「ソーシャルリスニング」手法をもって、企業と生活者の 間に生きたコミュニケーションを構築するサービス
サービス上の課題/目指したいサービス
課題
インフルエンサーの評価指標としてフォロワー数とエンゲージメント数が重要視されているケースが多いが、商品販売施策においては保存数が重視される。保存数を把握した上でインフルエンサーと企業のマッチングを行うプラットフォームが存在していなかったため、新たなサービスとしてスピード感を持ってサービス開発を行いたい。
目指したいサービス
・サービス名「THINK」:Twitter調査における既存システムの安定的かつ継続的な運用を維持しつつ、インフラコストを削減すること。
・サービス名「Reviewers」:インフルエンサーマーケティングで投稿保存数という指標を重要視するインフルエンサーマッチングプラットフォームの新規立ち上げをすること。
クライアントの課題/要望
・開発が発生した際に、都度RubyonRailsの対応人員を増やすのが難しい
・インフラ周りに強いメンバーがいない
・金額をミニマムに抑えながら安定的な運用を実現したい
・追加開発が発生した場合には、知見を維持した状態で取り組める体制がほしい
当社を選択していただいた理由
・開発リソースの柔軟性とインフラなど対応範囲の幅広さが先方ニーズにマッチしていたこと
・定常運用の際にもコストを抑えて対応できること
当社ご提案内容
受託型開発(フロー)にて提案
インフラ知見を持つディレクション人材をアサインメントすることで、インフラ周りの調整や業務対応にスピード感を持って対応できる体制を構築
インフラ/保守/開発を幅広く対応可能、かつ、コストミニマイズなオフショア体制をご提案しました。
ディレクション人材がインフラの知見を持ち、定常作業はベトナム側で行えるようにマニュアル化を行い、コストミニマイズしながらも幅広い知見を活かせる体制提案を行いました。
新規の開発が発生した際に、既存チームの知見を活かしながら適宜開発者を追加して、素早く開発を実行できる体制を実現しました。
まとめ
オフショア開発の失敗要因や事例、開発を成功させるためのポイントなどについて解説してきました。オフショア開発は海外へ発注する分、慣習や言葉の面などで戸惑うこともあるでしょう。しかしオフショア開発を成功させることによって、優秀な人材の確保や人件費の削減など多くのメリットを得られます。
ハイブリッドテクノロジーズは、日本国内での開発に加えて、オフショア開発についても確かな実績があります。オフショア開発についてお悩みの方は、ぜひ一度お問い合わせください。