1. DX支援サービス

    進化したデジタル技術を浸透させることで人々の生活をより良いものへと変革する

  2. ソフトウェア開発サービス

    VAREALだからできる、RubyとRuby on Railsに特化した、素早く柔軟なソフトウェア開発

  3. AI関連サービス

    データ活用と機械学習を用いたビジネスの着実な深化を。

  4. クリエイティブサービス事業

    美しいだけではない
    機能的UI/UXと正しいコーディング。

  5. 自社製品のご紹介

    自社製品のご紹介

  1. イベントサイト 「オンラインで集まろう 学研クリスマス&おとしだまウィーク」

  2. 株式会社ミクシィ様 チケット販売サイトの開発支援

  3. 株式会社ドワンゴ様 e-learningシステム「N予備校」

  4. スカイライト コンサルティング様コーポレイトサイトリニューアル

  5. ハイブリィド株式会社 様 [ IT-Manager SD ]

  6. ライオン株式会社様 パーソナライズされたレコメンドAIの開発

  7. 国際的機関の組織内システム開発

  8. 既存会計サービスのUI/UXデザイン改善

  9. 株式会社 クリニカル・トライアル 様 希少疾患SNS「RareS.(レアズ)」

  10. 保育園関連情報メディア開発

  11. 飲食店マッチングネイティブアプリ開発

  12. マッチングサイトメッセージ機能開発

  1. 製造業のDX支援〜営業日報管理システム開発〜

  2. ウォータージェット加工.com サイトリニューアル

  3. 佳秀バイオケムサイトリニューアル

  4. ライオン株式会社様 パーソナライズされたレコメンドAIの開発

  5. 佳秀工業株式会社コーポレートサイトリニューアル

  6. 開発コンサルティング

  7. 団体管理システム

  8. ITコンサルティング

  1. Webサイト訪問者分析のためのデータ分析基盤構築

  2. 製造業のDX支援〜営業日報管理システム開発〜

  3. ライオン株式会社様 パーソナライズされたレコメンドAIの開発

  4. 生産管理システム

  5. 仮想化サーバー導入

  6. タブレット端末導入

  1. ライオン株式会社様 パーソナライズされたレコメンドAIの開発

  1. イベントサイト 「オンラインで集まろう 学研クリスマス&おとしだまウィーク」

  2. ウォータージェット加工.com サイトリニューアル

  3. 佳秀バイオケムサイトリニューアル

  4. スカイライト コンサルティング様コーポレイトサイトリニューアル

  5. ハイブリィド株式会社 様 [ IT-Manager SD ]

  6. ライオン株式会社様 パーソナライズされたレコメンドAIの開発

  7. 国際的機関の組織内システム開発

  8. 既存会計サービスのUI/UXデザイン改善

  9. 株式会社 クリニカル・トライアル 様 希少疾患SNS「RareS.(レアズ)」

  10. 人材マネジメントシステムUI/UXデザイン

  11. 保育園関連情報メディア開発

  12. Vareal株式会社中途採用情報サイト

DevelopmentOthers

ベトナムの街

ベトナムでオフショア開発を成功させるためのポイント

オフショア開発とは

オフショア開発という言葉自体は、聞いたことがあるという人が多いのではないでしょうか。
海外へソフトウェア開発を外注することを、オフショア(=海外)開発といいます。
RubyとRuby on Railsをメインの開発言語としてシステム開発支援サービスを展開しているVarealは、ベトナムに開発拠点を持っており、オフショア開発の委託先としてベトナムが向いていることは以下の記事でも詳しく書いています。
日本の深刻なエンジニア不足とその対策:海外人材の活用について

今回は、ベトナムのオフショア開発でプロジェクトを成功させるためのポイントについて、実際にベトナムで案件を受託して成功に導いた経験をもつ開発会社の視点から解説していきます。

オフショア開発は難しい?

オフショア開発について調べていると、よく目にするのが、「コミュニケーションが難しい」という声です。
これは事実でしょうか?
日本人だけで開発しても、オフショアの開発会社を利用しても、開発に関してそもそも前提の考え方が間違っていたり、発注者と開発会社でコミュニケーションがしっかりと取れていなかったり、優先順位をあいまいにしたまま開発を進めたりすれば、プロジェクトはうまくいかないものです。
オフショア開発の場合、確かに言語の壁や国民性の違いはあります。
コミュニケーションの仕方などいくつかポイントを抑えることは必要ですが、逆に言えばそれを理解してしまえば、リスクなく品質の良いシステムを手に入れられる可能性が高いオフショア開発は、大変魅力的だと言えるのです。

 

オフショア開発のメリット・デメリット

