ベトナムオフショア会社との

効果的な連携方法

ベトナムオフショア会社との
効果的な連携方法

オフショア開発パートナーの選定ポイントと開発フェーズにおける注意点

オフショア開発パートナーの選定ポイントと開発フェーズにおける注意点

ベトナム・ホーチミンの老舗オフショア開発会社であるAllexceedが、ベトナムにおいて、オフショア開発会社を上手く活用し、結果を残しているお客様が実践しているオフショア開発会社の上手な使い方をご紹介いたします。
全てを網羅する必要はありませんが、省エネルギーで実践できるものに関しては取り入れていくことで少しでも効率化を目指してはいかがでしょうか?
01

オフショア開発会社の選定

オフショア開発会社の選定

まず、一番重要なのはオフショア開発会社の選定です。

大前提として、オフショア開発会社自体がしっかり開発を行える会社でなければ、いくら委託側が頑張ったところで限界があります。

ベトナム・ホーチミンでのケースを含めながら、パートナー選定におけるポイントをご紹介します。

すでに信頼できるパートナーが存在する場合は、読み飛ばしていただければ幸いです。

会社環境
会社環境

会社環境は非常に重要となります。

会社環境は社員の定着率と相関関係があり、社員の定着率が悪い場合は頻繁なスタッフの変更が発生し、習熟度が上がり、技術が向上してきたタイミングでスタッフがいなくなってしまうという負のスパイラルに陥ります。

ベトナムは転職に対して、日本より身軽ですので、より社員の満足度を追求することがオフショア開発会社として求められています。

その他、ベトナム・ホーチミンにおけるパートナー選定のチェックポイントをいくつかご紹介します。ベトナム・ホーチミンに限らず他国でもあてはまる内容も多く含まれております。

立地
立地は社員の満足度と直結します。もちろんリモートワークがメインの会社では以下は当てはまりません。
ホーチミン1区周辺
1区はホーチミンの一等地です。一等地の企業に対して、スタッフも憧れを持って就職します。ホテルへのアクセスも良く、オフショア開発会社選定先としては最初に候補に上がるのでないでしょうか?
デメリットしては、地価の関係上、スタッフの駐車場がどうしても遠くなってしまう可能性が高く、食事代も高くなるため、避けるスタッフもいるようです。
空港周辺(タンソンニャット国際空港)
空港周辺はローカル系のオフショア開発会社も多く存在し、人気のスポットとなっています。地価も1区周辺より少し安く、コストも抑えることができます。空港からのアクセスは抜群です。
デメリットとしてはラッシュ時の渋滞が酷いことが上げられます。日本人街からも遠いため、出張時には少し苦労するかもしれません。
ホーチミン ビンタン区(Binh Thanh区)
ビンタイン区(Binh Thanh区)は1区に隣接し、ドンナイやビンズオンなどの工業地帯が多いホーチミン市近郊への移動に便利な都心地区です。地価も1区より安いため、開発費も比較的安めになる傾向があります。
グエン・フ・カイン通りのサイゴン川沿いのエリアは、美しい景観で、多くの高級ビルがあり、1 区の中心部に非常に近く、駐車場も多くあるため、企業にとってオフィスを置くのに理想的な場所です。 当社のオフィスもこのエリアにあります。 ただし、従業員が食事をする場所が少ないのがデメリットです。
ホーチミン市郊外
郊外にも立地している会社は多く、傾向として大規模のオフショア開発会社ほど郊外に立地しています。
デメリット・メリットはそれぞれの場所によって違いますので、選定時に確認する必要があります。
オフィスの綺麗さ
オフィスの綺麗さは社員の定着率と相関関係があります。立地が良くても環境が粗悪であれば、社員は定着しません。HPの写真は綺麗な状態で撮っているものです。実際に足を運んで確認してみてはいかがでしょうか?
福利厚生
福利厚生は言わずもがな重要です。重要視されるのは所得関連だけでなく、ベトナムは昔の日本のように会社のメンバーと家族のように仲良く仕事をしたい傾向が強いです。社員旅行やチームビルディングの有無などもチェックしましょう。
品質
オフショア開発の品質

品質に対するオフショア開発会社の取り組みは成果に直結します。品質の違いはどこで発生するのか、チェックポイントとして紹介します。

