ベトナムのハノイからアレやコレ

ベトナムに移住してもう6年、この環境が日常となってしまい忘れてしまった事も多々あるけれど、なるべく気づいた事とかをブログに書いていきます

ベトナムのオフショア開発と、日本のIT業界との関係

日本の開発業界

大枠としてみると、日本でのシステム開発、IT業界は大きく2つの方向性があり
主に企業を相手にBtoBのシステムを請負、開発しているSIer
主に自社サービスなど、BtoCのWebサービス、アプリなどを開発しているWeb業界(Webベンチャー)がある。
他にもソフトハウスだとか、エンジニア派遣するSES、フリーランスなどなど、本来は色々とあるが、ベトナムの開発をする上で話がややこしくなるので2つの方向性で説明。

 

業界のビジネスモデルと開発に重視されること

一般的にそれぞれの業界のビジネスモデルは違っている。
SIreは、対企業向けにビジネスや業務上などの課題などを解決するシステムを提案、設計、開発をし、企業から対価をもらう。
Web業界は、開発したシステムを、対ユーザ向けに提供をし、ユーザから対価をもらう
といった違いがある。

このビジネスモデルの違いから、開発の中で重視することなども違ってくる。
SIerは、特定の顧客などを相手にするのが基本のため、開発の前に顧客からしっかりと課題などを聞き出し、要件を定義し、システムの仕様やスケジュール、予算などををしっかり決めて、事前の計画通り進め、高品質なシステムを作り納品することが求められる。
Web業界は、不特定多数のユーザなどを相手にビジネスするのが基本のため、事前に要件や仕様をしっかりと決めるのが難しく、いかに早くユーザへ提供しフィードバックを受けるかという部分が重視されることが多く、仕様変化に強い柔軟なシステムを作る事が求められる。

上記の違いから、SIerは、要件定義、仕様書などを開発前に作成し、工程を順番に進めるウォータフォール型の開発スタイルが多く、納品時の品質も高いレベルで求められるため、テストなどにもしっかり工数をかける傾向がある。
一方でWeb業界は、対ユーザ向けサービスのため、とにかく早くリリースしユーザの需要を確認する事を求められ、そのため事前に詳細な仕様を固めずに開発が始まるケースも多く、開発の状況や仕様の変化に強いアジャイル型の開発スタイルが多く取り入れられ、リリース重視のために、テストなどの工数は比較的少ない傾向がある。
一概に開発といっても、このように重視することや進めかたに違いがある。

 

ベトナムのオフショア開発と、日本のIT業界

オフショア開発というのは、日本などの人件費を、単価の安い国の人件費に置き換えて、全体のコストを下げましょう、というのが大枠の考え方。
つまり日本で開発するよりも、ベトナムで開発した方が開発費が安くなる、という部分があるから成り立っているビジネスモデル。

もともとは、人月いくらで売り上げを作る、大きい規模で事前に仕様やスケジュールがしっかりと決まっているような案件が多い、SIer業界を対象にしていたビジネスだったが
近年はWeb業界なども利用するようになってきている。

しかし、ベトナムのオフショア開発は元々SIer相手に業界が発展しており
ベトナムのIT業界は国内よりも単価の高い、海外からの仕事オフショア開発に力をいれて発展してきたという経緯もあり、そういう環境で人材が育ってきている為、基本的に経験豊富なシニア人材やマネージャ層も、ほぼSIerで育った人材である。


またベトナムでは社会主義の国の特徴からも役割分担などの考え方も強く根付いており、エンジニアとテスターの分離、設計とコーディングの分離など、エンジニアのできる範囲が、日本を含めた先進国のエンジニアと少し違った感じになっているのもベトナムの特徴。
オフショア開発の大半のエンジニアは、仕様書を元にコードを書くだけのプログラマー(コーダー)で、指示通りに実装するスキルはあるが、プロジェクト全体を見たり、企画や設計などの上流工程に必要なスキルは総じて低い。
自分に与えられたタスクをこなすだけ、というタスクワーカーも多く、自分が実装していない部分は把握できていないエンジニアも多く、実装部分以外の修正ができなかったり時間がかかったり、という事が目立つ。
実装者が全体を把握していないので、共有化などの考え方も弱く、同じような実装が各所で行われていたり、同一システム内で同じようなバグが頻発したり、一部の修正を行った事で、違う部分にバグがでたりするなど、修正や変更に弱い実装になりやすい。
役割分担からエンジニアのコーディング後は、動作確認や単体テストなどをテスターに丸投げするケースが多く、エンジニアの品質面の意識などが育ちにくい環境になっており、テスターが確認できない技術的な品質部分、例えば負荷やセキュリティなど一般的にエンジニア確認する品質の部分に問題が出やすい構造になっている。
結局このような構造がある為、マネージャもエンジニアも、終始目先のタスクをこなす部分に意識が向いており、製品やエンドユーザなど、1手先2手先などのその先にあるものを考えたり意識したりすることが苦手で、プランニングやUXなどもできる人材は少なく、物事の因果関係を考えたり、論理的に説明や報告したりするのも苦手な人が多い。

このような経緯もあり、ベトナムのオフショア会社に、詳細な仕様が詰まっていないような開発案件を発注すると
日本で開発するよりもコストがかかってしまった、納品されたものの品質が低すぎて使い物にならないなど、プロジェクトが失敗で終わるケースも多くなる。
その結果、オフショア開発の認識として、単価は安い分品質も低い、というイメージが浸透する結果となってしまっている。


そもそものビジネスモデルからも、オフショア開発では、日本で開発するよりも、かなり安めの見積もりを出せないと、利用しようと思ってもらえない状況があり
単価の高い日本人がコミットせず、管理コストが安い、見積もりの安い、つまり管理コストをかけないベトナムローカルや規模の小さいオフショア企業に見積もりで負け、そういう会社に発注することで、結果プロジェクトが失敗するという悪循環も発生しやすい。

 

こう言った経緯で発展して来たベトナムのIT業界も、近年は変化をしてきており
web業界に求められるような、速度、柔軟性、などに対応した会社なども出て来ている
この対応ができる会社とできない会社で、明暗は分かれつつあるように見える。

2021年の現時点、ベトナムは大きく経済成長しており、毎年インフレも進み人件費も年々上がっている状態。
ベトナムのエンジニアは、まだ需要が伸びており、実装だけをするようなコーダーでも国内の他の職種よりも給与水準は高く、年々その水準も上がっている。
今後国の経済発展とともに、ベトナム国内での開発需要も爆発的に伸びていくことが予想され、さらに開発人材の給与水準は高まりそうな状況。
しかし対国外、日本の人件費と比較してみると、トップレベルのエンジニアの単価がオフショアとしての価格メリットを出せる範囲をそろそろ超えそうな状況になってきている。
ベトナムのオフショア開発は、大きな規模のプロジェクトなど、条件が適応しないとメリットを出しにくい。
この先、会社としても人材としても、考え方、働き方を変えることが求められてくるのは間違いなく
Web業界の開発などに対応できるような、柔軟な考え方、多様性、スキルを身につけていかないと、エンジニアも会社も淘汰される時代はすぐそこまできている。

しかし、バブル真っ只中を満喫中のベトナム人、仕様が決まってない案件はやりたくないという声が今日も現場からは聞こえてくる、果たしてこの先どうなっていくのかな。