まずはオフショア開発のメリットとデメリットをみていきましょう。どんな選択をする際もメリットだけではなく、デメリットも存在するもの。ですが、最初からデメリットを認識した上で対策を取ることで、失敗は未然に防げる可能性が高まりますので、ぜひポイントを抑えてください。

メリット

・大規模プロジェクト、長期のラボ型プロジェクトにおいて必要な数の開発者を確保しやすい。
・英語ベースでやり取りができる。
・開発はエンジニア、テストはQAで役割分担するため、高品質を担保できる。

メリットとしては大きく上記の3つがあげられます。
人口が減少し高齢化している日本では、若くて優秀なエンジニアは非常に確保しにくい状況です。それに比較して若年層の人口が増加しているベトナムでは、エンジニアをたくさん確保しやすいのです。そのため、大規模開発でエンジニアが多数必要な場合にメリットを発揮します。
また、発注者側に英語ができる人がいれば、ベトナム語ではなく英語でのやり取りが可能です。ベトナムでエンジニアになる人は大学で英語も学んでいるケースが多いです。日本語でのコミュニケーションの場合だと、「言わなくても分かるでしょ」「空気を読んでよ」といった具合にあえて言葉にしないことがありますが、英語にはそのような曖昧さがありません。それに開発言語は世界共通なので、英語ができればプロジェクトにおいて認識齟齬が起きにくくなります。
そして、システム開発を行う際には、作ったシステムが要件通りに動作するかを確認するため必ずテストをするのですが、ベトナムの場合は開発者は開発だけを、QAはテストだけを集中しておこなうため、効率よく開発とテストを行うことができて、品質の良い成果物が出来上がる可能性が高いのです。

デメリット

・コミュニケーションが難しい。
・細かい部分で意図が通じない場合がある。
・発注者が思想定していたものと違うものができあがる場合がある。

過去にオフショア開発をやってみてうまくいかなかったという人は、デメリットとして上記であげた「コミュニケーションの問題」が大きいと思います。確かにベトナム人開発者とは直接日本語でのやり取りができない場合が多いので、日本語で完全に意思の疎通をするのは難しいと感じるケースは多いかもしれません。デメリットとして3つあげていますが、1.コミュニケーションが難しい。→2.そのため、細かい部分で意図が通じない場合がある。→3.その結果、発注者が思想定していたものと違うものができあがる場合がある。ということなので、やはりコミュニケーションの問題が大きく、そこへ対策をして問題解決ができれば、オフショア開発は難しくはないと言えるでしょう。

ベトナムでオフショア開発を成功させるために抑えるべきポイント5つ

それでは、実際にオフショア開発を検討し始めたときに、抑えておくべきポイントについて5つご紹介していきます。
これを念頭に置いた上で、オフショア開発を進めていくことでプロジェクトで躓くことが少なくなり、より理想に近いプロダクトを作ることができるでしょう。

①目標やゴールだけでなく背景をできるだけ明確に共有しておく

 

以下の2点を意識して、開発に至った背景まで明確に共有すると認識齟齬が少なくなります。

  • 業界では当たり前のことを明確に言語化し伝える。
  • 口頭ではなくテキストや図で伝える。

発注者の業界で常識のことであっても開発者にとっては常識でないことのほうが多いので、業界では当たり前のことをあえて明確に言語化して開発者側に伝えることは重要です。
例えば赤字伝票という存在やその目的は、経理や小売では当たり前のものですが、開発者の多くはその概念を知らないですし、処理のプロセスもわかりません。
なぜその伝票が必要なのか、背景をエンジニアが理解せずに開発すると、仕様書に記載されている部分はそのとおり開発しますが、記載されていない場合は、常識とは異なる処理が内部的になされる可能性があります。
また、口頭で伝えるよりもテキストや図で伝えたほうが良いでしょう。
口頭で伝える相手はプロジェクトリーダーやブリッジSE、ITコミュニケーターになりますが、実際に開発やテストをするのは口頭で話を聞いていない開発者やQAです。
彼らにもわかるように製品やプロジェクトの目標、ゴール、そして背景をテキストや図で記載しておくと、要件や仕様書には記述されていない部分に関しても方向性のずれが少なくなり、細かな軌道修正にかかる時間を減らすことができます。
システム開発を外部委託する際は、最初の段階でのコミュニケーション、相互理解や要件定義がとても重要です。
プロジェクトがスタートして最初のうちは時間がかかっても、業務経験のない新入社員に教えるつもりで丁寧に伝えるように心がけましょう。
そうすればトータルで発注者の時間的・金額的コストを下げることができます。

②密なコミュニケーションをとる

