こんにちは。VOC事務局です。

「初めてオフショア開発活用でどのように進めていけばよいかわからない。」
このようなご不安をお持ちの方も多いのではないでしょうか。

本コラムでは『初めてのオフショア開発を失敗に終わらせない為のコツとは』をご紹介致します。

オフショア開発を失敗に終わらせない進め方

ポイント①:オフショア開発を活用する目的や期待値を明確にする

オフショア開発会社に発注する前に、まずは自社内でオフショア開発への取り組みに対する意識統一をすることをお勧めします。
ビジネス背景の理解・開発目的・期待値・オフショア開発会社に求める優先事項などを確認し社内で共通認識を持てるようにしましょう。進める上での軸が定まりその後の判断がしやすくなります。

例えばオフショア開発会社の選定をスタートすると、各会社から様々な提案があります。「コストが安い」「品質管理を徹底している」「上流工程から対応できる」など会社に併せて様々な特徴があるため、”何を重要視するか”を事前に決めて置くことで、自社に本当に合うオフショア開発企業を選ぶことができます。

また実際にプロジェクトがスタートしたときにベトナム側のメンバー全員にビジネスの背景やオフショア開発求める期待値を初期に伝えることはオフショア開発を成功させる為のひとつ目のキーポイントとなります。委託元の日本人担当者きちんと目的を理解して進めていくことで、例えばなにかトラブルが発生した場合でも、作業の優先順位をつけやすくなり、プロジェクト進捗への影響も最小限に抑えることができるでしょう。

ポイント②:認識齟齬が起きない書き方で仕様書を作成する

オフショア開発に置いて、仕様書や設計書などをきちんと作りこむことがとても重要です。オフショア開発では一般的に、仕様書漏れや書かれていないことは”作業しなくてよいこと”と解釈されることが多いです。また、 文化も言葉も違う開発チームに頼むということを念頭に置き、「なるべく」や「できれば」といった、読み手に幅広い解釈を委ねるあいまいな表現は避けて作成しましょう。

具体的には、画面構成や遷移図、モックアップがあると、ユーザーの動きが想像しやすく、認識齟齬が起きにくいでしょう。

「準備する時間がない」「後々変更が入る可能性が高い」という場合はシステムがどのようなユーザーにどのようなプロセスで使用されるのかが理解できるよう、メインのユーザータイプ、ユーザーフローは必ず明記しておきましょう。
こうすることで、オフショア開発の失敗例として挙げられることの多い「ユーザー視点がなくユーザーにとって使い勝手が悪いものが出来上がってしまう」を防ぎます。

ポイント③:開発プロセスを工夫する

オフショア開発を進める上での開発プロセスについては、日本人同士のやり方ではなく、早い段階でレビューできるような体制に開発プロセルを工夫することが重要です。

例えばオフショア開発において品質に乖離が起こる可能性が高いです。これは日本人が求めるものが高いということも要因にあります。その為、最後の受入テストのみでレビューを行う開発体制では、「創りたかったものと違う」となった場合、納期に間に合わない、間に合わせる為に期待値を下げるという残念な結果に繋がり兼ねません。

よい品質結果を出すために、初期段階で「いつの段階でどのようなテストをするのか」を決めておくとよいでしょう。 認識齟齬が起こるという前提で、どのプロセスも早期レビューを行うことをお勧めします。特に開発スタート直後は3日後、1週間後には必ずコードレビュー等を行うようにしましょう。

ポイント④:オフショア開発チームと”Oneteam”になる

オフショア開発では、オフショアのエンジニアメンバーがいかに、プロジェクトやビジネスの背景を理解、ゴールの共有、自分事としてとらえ作業に取り組むモチベーションを高められるかがとても重要です。委託元とオフショア開発チームはOneteamにならなければなりません。

その為にはただの開発者として捉えるのではなく、隣に座っている一社員として接することが重要です。いつでも気軽に話しかけられる環境を提供したり、時には雑談を交えた会話やオフショア開発国の文化に寄り添うことで双方の信頼関係を深め、また仕事においてはきちんとフィードバックし成長を促すことも重要となります。

オフショア開発の委託元の担当者はマネジメント力が求められるため、マネジメント経験がある人材の方がよいと言えます。

まとめ

ここまで初めてのオフショア開発を失敗に終わらせない為のコツをご紹介しましたが、オフショア開発は海外のエンジニアを活用する為、どうしても日本人同士のような進め方ではうまくいかないこともあります。

まず初めはオフショア開発国の文化やビジネス習慣を理解し、早期にエンジニアメンバーと信頼関係を気づくことがオフショア開発の成功への近道といえるでしょう。

また開発当初はオフショア開発ならではの大変なこともあるかもしれませんが、双方がやり方を工夫することで生産性が向上し、自社にとってなくてはならないチームを創ることもできるでしょう。