トップ ブログ

オフショア開発の進め方8つのステップ!失敗を防ぐポイントも解説

オフショア開発の進め方8つのステップ!失敗を防ぐポイントも解説

オフショア開発の進め方8つのステップ!失敗を防ぐポイントも解説

「オフショア開発の具体的な進め方がわからない」
「契約から発注まで、オフショア開発の流れを知りたい」

オフショア開発に興味をお持ちの方に向けて、具体的な進め方をわかりやすく解説します。オフショア開発を進める上で、進捗管理やコミュニケーションなど、気をつけるべき点は多くあります。

そこで本記事では、各工程をスムーズに進めるためのポイントや、オフショア開発で失敗を防ぐポイントもまとめています。オフショア開発の導入を検討している方は、ぜひ参考にしてください。

島添 彰

合同会社Solashi Japan 代表取締役。サントリーにて社内向けシステムの開発・運用に携わる。Yper株式会社を創業し、CTO・CPOとしてプロダクトの立ち上げ・グロースに従事。

オフショア開発の進め方

オフショア開発の進め方を解説します。オフショア開発とは、自社の開発業務を他国の開発会社に委託することです。

たとえば、システム開発やアプリ開発、Webサービス構築などの作業を、オフショア開発会社に任せられます。場合によっては、運用・保守業務のアウトソースも依頼可能です。

下記の図は、オフショア開発の流れを表したものです。

ここでは、オフショア開発の進め方を8ステップで説明します。

Step1.開発目的の明確化

まずは、開発の目的を明確にしましょう。あらゆるプロジェクトで目的を決めることは重要な作業です。

オフショア開発では、言語や文化の違う海外エンジニアに対して指示を出すことになります。開発の目的を発注側が定めていなければ、外部のチームに実現したいことを伝えられません。

目的が漠然とした状態で開発を進めると、質の低いプロダクトが完成したり、スケジュールの遅延につながったります。

最初のステップでは、オフショア開発の目的を可能な限り詳細に言語化しておくことがポイントです

具体的には、以下の項目を明確化していきます。

  • 開発するシステム / サービスの目的は何か
  • 何のためにオフショア開発をするのか
  • どのようなプロダクトが必要なのか
  • どのような品質基準が求められるか
  • 目指すべきプロジェクトのゴール・目標は何か
  • いつまでに必要なのか

オフショア開発を進める前に、発注者側の目的をはっきりさせます。詳しく言語化をした状態で、オフショア開発会社に共有しましょう。

Step2.要件定義の実施

続いて、要件定義を実施します。

要件定義とは、開発で必要となる機能や性能、セキュリティ要件を洗い出し、実装する内容を決めることです。開発の背景、予算やスケジュール、導入後のフローもまとめます。

プロジェクトの開発は要件定義に沿って進められるため、このステップは不可欠です。希望はすべて書き出しましょう。

要件をまとめ、要件定義書の作成をおこなうのも発注側の作業です。要件定義書があれば、オフショア開発会社への依頼をスムーズに進められます。

自社に要件定義書を作成するノウハウやスキルがない場合、オフショア開発会社に作成を委託することも可能です。

要件定義は、言語の壁がないことが理想です。日本人PMを有する会社に任せると、作成だけでなく翻訳や開発チームとの認識のすり合わせもスムーズです。

Step3.依頼先の選定

オフショア開発会社へ委託する内容や相談事項が決まったら、具体的な依頼先となるオフショア開発会社を選定しましょう。

要件定義や相談内容をもとに、自社の条件に合いそうな国や会社の目星をつけてリストを作成していきます。

その後、それぞれの特徴やメリット、デメリットを照らし合わせて比較検討します。数社に絞ったタイミングで複数社に見積もりを取り、価格の妥当性や提案力などをチェックしましょう。

