ベトナムオフショア開発に向く3つのプロジェクトと、向かない3つのプロジェクト

ベトナムに向くプロジェクトの特徴

ベトナムへのソフトウェアのオフショア開発については昔から肯定的な意見と否定的な意見があります。昨今のベトナムの人件費の向上と日本の人件費の低下、そして円安もあり、コストダウン効果が見込めなくなってきています。しかし、単に海外オフショア開発が良いか悪いかという単純な問題ではなく、ベトナムの特徴を踏まえて、どのようなプロジェクトが向いているのか見極めることが重要です。本記事では、ベトナムにおけるオフショア開発に向く3つのプロジェクトと、向かない3つのプロジェクトを紹介します。

ベトナムに向くプロジェクト

1. 生産拠点や流通拠点を持つERPシステム開発

日本企業がベトナムに自社の生産拠点や流通拠点を持ちそのためのERPシステムを開発する場合、ベトナムは適した場所と言えます。ベトナム企業はベトナムの市場に精通しており、日本企業もベトナムの物流や製造現場に慣れています。また、ERPシステムの構築経験も蓄積されており、ベトナムのソフトウェア業界は成熟しています。さらに、ベトナム人の日本語通訳者の能力も向上しており、生産や流通に関わる日本語も習得しています。このような環境下でのERPシステム開発は、効率的かつ円滑に進めることができます。

2. ライトなWeb開発など経験を必要としない開発分野

技術の進化が激しいWeb開発など、比較的ライトで長年の経験を必要としない開発分野においても、ベトナムは適した場所と言えます。これらの分野では、若くて習得の早い技術者が求められます。ベトナムの技術者は熱意を持ち、新しい技術の習得に積極的です。また、技術自体も日本やベトナムといった特定の地域に依存せず、汎用性の高いものが多いため、ベトナムの技術者との協力により効果的な開発が行えます。

3. BPO的なプロジェクトでの教師モデル開発や画像タギングなど

ベトナムはAIにおける教師モデルの開発や画像のタギングなどのBPO的なプロジェクトにも適しています。ベトナムの基礎教育レベルは高く、労働者の字の読み書きやPCの使用能力に問題はありません。また、ベトナムはピラミッド型組織を構築しやすい文化的環境が整っているので大量生産に向いています。これらの要素を活かして、BPO的なプロジェクトをベトナムで展開することは効果的です。

ベトナムに向かないプロジェクト

1. コストダウンが目的のインクルーシブなプロジェクト

単純なコストダウンが目的のインクルーシブなプロジェクトは、ベトナムにとって戦略的な選択肢とは言えません。最初は若くて安いエンジニアを投入することで一時的なコストダウン効果を得るかもしれませんが、時間が経つにつれて人件費が上昇し、コストが増加してしまいます。また、ベトナムのエンジニアも自身のキャリアパスを考えるため、離職率が高く、人材の取り替えが困難になる場合もあります。

2. AIなど最先端技術のラボラトリーとしてのプロジェクト

ベトナムはAIなどの最先端技術のラボラトリーには向いていません。ベトナムは積極的な技術開発を行っていますが、他の国々も同様に積極的であり、特にアドバンテージがあるわけではありません。また、最先端技術になるほど人件費が高くなり、ベトナム価格でも他の国と競争することが難しい場合があります。このような背景から、ベトナムにおける最先端技術の開発には慎重な判断が求められます。

3. 最終消費者向けのセールスやマーケティングシステム

最終消費者向けのセールスやマーケティングシステムは、ベトナムとの文化や商習慣、法律、税制などの違いにより、開発が困難となる場合があります。ベトナム側で日本のマーケットに適したシステムを開発することは難しく、逆に日本側でもベトナム市場に合わせたシステムを構築することは容易ではありません。ただし、バックエンドのシステムに関しては国による違いは少ないため、ERPのようなバックエンドのシステム開発はベトナムでも適しています。

以上がベトナムにおけるオフショア開発に向くプロジェクトと向かないプロジェクトの一例です。プロジェクト選定においては、ベトナムの特徴や環境を的確に把握し、ベターな組み合わせを選ぶことが成功への重要な戦略となります。

関連記事

従来開発 vs ローコード開発比較

基本概念

企業のデジタル化が加速する中、システム開発手法の選択は事業成功の鍵を握る重要な決断となっている。従来開発は、プログラマーがコードを一から書き上げる伝統的な手法で、高い技術力と豊富な経験が求められる。一方、ローコード開発は視覚的なインターフェースを活用し、最小限のコーディングでアプリケーションを構築する革新的なアプローチである。両者の特徴を正しく理解することで、プロジェクトに最適な選択が可能になる。

費用対効果

従来開発では高度なスキルを持つエンジニアの確保が必要で、人件費が開発コストの大部分を占める。特に大規模プロジェクトでは、設計から実装、テストまで長期間の人的リソースが必要となり、総コストは数千万円規模に達することも珍しくない。対してローコード開発は、専門知識が少ない人材でも短期間でアプリケーション構築が可能で、初期投資を大幅に削減できる。しかし、プラットフォームのライセンス費用や将来的なカスタマイズ制約を考慮すると、長期的なコスト効率は慎重に検討する必要がある。

開発速度

