– 人件費を抑えつつ、ITエンジニアのリソースを確保したい
– 低コストでプロダクトを開発したい
オフショア開発を検討中の場合、上記のようなニーズがあるかと思いますが、適切に行わなければオフショア開発が失敗に終わってしまうこともありえます。
オフショア開発の失敗では、次のようなダメージが考えられます。
– 納品されたプロダクトの質が低く、バグが多発して使い物にならない
– 依頼した仕様と異なるものが納品されてきた
– 予定していた納期を大幅にオーバーしてしまった
– 大幅な修正や作り直しが発生し、費用が想定以上にかかってしまった
こういったトラブルが重なった場合、プロジェクト自体が頓挫することもあり得ます。
今回は、こういった失敗を避けるため、オフショア開発で意識すべきことをまとめます。
適切な会社を選ぶこと
まず一番にオフショア開発会社の選び方が重要です。
オフショア開発では、オフショア開発先となる国や開発会社によって、特色が全く異なってきます。
自社でやりたいこととマッチした企業を選ぶことで、オフショア開発の成功確率も格段に上がるでしょう。
オフショア開発先を選ぶときのポイントは2つあります。
1つは、実績です。
自社の求めるサービスと類似した実績を持つ開発会社を選ぶようにしましょう。
開発会社によって在籍しているエンジニアは異なります。
過去に類似した実績がある場合は、その開発会社(および在籍するエンジニア)には類似サービス開発についてのナレッジが溜まっているため、プロジェクトがスムーズに進みやすいです。
もう1つは、契約方法です。
オフショア開発では、単発のプロジェクトをこなす請負契約と、一定期間エンジニアチームを確保するラボ型契約の2種類があります。
単発の依頼だけなら請負契約に強い会社を、継続的に依頼したいことがある場合はラボ型契約の経験がある会社を選ぶようにしましょう。
リクエストをはっきりさせること
請負契約では特にですが、依頼時に、仕様や納期といったリクエストを明確にしておきましょう。
依頼をする前段階でシステムに求めることをはっきりさせておくことで、「仕様と異なるものが納品された」というトラブルや、仕様変更に伴う追加費用の発生などを避けることができます。
ラボ型契約では、どんなプロダクトを作るか決まっていない状態でキックオフすることもありますが、その代わりに細かなコミュニケーションが必要です。
1つ1つのコミュニケーションで、こちら側の要望をはっきりとさせ、わかりやすく伝えるようにしましょう。
コミュニケーションロスを減らすこと
請負契約の場合は一度依頼をしたらほとんど開発会社にお任せすることができますが、ラボ型開発では開発チームと頻繁にコミュニケーションをとる必要があります。
ベトナムオフショア開発では、ベトナム人エンジニアの開発チームとやりとりをするため、言語の壁や文化の壁があり、コミュニケーションが課題になりがちです。
ベトナムは親日国なので、ベトナム人エンジニアの中には日本語対応ができる人も多くいます。
ですが、母国語以外の言語を仕事で扱うのは当然難易度が高いため、なるだけわかりやすく、簡潔に伝えることが大事です。
また、図解や画像を多用したり、和製英語を使う場合はスペルを書いて見せて誤解をなくしたりといった小さな工夫を重ねることで、コミュニケーションロスを減らすことができます。
エンジニアリングに集中してもらう
日本では、エンジニアにも顧客対応を期待する文化があります。
そのためベトナム人エンジニアにも、メールの丁寧さや、電話口での対応の精度を期待してしまうかもしれません。
ですが、こういった日本独自の文化を押し付けエンジニアリング以外のことで負荷をかけてしまうのは、双方にとってストレスに繋がります。
ラボ契約で確保した開発チームにも、エンジニアリングにのみ集中してもらうのが、オフショア開発でのトラブルを減らすポイントです。