選定時の注目ポイントは、以下をご覧ください。

  • 現地のカントリーリスク
  • 日本との時差
  • システム開発の実績
  • 日本の会社との取引実績
  • 得意領域・技術レベル
  • 日本語によるコミュニケーションスキル
  • 品質の管理体制
  • トラブル発生時のリカバリ体制
  • 提案力・コンサルティング力

具体的な選び方は、「オフショア開発会社の選び方とは?選定の4ステップと失敗しないコツ」をご覧ください。

Step4.依頼先と契約の締結

Step3で絞ったオフショア開発会社の中から、自社のニーズに合う会社を選び、契約を締結します。見積もりや契約に関して不明な点があれば、必ず契約前の段階で確認しましょう

オフショア開発の契約形態は、主に請負型契約とラボ型契約に分かれます。いずれの契約にも対応している会社が多いため、自社のリソースや開発目的に沿って選択しましょう。

ここでは、それぞれの契約形態を簡単に解説します。

請負型契約

請負型契約とは、要件定義や仕様、納期などが明確な場合に用いられることの多い契約形態です。単発でシステム開発を委託したい場合も選ばれることがあります。

事前に見積もりを取った金額と内容で契約を交わし、納期までに成果物が納品される流れです。契約締結後は、成果物の納品を待つだけです。そのため、委託側のマネジメントコストを抑えられるメリットがあります。

一方でデメリットは、契約後の仕様変更に追加費用がかかるケースもあることです。委託先にシステム開発を一任するため、開発ノウハウが自社に蓄積されにくいかもしれません。

ラボ型契約

ラボ型契約とは、契約期間中にオフショア開発会社の人材を確保できる契約です。

仕様が決まっていない状態でも、開発を進められるのが大きな特徴で、中長期的な案件に適しています。

また、途中での仕様変更や修正が柔軟にできるのがメリットです。優秀なエンジニアのリソースを一定期間確保し、委託先と受注先が協力して開発をするため、社内ノウハウも蓄積しやすくなります。

一方でチーム構築に時間がかかる点や、社内担当者がマネジメントのためにリソースを割かなければならない点には注意が必要です。

詳しくは「ラボ型開発とは?メリットとデメリット、請負型との違い」をご覧ください。

Step5.キックオフ

開発に着手する前にキックオフをおこないます。

自社メンバーとオフショア開発のメンバーを集めて、プロダクトに関わる全員で顔合わせの場を設けましょう

現地への訪問が可能であれば、オフショア開発国に出向いて、キックオフをおこないます。対面でのMTGが難しい場合は、オンライン会議ツールを使って実施しても構いません。

キックオフには、自己紹介でお互いを知るほか、同じ目的に向かって進むための共通認識を持つ目的もあります。その結果、信頼関係を築きやすくなったり、双方のコミュニケーションが取りやすくなったりするメリットがあります。

また、具体的な開発フローやコミュニケーション手順で不明点があれば、この場で確認しておくとよいでしょう。

Step6.進捗管理

開発がスタートしたら、プロジェクトの進捗を管理しましょう。プロジェクトの問題点や業務ミスを早期に発見するためにも、各工程で適切に進捗管理をおこなうことが重要です。

具体的には、各タスクの進行状況や計画に対するスケジュールのズレなど現状を把握します。

コミュニケーション不足によるトラブルを防ぐため、テキストコミュニケーションだけでなく定例ミーティングも設けるとよいでしょう。

進捗管理では、BacklogやJira Softwareなどのタスク管理ツールが便利です。タスク管理ツールを用いることで、各メンバーの工数や進捗状況を可視化できます。

Step7.動作確認・テスト

作成したプログラムが仕様書通りになっているか動作確認やテストをおこないます。

開発者側が担うのは、単体テストと結合テストです。単体テストでは、システム個々のコンポーネントやモジュールが正確に機能するのか、結合テストではシステムを合体させたときに動作するのかを検証します。

品質管理の専門知識を持つQA(Quality Assurance)エンジニアのリソースを確保している場合は、QAエンジニアがテストをおこないます。