開発期間において両手法の差は歴然としている。従来開発では要件定義から本格運用まで数ヶ月から数年を要するケースが一般的で、複雑な機能実装には綿密な設計と段階的な開発が必要である。一方、ローコード開発は既存のテンプレートやコンポーネントを活用することで、数日から数週間での迅速なプロトタイプ作成が可能である。特にビジネスアプリケーションや内部管理システムでは、従来開発の10分の1以下の期間で実装できる場合もある。ただし、複雑なロジックや高度な機能が必要な場合は、結果的に従来開発と同等の期間を要することもあるため、プロジェクトの性質を見極めることが重要である。

品質と制約

システムの品質面では、それぞれ異なる特徴がある。従来開発は細部まで制御可能で、パフォーマンス最適化や独自機能の実装において高い品質を実現できる。セキュリティ要件が厳格なシステムや大量データ処理が必要な基幹システムでは、従来開発の柔軟性が威力を発揮する。ローコード開発は標準化されたコンポーネントを使用するため、一定の品質は保証されるが、プラットフォーム依存による制約がある。また、複雑な業務ロジックの実装や外部システムとの高度な連携において、期待する品質レベルに到達できない可能性もある。品質要件と開発リソースのバランスを慎重に評価することが成功の鍵となる。

まとめ

最適な開発手法の選択は、プロジェクトの目的、予算、期間、品質要件を総合的に評価して決定すべきである。ローコード開発は迅速性とコスト効率に優れ、内部業務システムや簡易的なWebアプリケーション開発に適している。従来開発は高い技術的要求や独自性が必要なシステムに最適である。重要なのは、どちらか一方に固執するのではなく、各プロジェクトの特性に応じて柔軟に選択することである。

続きを見る >

内製化の成功術

IT報酬の実態

海外と比べて日本のITエンジニアの報酬が低いという記事をよく目にする。それもそのはずで、ハイクラスIT人材は都合のいい「何でも屋」にはならないからである。

導入時の誤解

ユーザー企業やシステムのユーザーは、IT化を行うことで業務が減るという先入観を持っていることがある。システム導入を着手したときの目的を忘れて、その時、その場の課題を優先して都合よくITエンジニアを動かしてしまう。また動くITエンジニアもそこにいたりする。

システムと医療

たとえば、「お腹が痛い」と病院にいって「すぐに切開しよう」とはならないはずだ。このようにシステムにもその他にも色々な条件が絡まり合っている。システムは取り扱う情報量や関連する業務が多く導入に時間がかかる。時間がかかる結果、最初の導入目的を忘れてしまうのである。

真のIT人材価値

ハイクラスIT人材はユーザー側の状況と心理を配慮しつつ、現場のプログラマーの状況と心理を考慮して陣頭指揮できる人材といってもよいだろう。心理というのは物の言い方だけではなく、無形の財産を構築したり業務にフィットさせたりするので、プロジェクトの円滑さが変わるのだ。

まとめ

小手先だけでシステムに関するプロジェクトを推進しようとすると、「言われた通りにやった」という受動的な参加者が増えてしまう。情シスのSIer化を回避するにはITエンジニアを「何でも屋」にさせて疲弊させないことも大切である。開発チームの雰囲気作りも非常に効果がある。

続きを見る >

開発の遅延「技術的にはできます」の罠

素人仕様と開発遅延

なぜ、システム開発の進捗が悪いのか?
それは、ずばり素人が考えた仕様を開発者に伝えてしまうからである。
すべての原因ではないが、もしシステムのユーザー側の現場担当者や営業担当者がシステム仕様を決めている場合は、ほとんどの場合で満足のいくスピード感はだせていない。

潜む技術的負債

システム仕様さえ伝えていれば、きちんと動くものを作ってくれるので、あとはスピードを上げるだけ。と考えているようであれば、技術的負債が溜まっていることに気付けていない。非エンジニアが決して理解できない技術的負債の怖さは、開発スピードが遅いということだけではない。開発者側から見てシステムが複雑になっていて、メンテナンス性も低い状態になっている。

「できます」の罠

非エンジニアには技術的負債は見えないし説明もわからないことと思う。しかし、技術力でカバーしてくれているから、きちんと動いているのだと思っているなら、それは実は技術力ではない。
「技術的にはできます」このような言葉を聞いたことはないか?
システムエンジニアは「できない」と言えない。「できないことはない」ということが価値なので、素人が考えたシステム仕様でも、言われた通りに作ってしまう。

持続可能な開発へ

システムエンジニアから「技術的にはできます」を聞いたときは、いったん立ち止まるべきである。
エンジニアには、様々な影響範囲や未来のメンテナンス性への懸念などが見えている。これを必要以上のコストだと考えるのか、必要コストと考えるのかで、技術的負債は変わる。

まとめ

自分の理解の範囲でしか人間は発想しないので、システムのことを知らない非エンジニアは、システム仕様を考えるべきではないと言える。また逆に、システムにおいてはシステムエンジニアの方が発想の幅は広いが、業務に関する知識は乏しい。
システムをよく知り業務のこともわかるシステムエンジニアがシステム仕様を考えるべきだが、そんな万能な人は多くはない。だから、その間を取り持つ人間が重要なのである。

続きを見る >