取得している規格
ISO9001やCMMIなど品質に関連する規格をチェックしてください。規格維持には定期的な外部監査が必要で、より効率化されたシステム開発プロセスを保持しているかが分かります。より効率化されたシステム開発プロセスを保持している場合は、スタッフの離職があったとしても、作業プロセスの平準化により、開発効率低下のリスクは低減されます。
教育制度
品質の維持には社員の教育制度が重要です。世界での品質に対する意識はそれぞれ違い、日本には日本特有の品質への意識があります。日本品質への教育がされているかどうかでオフショア開発会社としての使い勝手が大きく変わってきます。また、ベトナム人は非常に自分のキャリアパスへの関心が強いので、教育制度の充実は欠かせません。
テスト工程のプロセス
オフショア開発会社側で第三者検証やソースコードレビューなどの2重チェックが存在するか確認しましょう。オフショア開発においては明確に作業分担されることから、日本側では業務分析〜システム分析の、主にお客様の要求実現に関心が集まり、オフショア開発会社側では詳細設計〜単体テストの、主に日本側からの仕様実現に関心が集中します。この視点の違いは、テスト範囲の漏れや要求機能の実現漏れを生み出します。委託側からの仕様に合わせた実装結果の検証だけでなく、実装がお客様の要求を満たしているかどうかの妥当性確認も行うことにより、これらの漏れを防止することに繋がります。第三者検証などの2重チェックは妥当性確認に有用です。
セキュリティ
ISO27001などの情報セキュリティに対する規格
ISO27001などの情報セキュリティに対する規格をチェックしてください。また、過去の開発実績からもセキュリティに厳しい案件をこなしてきたかがはっきりと分かります。過去の開発実績もチェックしてください。
管理層に日本人が存在するか
日本人管理層
管理層に日本人が存在するかはオフショア開発会社の使い勝手として大きく変わってきます。開発単価としては、ローカル企業に比べて高くなる傾向にはあるものの、トラブル発生時の相談のしやすさ、スタッフの日本品質への理解などメリットも多く存在します。
料金体系
オフショア開発の料金体系
オフショア開発には様々な料金体系があります。料金体系のチェックポイントとして以下を紹介します。単純な単価だけでなく、トータルで価格比較した上で、検討してみましょう。
SE単価
SE単価もそれぞれで一律料金の会社やスキル毎に価格の違いがある会社、経験年数で値段が変わる会社などあります。それぞれの特徴を見比べて、より良い会社を選定しましょう。
通訳・管理費・BrSEの単価
スタッフとのやり取りには通訳もしくは日本語を話せる開発者の存在が必須となります。こちらがSE単価に包括されているのかもチェックしましょう。またはプロジェクトマネージャーによる管理費も包括されているケースとされていないケースがあります。BrSE(ブリッジSE)がつく場合は基本的に価格には包括されていないケースが多いですが、メリットもありますので、理解した上で利用しましょう。
会社選定に利用できるチェックポイントを紹介しましたが、オフショア開発会社の選定時には是非足を運んで、チェックしてください。数値だけでは判断できない部分が見えてきます。その際、もし許されるのであれば、オフショア開発会社の日本人だけでなく、管理層のスタッフとも会話してください。通訳のレベルも見えてきますし、SE達の意識も見えてきます。実際に訪れてベトナムの熱量を感じ、アジアの底力を確認してみてはいかがでしょうか?
02

パートナー選定後の開発フェーズ

パートナー選定後の開発フェーズ

パートナーの選定も終わり、実際に開発開始してみたが、上手くいかないケースもあると思います。現状、ベトナムのコストアップが進み、安価な開発だけでなく、リソースの確保目的が進んできています。外部リソースとして効率良く活用できれば、繁忙期の強力な助っ人になりますが、失敗すると悩みの種になってしまいます。以下、パートナーにも依存しますが、一般的に失敗を未然に防ぐことができるポイントを紹介します。あくまでも委託側者側からできる施策のみに絞っていますので、それぐらいオフショア開発会社側が管理すべきではと思われる内容も一部含まれていますが、ご了承ください。

※弊社では、以下問題を重々承知の上で、問題が発生しないようにオフショア開発会社側からご依頼させていただくことで、円滑に活用していただけるように努力しております。

システム開発開始前に情報共有の実施

特に継続的に開発があるシステムにおいて、事前に説明会などを実施し、情報を共有しておくと、多くのメリットがあります。以下はその際に共有しておくべきポイントを紹介します。

1. 開発計画を明確する

システムを予定通りに完成させるためには、開発計画(マイルストーンを含む)を明確する必要があります。また、開発が予定通りに進んでいるかを把握するために進捗確認のフォーマットも事前に決定しておくとベターです。

2. 作業範囲の明確化

企業によって、各作業工程の作業内容、成果物などが異なります。プロジェクト開始時に作業工程別の作業内容を明確にすれば、作業工程のずれを未然に防ぐことができます。

3. 用語辞書の共有・命名規約の明確化と共有

開発で使用する各種名称の命名規則を標準化し、要求分析/システム分析工程の成果物の仕様理解と、 以降の工程の成果物の効率的な作成が目的となります。 これは、オフショア開発会社側にとって不慣れな言語で記述された設計書の読解と、以降の設計書の作成時に有用です。さらに、オフショア開発会社側に対して、命名規約・用語を明確にしておくことで、下記をねらいます。

・委託側から受け渡した設計書の理解度向上

・オフショア開発会社側での仕様書作成の品質向上

・受け入れ時のチェックに利用 委託側にとっても、日本語の誤用や説明不足がある設計書を理解し、レビューする上でも利用可能です。

4. 共通機能の明確化

品質向上、開発効率の向上が目的となります。 具体的には、オフショア開発会社側には、一般的に次の傾向があり、それを防止する必要があります。