その後、発注側の会社によって実施するのが受け入れテストです。受け入れテストでは、納品されたシステムが要件を満たしているか検証します。

この際、システム開発の担当者も一緒に動作確認することを推奨します。万が一不具合があった場合にもすぐ対応してもらえるためです。

関連記事:オフショア開発の品質問題と原因とは?品質向上のためのコツも解説  

Step8.プロダクトのリリース

いよいよプロダクトのリリースです。

なお、問題なくリリースできた場合も、その後の不具合やアップデートへの対応が必要になるケースがあります。

オフショア開発会社の中には開発だけでなく、運用や保守も一貫してサポートしているケースもあるため、自社で対応が難しい場合はそのような会社を選ぶとよいでしょう。

オフショア開発に限らず、システム開発は単純に「リリースが完了すれば終わり」ではありません。自社やプロダクトの状況によっては、オフショア開発先との関係は長期化する可能性もあります。

システム開発を任せた会社に継続して依頼ができれば、安心してシステムの運営を任せられるでしょう。

ベトナムでオフショア開発をおこなう弊社「Solashi Co., Ltd」でも、プロダクトのリリース後のシステム運用・保守をおこなっております。さらに、一定工数内での改修案件やインフラのチューニング等も実施しています。

リリース後の運用も含めてオフショア開発会社に依頼したい方は、ぜひSolashiまでお問い合わせください。

オフショア開発で失敗を防ぐ進め方のポイント4つ

オフショア開発を円滑に進めるために、失敗を防ぐポイントを4つ紹介します。

  1. コミュニケーションをしっかり取る
  2. 予算に余裕を持たせておく
  3. 仕様書作りを徹底する
  4. 開発工程を一貫して任せられる委託先を選ぶ

詳しく解説します。

コミュニケーションをしっかり取る

スムーズにシステム開発を進めるためには、密なコミュニケーションが欠かせません。

オフショア開発でトラブルの元となりやすいのは、海外エンジニアとのコミュニケーション不足や行き違いです。

コミュニケーション不足を防ぐ具体的な対策は以下の通りです。

  • 細かいところまでわかりやすく指示する
  • 要望は可能な限り仕様書に落とし込む
  • 「言わなくてもわかるだろう」という日本的な暗黙の了解を求めない

指示が伝わりづらいと感じた場合は、図やフローチャートなどの視覚的なアプローチも有効です。

また、言葉で伝える際は、主語・述語・目的語を意識して使い、責任の所在や関係性を明確にしておきましょう。

関連記事:オフショア開発におけるコミュニケーション課題の原因と解決策5選

予算に余裕を持たせておく

システム開発のための予算には、余裕を持たせるようにしましょう。当初のスケジュールや計画通りに開発が進むとは限らないためです。

仕様変更や思わぬトラブルで開発期間が延びれば、その分費用も加算されます。リスクヘッジとして、400万~500万円程度のIT投資ができる予算を確保しておきましょう

オフショア開発で発生する費用の大半はエンジニアの人件費です。ほかにも以下のような費用が挙げられます。

  • エンジニアの人件費
  • 設計費用
  • ディレクション費用
  • 運用・保守費用
  • 諸経費(通信費・渡航費・宿泊費・交通費など)

ほかにも経済・為替などの情勢変化による費用の変動もあります。オフショア開発の費用を詳しく知りたい方は、以下の記事もご参照ください。

関連記事:オフショア開発の費用|国別の単価相場とコストを抑える方法

仕様書作りを徹底する

仕様書作りを徹底することも大切です。

海外の文化では「仕様書に書かれていることが全てで、それ以上の業務をおこなう必要はない」との考え方が一般的です。

指示が漏れていると、思っていた仕上がりと違ったり、成果物の品質が低くなったりします。

日本では行間を読んでくれる場合もありますが、海外ではそのような商習慣がないことも珍しくありません。後々のトラブルを避けるためにも、明確な指示を漏れなく伝えることが大切です。

