なぜベトナムは比較的ライトウェイトなWeb開発に向いているか

導入

Web開発は様々な分野が存在しますが、ベトナムは比較的ライトウェイトなWeb開発に適していると言えます。本記事では、Web開発のいくつかのカテゴリについて検討し、ベトナムでのオフショア開発の適性について評価します。

カテゴリ1: 古典的なホームページ開発

古典的なホームページ開発について考えます。現在でも、完全なスクラッチでのホームページ開発が行われることもありますが、一般的にはWordPressなどのフレームワークが使用されることが多いです。このカテゴリについては、利点と欠点がありますが、ベトナムがオフショアに向いているかどうかは、まずは中立的な評価となります。

まず欠点から述べると、デザイン要素が大きいために海外での開発には向いていないと言えます。企業のウェブサイトや商品紹介ページ、ランディングページなどは、マーケティングの観点からデザイン要素が重要です。これらはウェブ開発やHTMLの問題ではなく、デザインの問題であり、プロジェクトの規模的に技術的な開発とデザインの分野が結合していることも多いです。このようなプロジェクトを海外にアウトソースすることは適切ではありません。ベトナムであろうと他の国であろうと、同様の理由が当てはまります。また、ベトナムの開発会社が日本語に堪能であっても、最も難しい分野を外国人に依頼していることを考えるべきです。

一方で、利点について考えましょう。デザインとウェブ開発の分業体制が進んでおり、古典的なホームページ開発の事例は少なくなってきています。従って、ある程度の分業体制が整っている場合は、一部をベトナムにアウトソースすることは合理的です。具体的には、デザイン部分を日本国内で行い、コーディングのみをベトナムで行う方法が考えられます。また、WordPressの記事やショッピングのCMSにおける商品加工など、既にデザインがテンプレート化されている場合もあります。Webは様々な使い方ができるため、適切な開発方法を選ぶためには、日本国内でキャリアのある人材を選択することが重要です。しかし、開発のシステム化を進める企業にとっては、一部の工程をアウトソースすることは有益です。

カテゴリ2: アプリケーションのウェブインターフェース

次に、アプリケーションのウェブインターフェースについて考えます。システムの本質的な価値はデータベースにありますが、検索や編集、書き込みなどにウェブ技術が使用されることは一般的です。また、これはスマートフォンアプリの開発にも大きく関連しています。特にビジネス用途のスマートフォンアプリは、実際にはサーバーやデータベースへのウェブインターフェースに過ぎないことが多いです。

このような開発においては、ベトナムが向いています。デザイン要素や言葉の使い方についてあまり心配する必要がなく、英語で開発しても大きな影響はありません。正確な判断基準を明確に整理できることが、現実的には最も簡単です。過去には、ウェブをシステムのインターフェースとして使用する方法には多くのノウハウが必要でした。例えば、JavaScriptを使ってカレンダーをポップアップさせたり、メールの文字化けに対処するための独自のルールが存在しました。しかし、Bootstrapなどのライブラリ化により、これらの問題は解決されました。そのため、ベトナムのエンジニアの若さや素早さを活かして、新しい技術を学びながら開発を進めることが可能です。

ただし、このような開発には継続性がないという問題もあります。長期間にわたって使用されるシステムではありますが、このような仕事には継続性が求められません。したがって、最適な解決策が存在しない場合でも、状況に合わせて適切な方法を見つける必要があります。

結論

ベトナムは比較的ライトウェイトなWeb開発に向いていると言えます。古典的なホームページ開発においてはデザイン要素が重要であり、海外にアウトソースすることは適切ではありません。しかしその開発工程において分業化や標準化がすでになされている場合は、オフショア開発を検討することは有益でしょう。また、ビジネス用途のアプリケーションのウェブインターフェースにおいては、ベトナムのエンジニアが若さと素早さを活かして開発を進めることができます。
これらの開発においては、WordPressやBootstrapなどのツールやフレームワークを活用することで効率的な開発が可能です。企業のシステム開発においては、オフショア開発の一部を活用することで生産性を向上させることができるでしょう。

関連記事

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

素人仕様と開発遅延

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

潜む技術的負債

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

「できます」の罠

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

持続可能な開発へ

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

まとめ

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

続きを見る >

オフショア開発発注元として日本企業と競合するアメリカ企業に勝つためには