これはオフショア開発でなくとも、開発を外部に依頼する際は注意したいポイントではありますが、オフショアの場合は特に意識して下さい。
開発中は、日々仕様がわからない部分が出てきますが、それについて発注者側が質問に答えないでいると、開発者は作業を進められません。またレスポンスが遅いと開発のリズム感も悪くなり、全体のパフォーマンスが落ちる傾向にあります。
テキストチャットやオンラインで共有できるQAリストを導入し、プロジェクトチームで朝礼を開く、毎日2回QAの返答時間を設けるなど、ルールを決めて運用するのがおすすめです。
そうすればエンジニア側もそれを見越して複数のタスクを準備し、回答を待っている間に他のタスクを進めるなど、無駄なく業務を進められます。
やっていくうちに意思疎通のレベル感やタスク完了の見通し精度など、開発会社側のプロジェクトチームの特性が見えてくるので、発注側がそれに対してうまく呼応すればプロジェクトの効率を高めることができます。
また、進捗や課題を確認するための定期的なミーティングは必須。スケジュールの遅延や困っていることはないか、仕様にずれはないかなどを確認します。その際、できるだけ途中段階のデモを確認し、注意深く機能やUIを見るようにしましょう。
ミーティングは最低週1回行うのがおすすめです。万が一想定と違うものが開発されていた場合、2週間に1度だと半月分を、1ヶ月に1度では1ヶ月分の時間を無駄にしてしまうことになりかねません。
定期的にミーティングを開くことで、開発会社側から質問をする時間をあたえたり、テキストチャットや報告書には出てこない細かい仕様の確認やすり合わせを行うことができます。

③スケジュールと納期にバッファを積んでおく

開発プロジェクトは小さなものでない限り遅延しがちです。
規模が大きくなればなるほど、想定していた工数と実際の工数のブレが大きくなる傾向にあります。
発注側が最初から完璧な仕様書を準備していることはまずありませんし、開発側が想定していなかった機能や要件が後に追加になることもよく起こります。
お互い十分に理解したつもりでも仕様や要件の解釈が異なることもあります。別の会社同士でひとつのプロジェクトを進めていくのですから、認識齟齬が出るのは当たり前です。
そのような前提を頭に入れた上で、発注側の担当者はスケジュールと納期には必ずバッファを積んでおき、そういった自体に備えるようにすると良いでしょう。想定より早く開発が終わる分にはあまり困らないと思いますが、余裕のないスケジュールを組んでしまうと必ずと言っていいほど遅延しますので、バッファを持たせることを意識するようにしましょう。

④早めに、念入りに受け入れテストを行う

大規模なプロジェクトでない限り、受け入れテストを発注側が念入りに行うことは少ないのですが、オフショア開発では必ず念入りに受け入れテストを行うことをおすすめします。
なぜなら、仕様書通りにはできているが、発注者側の想定と異なることはよく起こるからです。
また開発会社側は受け入れテストの期間中はエンジニアやQAを待機させますが、テストが期間の最初から行われることを想定しているので、例えば発注側の担当者が忙しくてなかなかテスト環境でのチェックができない状況で、受け入れ期間の後半に修正したい箇所が見つかったとしても、受入テスト期間中での修正が間に合わない場合があります。
そのような場合は致命的なものを除いて優先順位を落とし、一旦リリースしてから落ち着いたタイミングで修正するといった対応になりますので、そういった事態を避けるために、早めに念入りに受け入れテストを行い、早めにフィードバックを返すようにすると良いでしょう。

⑤可能であれば英語で直接やりとりをする

発注側が日本語しか話せない場合、翻訳・通訳をおこなうブリッジSEもしくはITコミュニケーターを入れたチームを構成する必要があります。
Varealでは、そのようなケースでは日本人SEを入れた体制をご提案していますが、その分、全体的にコストはあがってしまいます。
オフショア開発が初めてで、なおかつ英語でのやり取りが難しい場合は、日本人SE+ベトナム人エンジニア、QAといった体制で、日本人を窓口にして、安心して開発を進めていただくことも可能ですが、英語ができる人が発注側にいる場合は、英語ベースでベトナム人SEやエンジニアと直接やりとりをすると良いでしょう。
オフショア開発のメリットでも触れたとおり、英語には日本語のような曖昧さがないので、コミュニケーションロスの発生を減らすことができます。
また、そうすればエンジニアとQAのみのチーム構成で済み、投入工数を削減できる可能性が高くなります。
可能であれば英語で直接ベトナム人SEやエンジニア、QAとやりとりすることをおすすめします。

まとめ

以上、オフショア開発を失敗させないためのポイントについて解説しました。
ここにあげた5つのポイントを抑えておけば、より効果的にオフショア開発会社を使って、作りたい理想のシステムの開発を実現できるのではないでしょうか。
これからオフショア開発を検討している人はぜひ参考にしてみて下さい。

関連記事

%d bloggers like this: