こんにちは、スクーティー代表のかけやと申します。
弊社はベトナムオフショア開発・ラボ型開発や、生成AIコンサルティングなどのサービスを提供しており、私自身、今までベトナムのオフショア開発事業を10年以上やっています。
オフショア開発は、多くの企業にとってコスト削減や高度な技術力の獲得といった大きな利点をもたらしますが、適切なベンダー選定がなされない場合、プロジェクトは失敗に終わるリスクも高まります。
この記事では、ベンダー選定の重要性と、オフショア開発における失敗を避けるための具体的な戦略について詳しく解説します。成功事例と失敗事例を分析し、オフショア開発の効果を最大限に引き出す方法を明らかにします。この記事が、効果的なベンダー選定とオフショア開発の成功への道標となることを目指します。
オフショア開発の失敗を防ぐためにできること
よくあるオフショア開発失敗例
そもそも、「失敗」とはどのようなケースが想定されるのでしょうか。
私が様々なプロジェクトを見聞きしてきた限り、大体以下のようなケースに集約されます。
- 想定していたシステムと全く違うものが出来てしまう(機能要件がまったく満たされていないパターン)。結果的に、日本のベンダーに作り直してもらうことになる。
- ものすごく遅延する
- 機能上は想定したものが出来ているが、動作が遅かったり、セキュリティが甘かったりして、修正すべき点がやたら多い(機能要件は満たしているが、非機能要件が満たされていない、あるいはそもそも定義していなかったパターン)。
- あとで確認したらソースコードが大変なことになっている(同上。非機能要件の問題。)
なぜこのような事態に陥るのでしょうか。
オフショア開発の失敗事例やその原因に関しては、別の記事「ベトナムオフショア開発で失敗する原因とその解説」を御覧ください。
失敗を防ぐための適切なベンダー選定の重要さ
オフショア開発での失敗を防ぐためには、適切なベンダー選定が不可欠です。成功するオフショア開発プロジェクトの多くは、ベンダーとの強固なパートナーシップに基づいています。このパートナーシップは、ベンダーの技術力、経験、コミュニケーション能力、文化的適応力に深く依存しています。
適切でないベンダーを選んでしまうと、プロジェクトが失敗するリスクが高まりますし、成功に導くために発注側が人的、金銭的、時間的コストを払わないといけない状況になるでしょう。
したがって、ベンダーの選定はコスト面だけでなく、総合的な品質やサポート体制を考慮して行うべきです。低コストでの契約は魅力的ですが、品質が犠牲になる可能性もあります。したがって、コストパフォーマンスの高いベンダーを選定することが、オフショア開発の成功への重要なステップとなります。
では具体的に、どういう点を評価してベンダーを選定するのが良いか、以下に紹介していきたいと思います。
オフショア開発に失敗しないためのベンダー選定のポイント
開発したいシステムとオフショア開発会社の得意領域がマッチしている
オフショア開発で一番難しいのは、意図も含めて要件をオフショア開発会社側の開発チームに正確に理解してもらうことです。
例えばECサイトやゲームアプリなど、開発者自身がユーザーになりうるアプリケーションであれば、似たようなアプリを探してきて参考として渡しておくとかなり理解は進みます。
しかし、特にビジネス向けシステムは開発者がユーザーになりえないケースが多いので仕様が伝わりづらかったりします。もしそのようなシステムの開発、メンテをオフショア開発会社に委託することを検討している場合は(それを海外に投げるべきかどうかの判断は別として)、似たようなシステムの開発実績があるかどうかはかなり重要なポイントになります。
何らかの理由により(ありがちなのは上司の一存により)、実績のない開発会社に委託することになった場合は、要件を伝えるという最も上流で躓く確率が格段に上がります。
また、例え要件が正しく伝わったとしても開発実績が無いと、エラーハンドリングやログ出力、拡張性等の非機能要件を考慮した実装を期待するのはなかなか難しいのが実情です。
コミュニケーション方法の選択肢が充実している
ソフトウェア開発において、プロダクトマネージャーと開発チーム間のコミュニケーションは非常に重要です。オフショア開発だと特に、海を隔てた物理的な距離と、外国人同士のコミュニケーションが前提になりますので、コミュニケーションの密度はどうしても薄まります。そのコミュニケーションギャップをいやにして埋めるかは悩みどころです。
日系企業を主な顧客に持つオフショア開発会社は、主に下記のような体制を組んでいます。
- 日本支社を持ち、ブリッジができる社員を顧客企業のオフィスに常駐させる(いわゆるオンサイト)
- 日本人を窓口としてアサインする
- 発注側のプロジェクトメンバーに短期的、あるいは長期的にベトナムへ出張してもらい、開発チームと同じ空間でプロジェクトを進めてもらう
- 専門のブリッジエンジニアをアサインし、全てのコミュニケーションを橋渡しする
- 専門のIT通訳をアサインし、メールやドキュメントを全て日越語翻訳する
また、コミュニケーション頻度を上げるため、様々なコミュニケーションチャネルに対応している企業が多いです。
- 直接の日本語での会話(同じ空間で仕事している場合に限って)
- メール
- チャット
- テレビ会議
このような体制は、発注側の予算や、日本側で用意できるリソースに大きく依存します。限られた予算とリソースの範囲内で、最も効果的なコミュニケーション方法を提供できる開発会社を選択することが重要になってきます。
弊社スクーティーのコミュニケーション方法に関しては、「スクーティーのブリッジSEや通訳による円滑なコミュニケーションのための工夫」をご覧ください。
品質保証体制が整っている
日本の企業がなかなかオフショア開発に踏み出せない主な原因は、コミュニケーション上の不安と品質です。オフショア開発会社側が品質を求めるレベルで担保できる体制を組めるかどうかも、委託先を探す上での一つの重要な判断基準です。
ベトナムのオフショア開発会社には一般的にテスターがいて、開発者が機能を実装した後に、テストケースを作ってテストを実施し、テスト報告書を作成しているところが多いです。ただ、私の意見ではこの程度の体制では不十分で、一般的な日本企業が求める品質には届かないことがあります。
テスターのアサイン以外にも下記のような体制構築、あるいは資格保有をしている企業はありますので、求める品質レベルに応じて選定する必要があります。
<機能要件の保証>
- テストケース、テスト報告書の作成
- PHPUnit、JUnitなどで単体テストコードを書き、ある程度のカバレッジレートを確保
- Seleniumなどを使用したE2Eテストの自動化、デグレ防止
- テスト環境に頻繁にデプロイし、想定していた要件と、実際出来上がったものの早期すり合わせ
<非機能要件の保証、資格等>
- 非機能要件も含めた要件定義書の作成、提案
- ソースコードの静的解析
- ソースコードレビュー
- ツールを使用したセキュリティテスト
- ISO国際標準規格の取得
- CMMI取得
- インシデントやベストプラクティスの社内共有
ローカル企業、あるいはフリーランサーは特に単価が安い分、体制が不十分だったりします。テスターもいない、開発者もまともにテストしていない、というようなチームを私は数多く見てきました。そのようなチームが、一般的な日本企業が納得するような品質を出すのはなかなか難しいでしょう。
弊社スクーティーの品質管理に関しては、「スクーティーの品質保証」を御覧ください。
Webサイトや知り合いからオフショア開発会社の評判の情報を得ることができる
あまりないケースだとは思いますが、ネットなどで検索して、なんとなく評判良さそうだとか、想像以上に安いからなどの理由で決めてしまうのは非常に危険です。お知り合いの方や開発会社に実際の生の声を聞けるのが一番確実です。
それでもどうしても試してみたい場合は、小さく、失敗しても問題ないプロジェクトで試運転してみて、その結果をみてその後どうするか判断するなど、慎重に進めることを強くおすすめします。
私自身も、グローバルに開発者をマッチングする某ウェブサイトで自社プロダクトのプロトタイプ開発をベトナム人フリーランサーチームに依頼したことがあります。私はその時点ですでにある程度のベトナムでの開発経験があり、経験値の低い開発チームでもそれなりにコントロールできる自信はありました。
その時は、約1.5ヶ月の期間、エンジニア2名稼働していたので、実質3人月です。費用は600USDでしたので、単価に直すと200USD/人月という信じられない安さです。
そのプロジェクトで、一応製品は出来たことは出来たのですが、当初の計画に対してかなり遅延しましたし、品質の面もかなり妥協しました。正直、自分で作ったほうが速かったですし、品質もコントロール出来たので、ほとんど意味のないプロジェクトでした。
日本語の契約書を作成できるか、日本円で送金できるか
オフショア開発におけるベンダー選定で重要なのは、日本語の契約書を作成できるか、また日本円での送金が可能かという点です。これらは、契約の明確性と金融の安全性を保証する上で不可欠な要素となります。
まず、日本語の契約書の作成は、契約内容の明確化と法的トラブルの回避において極めて重要です。オフショア開発では、言語の違いによる誤解が生じやすいため、双方の理解と合意のもとに契約を結ぶことが重要になります。日本語での契約書が用意できるベンダーを選ぶことで、契約内容に関する誤解を最小限に抑え、プロジェクトの進行をスムーズに行うことができます。
次に、日本円での送金が可能かどうかも、重要な選定基準の一つです。通貨の変動リスクを避けることは、予算管理上非常に重要です。また、送金の手続きが簡素化されるため、管理コストの削減にもつながります。日本円での取引が可能なベンダーを選ぶことで、金融上のリスクを軽減し、プロジェクトの財務管理を容易にすることができるでしょう。
また前提として、社内で海外送金に対応していないような企業の場合、ベトナムにしか口座がない企業を選択することはできないでしょう。
これらのポイントは、オフショア開発において法的・財務的な安全性を確保する上で不可欠です。ベンダー選定の際にこれらの要素を考慮することで、プロジェクトの成功確率を高めることができるのです。
オフショア開発会社のある現地に訪問し、実際に会って話す
これは私自身が非常に強くおすすめしているポイントです。
オフショア開発において成功を収めるための重要なポイントの一つが、開発を担当する企業のある現地に訪問し、実際に関係者と面会することです。このアプローチにより、ベンダーの実態をより深く理解し、信頼関係を築くことが可能になります。
現地訪問によって得られる最大のメリットは、ベンダーのオペレーションの実態を直接目にすることです。オフィスの環境、従業員の様子、実際の作業フローやプロジェクト管理の方法など、実際に足を運ぶことでしか得られない情報があります。これらの情報は、ベンダー選定の判断材料として非常に価値が高いです。
また、現地での直接的なコミュニケーションは、言語や文化の違いによる誤解を減らす助けとなります。特に、オフショア開発ではコミュニケーションの課題が多いため、顔を合わせて話すことで相互理解が深まり、今後のプロジェクト進行においてスムーズなコミュニケーションが期待できます。
さらに、現地訪問は、ベンダーとのパートナーシップを築く上で非常に重要です。直接会うことで、相手の企業文化や価値観を理解し、信頼関係を築くことができます。この信頼関係は、将来的な課題やトラブルが発生した際に、迅速かつ効果的な解決へと繋がることが多いです。
オフショア開発のベンダー選定において、現地訪問は時間とコストがかかる作業ですが、長期的な成功を目指す上で非常に重要な投資と言えます。現地での直接のやり取りを通じて、信頼できるパートナーを見つけ、成功に導くための基盤を築くことが可能です。
弊社はベトナム国内のIT企業視察ツアーのアテンドも対応させていただきますので、お気軽にお問い合わせください。