日本企業は、ソフトウェア開発の分野で、アメリカ企業との競争に直面している。特に、ベトナムをオフショア開発の拠点として活用する場合、アメリカ企業の影響力や優位性を無視できない。しかし、日本企業にもベトナム市場で勝ち残るための強みや戦略がある。本記事では、アメリカ企業のベトナムへのオフショア開発と、日本企業のベトナムへのオフショア開発を比較し、その違いや課題を分析する。

アメリカ企業のベトナムへのオフショア開発の現状

アメリカは、世界最大のソフトウェア市場であり、ITエンジニアの需要も高い。しかし、国内ではITエンジニアの人材不足や高コストが課題となっており、多くのアメリカ企業は海外にオフショア開発を委託している。その中でも、ベトナムは近年注目されているオフショア開発先の一つである。

ベトナムは、東南アジアで最も急速に経済成長している国であり、若くて優秀なIT人材が豊富に存在する。また、人件費も低く、地理的にも日本やアメリカと時差が少ないことなどが、オフショア開発に適した環境となっている。さらに、ベトナム政府はIT産業の育成に力を入れており、税制優遇やインフラ整備などを行っている。

これらの要因から、ベトナムはオフショア開発市場で高い競争力を持っており、多くの国から注目されている。特に、アメリカからは大手IT企業やスタートアップ企業が相次いでベトナムに進出しており、オフショア開発だけでなく、自社製品やサービスの開発や販売も行っている。例えば、マイクロソフトやIBMはハノイやホーチミン市に研究開発センターを設置し、AIやブロックチェーンなどの先端技術を活用したプロジェクトを展開している。また、グーグルやフェイスブックはベトナム市場における自社サービスの普及に力を入れており、ローカライズやマーケティングを強化している。

こうした動きからわかるように、アメリカ企業はベトナムでオフショア開発を行うだけでなく、ベトナム市場そのものに参入しようとしている。その背景には、ベトナムが持つ巨大な消費者層やビジネスチャンスに対する期待がある。ベトナムは、約1億人の人口を持ち、そのうち6割が25歳以下という若い世代が多い。また、インターネット普及率は約7割であり、スマートフォンやSNSの利用も盛んである。これらの要素は、アメリカ企業にとって魅力的な市場となっている。

日本企業のベトナムへのオフショア開発の現状

日本企業も、アメリカ企業と同様に、ベトナムをオフショア開発の拠点として活用している。日本は、ベトナムにおけるオフショア開発の最大の発注国であり、ベトナムのIT産業に大きな影響力を持っている。日本企業は、ベトナムにおけるオフショア開発の歴史が長く、多くの実績や信頼関係を築いてきた。また、日本とベトナムは文化的にも親近感があり、コミュニケーションやビジネススタイルにおいても相性が良いと言われている。

日本企業は、ベトナムでオフショア開発を行う際に、主に以下の3つの方法を取っている。

  1. ベトナム現地法人や子会社を設立し、自社でオフショア開発を行う
  2. ベトナム現地のオフショア開発会社と提携し、外部委託する
  3. 日本国内のオフショア開発会社と提携し、間接的に委託する

これらの方法にはそれぞれメリットやデメリットがあり、日本企業は自社のニーズや予算に応じて選択している。例えば、自社でオフショア開発を行う場合は、品質管理やプロジェクト管理が容易であるが、初期投資や人材確保などのコストが高くなる。一方、外部委託する場合は、コスト削減やスピード感が得られるが、品質やセキュリティなどのリスクが高まる。

日本企業は、ベトナムでオフショア開発を行う目的として、主に以下の3つを挙げている。

  1. 開発コストの削減
  2. IT人材不足の解消
  3. ベトナム市場への参入

これらの目的にはそれぞれ重要度が異なり、日本企業は自社の戦略に応じて優先順位を決めている。例えば、開発コストの削減を最優先する場合は、安価なオフショア開発会社を選択することが多い。一方、IT人材不足の解消やベトナム市場への参入を重視する場合は、技術力や日本語能力などの条件を満たすオフショア開発会社を選択することが多い。

アメリカ企業と日本企業のオフショア開発の違い