「ホームページでどのようなページ遷移の流れを実現したいか」「クリックやタップの操作で、挙動はどうなるのか」など、実現したい内容を細かく記載します。

リリースまでに完全な仕様を決めるのが難しい場合は、「アジャイル式」に対応しているオフショア開発を選ぶ方法もあります。

アジャイル式は、プロトタイプをリリースしてから品質改善・機能拡張をおこなう方法です。小さな単位で実装・テスト実行を繰り返し、徐々に開発を進めていきます。

Solashi Co., Ltd」では、アジャイル式のオフショア開発にも対応しています。仕様書作りでお悩みの方は、ぜひ弊社までご相談ください。

開発工程を一貫して任せられる委託先を選ぶ

開発工程を一貫して任せられるオフショア開発会社を選ぶことも重要です。

開発工程には、企画・ヒアリングから要件定義、設計、プロジェクト管理、テスト、リリース、運用、管理・保守まで、様々な工程があります。これらに一貫して対応可能なオフショア開発会社を選べば、安心して各工程を進められます。

また、ワンストップ対応が可能なオフショア開発会社の中には、ITやDXの戦略策定、事業成長のサポートまでおこなっているところもあります。中長期的な成功を見据えるのであれば、戦略に基づいて各工程を進めてくれるオフショア開発会社を選ぶとよいでしょう。

Solashi Co., Ltd」では、戦略策定のフェーズから一連のプロセスに並走し、プロダクトのリリース後もDev/Opsの体制を構築して事業成長をサポートします。

日本の事業会社でCTO・CPOの経験がある日本人プロジェクトマネージャーがサポートさせていただきます。

オフショア開発をスムーズに進めたいなら「Solashi」がおすすめ

<リニューアル後のサイトのTOPページ画像を挿入>

オフショア開発の進め方を解説しました。8つのステップをまとめると以下の通りです。

Step1.開発目的の明確化
Step2.要件定義の実施
Step3.依頼先の選定
Step4.依頼先と契約の締結 
Step5.キックオフ 
Step6.進捗管理 
Step7.動作確認・テスト 
Step8.プロダクトのリリース

この流れに沿って、オフショア開発を進める際、コミュニケーションを積極的に取り、進捗管理を徹底することが欠かせません。最適な開発パートナー会社を選ぶことも重要です。

円滑にシステム開発を進めるなら「Solashi Co., Ltd」にお任せください。弊社は、ベトナムでのオフショア開発で豊富な実績があります。

日本人PMによる提案やディレクションもおこなっているので、開発チームとのコミュニケーションに不安がある方でも安心です。

さらに以下のような特長があります。

  • ITエンジニアはハノイ工科大学・ベトナム国家大学・貿易大学といったトップ校出身者を中心に採用
  • 無駄な販売費をカットしているため、低価格で高品質のサービスが提供可能
  • ラボ型開発で、お客様の予算や開発工程に合わせた「スモールスタート」での開発が可能
  • システム運用・保守、プロトタイプの作成、IT導入に関するコンサルティングサービスなど、多様なサービスを実施

オフショア開発のメリットを生かして、新システムや新サービスの導入・リリースを考えている方は、ぜひ弊社までお問い合わせください。

島添 彰

合同会社Solashi Japan代表。1989年4月生まれ、福岡県出身。大阪府立大学大学院情報数理科学専攻修了。2014年サントリーホールディングスのIT機能をもつ「サントリーシステムテクノロジー株式会社」に入社。自動販売機の配送管理や効率化、販売管理システムの開発から運用、導入まで広く担当する。2017年にYper株式会社を創業、同社のCTO・CPOに就任。アプリ連動型の置き配バッグ「OKIPPA(オキッパ)」の立ち上げ・プロダクトのグロースに携わる。東洋経済社の名物企画「すごいベンチャー100」、Forbes誌による「Forbes 30 Under 30 Asia 2019」に選出される。

お知らせ一覧