・提供されたサンプルや最初に作成した開発物を繰り返しコピー&ペーストし、 それを書き直して成果とする。

・コピー&ペーストにより設計や実装がなされる結果、共通コンポーネント・共通機能・汎用モジュールとして考えられる類似の機能がいくつも作成されることになる。

5. 書類の記述レベルの明確化

特にお客様にオフショア開発会社側の成果物を提出する場合には実施すべき点として、書式記述レベルの明確化があります。詳細設計書、Q&Aシートやテスト成績書(エビデンスの要不要・レベル感)など、事前に書式を指定しておくとばらつきを現象させ、工数の削減が図れます。例外処理/エラー処理についても、記述して欲しいレベルで適切にサンプルに含めておくとベターです。

6. テスト粒度の明確化

書類の記述レベルの明確化と併せて、テスト粒度についても明確化しておくと、未然にミスを防げます。

7. 仕様未決定部分の明確化

開発期間不足などの関係で、要求分析〜システム分析〜アーキテクチャ設計工程の、日本側作業での仕様未確定部分が多いまま、オフショア側に開発依頼をする場合も少なくありません。成果物の仕様未決定部分は、未決定であると明確に提示しておくと混乱を防ぐことができます。

8. 開発環境、テスト環境の明確化

OSやデータベース、プログラミング言語、フレームワーク、IDE、使用ツール、使用ブラウザ、画面解像度、バージョン情報などの開発環境、テスト環境情報を明確にすることで、オフショア開発会社側の開発環境、テスト環境に差異が生じることを防ぐことができます。

相違がある場合は、やり直しが必要になります。発見が遅くなるほど、やり直しコストが高くなります。 最悪の場合は、システムが予定期間通りに完了できないことです。

そのため、オフショア開発会社が正しく認識していることを確保するために、情報共有を徹底する必要があります。

9. 開発ルールの明確化

コーディング規約などの開発ルールがある場合は、手戻り作業が発生しないようにオフショア開発会社へ明確にすることも必要です。

サンプルプログラムのチェック

新しいプロジェクトが開始される際には、かならず1本以上のサンプルプログラムをオフショア開発側に作成させて、チェックしましょう。その際は意識レベル・理解度までチェックするとベターです。

繰り返しチェック

オフショア開発におけるオフショア開発会社にとっては、やはり慣れない言語でのコミュニケーションとなることから、

・(委託側からは)オフショア開発会社側の理解の度合いがわかりにくい

・(オフショア開発会社側では)誤った理解で思い込んでしまう

という事象が発生しやすいです。

関連する内容をお互いで確認することなく進めてしまい、誤解が解消されないことへの対処が目的です。オフショア側プロジェクトに任せたままにしていると、成果物が出来ていなかったり、品質が著しく悪かったりします。 それらのチェックを確実に行なっておく必要があります。 日本側で適切にチェックすることで、品質向上・開発工数低減につながります。 プロジェクトのサイズ感に合わせて、日本側にチェックのための工数と人材を確保しておくことがオフショア開発会社を利用する際のポイントとなります。

国が違えば、考え方や文化が違うため、事前の準備が肝要です。当然実施されるであろうと期待し、明確化しないでおくと、最終的な成果物にずれが発生しがちです。ただ、冒頭でも紹介した通り、パートナーの作業プロセスにより、必要性が大きく異なります。オフショア開発経験が豊富でなパートナーであれば、自己判断をせずにQ&Aを実施し、解決した上で進めます。あくまでも、オフショア開発でありがちなミスを防ぐポイントとして紹介しました。こちらの内容はオフショア開発向けUML適用ガイドラインに詳しく記載されていますので、興味があればご確認ください。

03

チームビルディングの力

最後にモチベーションという曖昧ですが、重要なポイントを紹介します。具体的には効果が見えづらいため、軽視されがちではありますが、特にオフショア開発においては重要と考えます。
是非、ベトナムに実際に関わる担当者の方もお連れして、プロジェクトメンバーとチームビルディングを実施してください。
具体的には一緒に食事に行くだけで問題ありません。
「同じ釜の飯を食べた仲間」という考え方は世界共通です。
リモートワークへの適応などで、対面の必要性が大きく減った昨今ではありますが、ベトナムの熱に触れて、刺激をもらいつつ、ベトナムオフショア開発スタッフと楽しい時間を過ごし、信頼関係を構築してみてはいかがでしょうか?
04

まとめ

● オフショア開発会社の選定は重要
● 開発時は意識レベルの統一が重要
● 是非チームビルディングの実施を!
ベトナムでのオフショア開発に関するご相談は、「ALLEXCEED VIETNAM」へご相談ください。
私達はお客様のパートナーとして寄り添い、双方にとってプラスとなる関係を構築できるよう誠実なシステム開発を行っております。そのために、経験が長く優秀なエンジニアの経験を業務プロセス化することで品質の担保を行っております。
ベトナムのオフショア開発に関するより詳細情報は下記記事より確認いただけます。

何故ベトナムでシステム開発を?

何故ベトナムでシステム開発を?

サービスについてのお問い合わせ