前述したように、アメリカ企業と日本企業は、ベトナムでオフショア開発を行う際に、異なる方法や目的を持っている。このセクションでは、その違いを以下の4つの観点から分析する。

  1. 発注単価
  2. 開発規模
  3. 開発内容
  4. 開発手法

発注単価

オフショア開発の発注単価は、国や企業によって大きく異なる。一般的には、アメリカ企業の方が日本企業よりも高い単価でオフショア開発を行っていると言われている。これは、アメリカ企業が求める品質やスキルが高いことや、アメリカの人件費が高いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な発注単価は、人月2000ドル~2500ドル程度である。一方、アメリカ企業の平均的な発注単価は、人月3000ドル~4000ドル程度である。このように、アメリカ企業は日本企業よりも約1.5倍~2倍の単価でオフショア開発を行っていると言える。

この単価差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。高単価の案件を受けることで、利益率を高めたり、人材育成や技術力向上に投資したりすることができる。また、高単価の案件はエンジニアにとっても魅力的であり、優秀な人材を確保しやすくなる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発規模

オフショア開発の開発規模も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも大規模な開発プロジェクトを行っていると言われている。これは、アメリカ企業がグローバル市場をターゲットにした製品やサービスの開発を行っていることや、インドなどの大規模なオフショア開発市場に慣れていることなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発規模は、10人~20人程度のチームである。一方、アメリカ企業の平均的な開発規模は、50人~100人程度のチームである。このように、アメリカ企業は日本企業よりも約5倍~10倍の規模でオフショア開発を行っていると言える。

この規模差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。大規模なプロジェクトを受けることで、売上や規模を拡大したり、組織やマネジメントの能力を高めたりすることができる。また、大規模なプロジェクトはエンジニアにとっても魅力的であり、多様な経験やスキルを身につけることができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発内容

オフショア開発の開発内容も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも先端的な技術やイノベーションを求めていると言われている。これは、アメリカ企業がグローバル市場での競争力を高めるために、AIやブロックチェーンなどの最新技術を活用した製品やサービスの開発を行っていることや、シリコンバレーなどのイノベーションの発信地に近いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発内容は、製造業や金融業などの既存業界におけるシステム開発や運用保守である。一方、アメリカ企業の平均的な開発内容は、ゲームやECなどの新興業界におけるプロダクト開発やサービス提供である。このように、アメリカ企業は日本企業よりも先端的な技術やイノベーションを求めていると言える。

この内容差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。先端的な技術やイノベーションを扱うことで、技術力や知識を高めたり、市場価値を高めたりすることができる。また、先端的な技術やイノベーションを扱うことはエンジニアにとっても魅力的であり、やりがいや成長感を感じることができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

開発手法

オフショア開発の開発手法も、国や企業によって異なる。一般的には、アメリカ企業の方が日本企業よりも柔軟かつ効率的な開発手法を採用していると言われている。これは、アメリカ企業がグローバル市場での変化に対応するために、アジャイル開発やDevOpsなどの最新の開発手法を活用したプロジェジェクトを行っていることや、アメリカのIT業界における開発手法の普及度が高いことなどが理由として挙げられる。

例えば、ベトナムでオフショア開発を行う場合、日本企業の平均的な開発手法は、ウォーターフォール型やV字型などの計画的な開発手法である。一方、アメリカ企業の平均的な開発手法は、スクラムやカンバンなどのアジャイル型やDevOps型などの反復的な開発手法である。このように、アメリカ企業は日本企業よりも柔軟かつ効率的な開発手法を採用していると言える。

この手法差は、ベトナムのオフショア開発会社にとっても大きな影響を与えている。柔軟かつ効率的な開発手法を採用することで、品質や納期の管理を改善したり、顧客とのコミュニケーションを強化したりすることができる。また、柔軟かつ効率的な開発手法を採用することはエンジニアにとっても魅力的であり、自律性や創造性を発揮することができる。そのため、ベトナムのオフショア開発会社は、アメリカ企業からの案件を優先的に受け入れる傾向がある。

日本企業が戦略的に狙うポジションはなにか

以上のことから、人材獲得競争において日本企業はアメリカの案件に負けるというのが現実である。

しかしこれは一面だけを見ているところはある。
まずは日本の方がアメリカよりも距離が近く時差も少なく、親近感を抱かれているのも確かだ。
契約によって硬直的にプロジェクトを作るというのは、文化の問題という前に、ソフトウェア開発の手法として適切である場面が限られているのが確かであり、日本風の柔軟なやり方は、かつては非常に曖昧だと言われたこともあるが これはこれで柔軟だという側面も持つ。
またそのような日本企業の仕事文化を好むベトナム人もいる。ベトナムは意外なほど契約社会ではあるが、ベトナム人がメンタルセットとしては日本人に似ているのは確かである。 そのため日本の案件はアメリカ企業に比べてやりやすい、という感覚を持つベトナム人は一定数存在する。
またアメリカ企業の案件は一定のスキルを持つ人たちを要求する事が多いため、経験者や有資格者や高学歴者を優先する傾向にあり、最近では AI などの先端が話題の技術については引っ張りだことなっている。これらのハイエンドな人材の獲得競争について日本企業が勝つことは難しいのだが、逆に言うとローエンドであったり、まだあまり経験がないが勉強はよくできると言ったいわゆる 地頭のいい新卒といったタイプのエンジニアを日本企業は好むというところがある。 これらはアメリカ企業の案件においてはあまり評価されないので、その点で日本の案件とマッチしているところがある。

日本がベトナムでオフショア開発をする場合に、かつてのようにただ日本企業であるだけでよかった時代はもう明瞭に終わった。そして主に金銭的な意味においてアメリカ企業との人材獲得競争に負けつつあるというのが全体的な傾向である。
しかし 全体的な傾向はそうでも 個別にマッチする人材や案件を見ていくと、日本の案件とベトナムの企業との間で上手い組み合わせになるようなものが多いのも確かである。

これから先 ベトナムでオフショア開発をしていこうと考えるところがあれば、アメリカ企業とどのように差別化できるかという観点から ブラッシュアップしてみることは大変有益であろう。アメリカ企業とうまく差別化でき、ベトナム企業との間にうまいマッチングが見出せてるのならば、それは非常に成功する確率の高いオフィシャル 開発 であるというように言えるだろう。

続きを見る >

技術的負債の返済方法

負債の本質

技術的負債には、設計負債やコード負債がある。金銭的な負債であれば借入金やマイナスの表記で数字化できるのだが、技術的負債においては数字化できないことがとても難しい点である。経営に関するほとんどのことは定量化や定性化が可能だが、たとえば企業創業者の発想する「野生の勘」を直接的に数字化できないように技術的負債も一筋縄では見える化しない。

設計時の対策

技術的負債の中でもコード負債については、システム開発の現場からよく発想されるリファクタリングや再構築などを行うことで比較的わかりやすい返済方法となる。知らない人が作ったプログラムや古くなったプログラムのバージョンなど、リスクを表現し対応することができる。何よりも最初の企画設計段階で負債が積みあがりにくい仕組みを考えることが大切である。

高負担な設計

技術的負債の中でも利息の高い負債が設計負債である。単体機能における設計であれば、モジュールごとの再設計によって返済が可能である。しかし、プログラムは複数のモジュールが絡まり合っていることがほとんどなので、複雑なオペになってしまう。また、稼働中のシステムにわざわざ再設計したプログラムを導入するリスクに対して、得れるメリットも少ないので見過ごされがちである。設計能力は例えば、紙というオブジェクトのメソッド(振る舞い)とプロパティ(保持する情報)を聞いて正しい答えが帰ってくれば多少安心であろう。紙の振る舞いは燃えるであり保持する情報は面積などがある。

根本的解決

しかし、技術的負債はこのように目に見えやすい設計負債やコード負債が致命的になることは少なく、やはりその上層でどのような指針に基づいてシステム運用がなされてきたか、また長期視点で一貫したメンテナンスを行うことが必要である。システムの維持には保守費用や運用費用を払っていることが多いと思うが、これだけでは将来の負債を減らしていくことはできない。やはり、鳥の目を持つITコンサルタントやITアナリストなどの役割を持つメンバーが必要である。

まとめ

ITコンサルタントやアナリストは、すぐに利益も生まない、経費を削減するわけでもないといったコストセンターとしてのポジションなので、あまり起用していない中小企業も多いようである。投資に対する効果が見えにくいのは、料理でいう香辛料と同じなのかもしれない。その少しの投資が未来を大きく変えることになる。IT技術は日進月歩で発展するからである。

続きを見る >