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

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

ベトナムオフショア開発での失敗と、ベトナム人の報連相

ベトナムオフショア開発をしていると

引いていたスケジュールに間に合わない、納期が遅延する

という問題が、慣れてない間は、おそらくかなり頻繁に発生すると思います

途中で何度も問題があるか?を確認していたにもかかわらず

BrSEから問題はないという報告

納期直前などにスケジュールが間に合わない事が発覚して、さあどうしよう?

これはベトナム人と仕事しているとよくある事

 

なぜこれが起こるのか?というと

1つは、日本人とベトナム人の問題認識の違い

1つは、BrSEと日本人の間で報連相が正しく行えていない点

問題認識の違いをいうと

日本人は例えば今スケジュールが遅れている場合、その時点で問題だと認識しますが

ベトナム人は今遅れているけど残りのスケジュールでリカバリーができる状態だと、問題であるとは認識しないです

こういった認識の違いでそもそも問題を問題と思わない、という現象が発生します

 

また、日本では何かあると上司に相談、報告が当たり前の環境ですが

ベトナムでは基本的によっぽどのことがない限り上司へ報告や相談は行いません

基本的には、管理者が状況を確認するものという認識が強く、上司から部下に確認するのが当たり前だと思っています

これはベトナムに限った話ではないのですが、この認識の違いも報連相がうまくいかない理由の一つだと思います

 

報告タイミングなどをルール化したりすることで、ある程度は改善するとは思いますが

それでも思ったようには改善しないと思います

認識、常識を変えろ、というのはかなり難しい事です

ベトナム人報連相ををどれだけトレーニングしても、この部分はなかなか改善ができないと思います

この手の問題は、ベトナム人からの報連相だけを期待するのではなく

日本人側も、確認の方法を工夫するなどでで改善していくしかないと思います

 

しかしここでも落とし穴があって

問題はありますか?と聞いてしまうと、問題認識の差で

問題があるにもかかわらず、問題はありません、とほとんどの場合回答が返ってきますので

確認の仕方を工夫する必要があります

 

現在予定しているスケジュールから遅れている、スケジュールより早く進んでるものがありますか?

この先スケジュールが遅れるかもしれないという現象は起こっていませんか?

解らない、困っている、助けてほしい、聞きたいこと、はありますか?

など、細かく分解して聞いて

報告しやすい、相談しやすい状態を作るというのを意識する必要があります

 

こういう対応をしていないのに、ベトナム人報連相ができない!という人をよく見かけますが

違うのです、ベトナム人報連相をできる環境を作れていないのです

ちなみに、経験上この手の人たちは、日本人でも報連相が弱かったりします(笑

ベトナムでの開発品質問題

「プログラムでバグが出るのは当たり前」

私自身、ずっと技術者やそれに関わる仕事をして来ていますが

これについては否定しないし、むしろその通りだと思います

 

ただ、この当たり前だという考え方には罠があります

「バグがあるのが当たり前だからバグが出ても良い」わけではないです

 

例えば

「交通事故が起こるのは当たり前」

と置き換えてみるとわかりやすいですが

「事故が起こるのは当たり前なので、事故が起きても仕方ない」ではなく

「事故が起こるのは当たり前なので、なるべく事故が起きないように気をつける」のが正しいですよね?

 

開発でいうと

「バグがあるのが当たり前、なので自分のコードでバグが出てしまってもそれは仕方ないことだ」ではなく

「バグがあるのは当たり前、なのでバグをできる限り出ないようにしよう、バグを潰しておこう」と考えないとダメなのです

そうしないと品質はいつまでたっても上がらないです

 

ベトナムでの話をすると

ベトナムでは前者のバグが出るのは当たり前、仕方ないという意識が強く、バグを出さないためにはテスターが必要だ、テスターが確認すべきだ、という話になりがちです

ベトナムでは、規模に関わらず開発のチームにテスターが入り、テスターが動作確認をするというのが当然という感じの文化があります

そのためか「動作確認はテスターがするもの」という意識がエンジニアに根付いてしまっています

トレーニングや意識改善、フロー改善などを行っていない場合は

エラーがでるコードをコミットしていたり、チェックをしていないものを納品する、というのが当たり前に発生するような状況です

 

そんな中で品質向上の話をすると、テスター増員やダブルチェック、テストの期間を長くするなど、コストを使ってチェックをするという方向に話がいきがちで

エンジニアのスキル向上、例えばツールを導入する、テストコードを書くなど、エンジニア側でできる仕組みで解決する方向にはなかなか向かわないです

そのため、コードの品質が上がらず、テスターがバグに気付かないとバグが発生しますし、運用フェーズなどで何度でも同じようなバグが発生します

テスターの増員や、テスターの品質を上げたところで、ある程度の品質は担保されるようにはなりますが、品質向上にはなかなかつながりません

 

ベトナムの開発環境では、エンジニアのバグに関する意識を変えていく必要があります

この部分をいかにうまく環境を作れるか?がベトナムでの品質向上の鍵になると思います

リンガーハットがベトナムにくるー

リンガーハットが、ベトナム出店に向け、エースコックベトナムフランチャイズの契約をしたらしいです

 

www.viet-jo.com

 

長崎ちゃんぽんがベトナムで食べられるのかな?

とはいえ、この手のはたいていホーチミンで、ハノイはだいぶ後になるので
過度な期待はできませんが・・・

ハノイホーチミンは同じベトナムなんですが、首都のあるハノイよりもホーチミンの方が規制や取り締まりなどがゆるいらしく
大抵はホーチミンに出店後ハノイにくるという流れですね


コンビニなんかも、ホーチミンにはかなり日本に近いラインナップなどで数も多く出店されてますが、ハノイにはほとんどコンビニがありません

5年前には1店舗も見かけませんでしたが、最近少し増えてきてはいるものの、ラインナップが所謂コンビニのラインナップではない感じの店舗で、ちょっとがっかり

コンビニの他にも屋外ライブみたいなイベントがホーチミンでは開催できるがハノイでは無理、カラオケや風俗店などもホーチミンの方が多いようです

ハノイは営業時間の規制でレストランなども21時頃にはラストオーダーになる店も多いですからね・・・夜は営業している店はほぼありませんので夜遊びがほぼできないです違法な店やホテル内のバー、カジノなど場所が限られます

眠る街ハノイですね

 

 

2018/08/06 追記

やはりホーチミンが1号店でした、8/17にオープンのようですね

いつハノイにくるのかな・・・

www.viet-jo.com

 

海外在住者は日本で買い物をする際に免税で、消費税を払わずに購入できます

日本人でも海外に住居がある人は、日本に一時帰国した際の買い物などで、消費税の免税を受けられます

海外赴任してる人とかでも、意外と知らない人がいたので、私が知ってる範囲でざっくりまとめ(私も数年経過してから免税を知りました・・・もったいない)

 

2018年4月20日時点での情報です

  • 海外に住んでいる or 2年以上の海外滞在予定の人が対象
  • 一時帰国の日本の入国スタンプがあり、日本一時帰国が6ヶ月以内であればOK
  • 消耗品は5000円以上、それ以外は1万円以上で消費税免税
  • 購入時にパスポート必須、基本は購入時に免税用のんカウンターなどで購入したり免税の旨を支払い時に自己申告すると対応してもらえる(ここは店によって違う)
  • 購入時に消費税が免税され、消費税分を除いた価格で購入できる、店によっては手数料として1〜2%取られるケースがある
  • 購入の際に免税のレシートや書類などをパスポートに貼り付けられる
  • 購入から30日以内に国外へ持ち出す必要がある
  • 手続きは、出国時に手荷物チェックのゲートを抜けたあと、出国ゲートの手前(スタンプ押す手前)に免税の窓口があるのでそこへパスポートを持っていくだけ
  • どの店でもできるわけではなく、免税に対応してる限られた店舗で対応
    ドンキ、東急ハンズ、ロフト、AEON、ダイエー、ヨーカドー、西友などのショッピングセンターやスーパー、マツキヨなどのドラッグストアー、ヨドバシとかの大手電気屋、ブランドショップ、ショッピングモールや百貨店とかの外国人観光客が買い物に行くような店は対応しているケースが多いです
    他にもユニクロ無印良品Appleストア、一部地域のコンビニとかでも対応してるようです
    (店舗によっては対応してない店舗があったりするので注意)

  • 消耗品は免税の専用のビニール袋に入れられ封をされる、この袋は出国まで開封不可
  • 化粧品などの液体は手荷物で持ち込めないので、預け荷物として預ける必要あり
  • 規定では出国時に商品不携帯だと消費税を追徴することになっており、商品を原則手荷物に持っている必要がある(液体以外)
    実際には商品を持ってるか口頭で確認される程度のチェックしかされず、おそらく金額とか量が常識から外れてたりしない限り、現品をチェックされることはほぼなさそう

海外在住者は、日本への一時帰国では、まとめて買い出しをして、海外へ戻るケースが多いと思うので、免税できる店などは調べて免税をうまく利用しましょう
普段買い物に使ってる店でも、実は免税で購入できる、というケースもあるので

私も帰国した際に、AppStoreでiphoneヨドバシカメラでPCやゲーム機、ゲームソフト、カメラなど、ユニクロで衣類、薬局で薬や化粧品などの購入で、実際免税を利用しましたが
店や状況によって、免税の手続きに時間がかかったりするので、金額が低い場合などは免税を使わないで購入してしまうケースもありますし

amazonの通販などで購入した方が店舗で免税購入するより価格が安い、と言うケースも多々あるので

値段を比較したり、まとめて一度に購入したり、高い買い物をする場合だけ免税手続きをするなど、状況などに応じてうまく免税で購入するのが良さそうです

 

ベトナムオフショアでよく出てくる、役職、役割、ポジションの説明

ベトナムと日本で、同じキーワードで役割が微妙に違ったりするものもあり、ちょっと注意が必要なので、ざくっとまとめてみました。

もちろん組織、業種などによっては定義や責任や担当範囲なども変わったりするので、一例として参考程度にどうぞ

 

 

PO(Project Owner)

 プロジェクトオーナー、受託開発でいうと、一般的にはお金を出して、発注する側のこと

 ベトナムのオフショアならここは基本、日本のお客さんです

 

PO(Product Owner)

 プロダクトオーナー、プロジェクトオーナーと同じような意味も指すこともありますが

 アジャイル開発の中でこの単語が出る場合は、プロジェクトでプロダクトの方向性などを指示、優先度付けなどをする役割の人を指します、ゲーム開発でいうディレクターの役割に近い

 受託開発だと、基本は開発側のそばにいて製品、仕様を把握し、お客さんや関係者と調整しながら、作業内容や優先度の調整などを行う役割の人

 

PM(Project Manager)

 プロジェクトマネージャー、開発の管理、製品の品質、予算とかスケジュールとか含めてプロジェクト全体の決定などを行う責任者、お客さんとの折衝、コミットのコントロール、リスクコントロールなどの責任も普通はここ

 ベトナムのオフショアラボだと、通常はPMはお客さん側で用意してプロジェクトを管理する必要があるのですが、そこがいない状態で進めると、トラブルが起こる確率が高まります

 ベトナムのオフショア側にいる、ベトナム人PMは、PMと言うよりも基本PMOやPL辺りの役割のほうが近い印象なので、PMがいるからと丸投げして安心してると高確率で事故るので注意

 

PMO

 プロジェクトマネジメントオフィス、プロジェクトに対しての決定権などはないけど、プロジェクト運用のためにコミットする人、本来はプロジェクト外の組織だったりするけど、プロジェクト専任の場合もあります、PMから各種権限を抜いたPMの補佐やサポート役みたいなイメージ

 オフショアラボのPMは実質ここかPLの役割が近いかも

 

PL(Project Leader)

 プロジェクトリーダー、PMOと基本同じような感じ、一般的には権限はそんなにないけど現場の責任者として実働するポジションのこと、メンバー管理なども行う

 オフショアラボのPMは実質ここかPMOの役割が近いかも

 

Producer

 プロデューサー、プロダクトの責任者、役割的にはほとんどPMと同じ

 webやゲーム業界などでは、PMをプロデューサーとディレクターに分解するケースが多い、一般的なシステム開発の受託みたいなプロジェクトではあまり見かけない

 

Director

 ディレクター、プロダクトの品質に関しての責任者、製品をよくするために注力する人、PMから製品部分の責任を切りわけた感じで、技術面も含めての責任者を言うケースが多い、製品面の責任メインであればプロダクトオーナー、技術だけの責任メインだとテクニカルディレクターと言ったりもする

 webやゲーム業界などでは、PMをプロデューサーとディレクターに分解するケースが多い、一般的なシステム開発の受託みたいなプロジェクトではあまり見かけない

 

Planner

 プランナー、主に企画をしたり、企画や仕様をまとめたりする人、要件定義したり仕様書を作ったりする

 他にもサービス運営などの計画を考える人を指すことも

 webやゲーム業界などに多いが、一般的なシステム開発の受託みたいなプロジェクトでは、基本SEが担当するためあまり見かけない

 

BrSE(Bridge SE)

 ブリッジSE、日本人と開発者間に入ってコミュニケーションを担当、技術や仕様を理解しており、日本のビジネス文化(報連相)なども理解した上で、プロジェクトがスムーズに回るように、コミニケーションをサポートする

 私の感覚でいうと、日本語能力試験で少なくともN2レベルは欲しい、会社次第でN3でもBrSEをやっているケースはあるが(ひどいとN4でBrSEとかもいるけど・・・)、N3だと正直ベトナム人とのやりとりに、慣れてない場合は日本語、特に会話でコミュニケシーションが多いプロジェクトなどは厳しい印象

 テキスト中心であればN3でも何とかなるケースがあるが、日本語での詳細な説明を求めたりすると、理解に時間がかかる文章が帰ってくる可能性が高め

  オフショア開発では、BrSEがPMの役割を兼務することも多い、小規模なラボ型開発などで、現地にPMを派遣しない場合は、殆どの場合はBrSEが現地のPMも兼務することになるので、プロジェクトの成否はBrSEのPM能力にかなり依存するすことになり、日本語やコミュニケーション能力以外に、管理能力が必要になってくるので注意が必要

 

Communicator

 コミュニケーター、日本語とベトナム語の翻訳を担当、技術の理解は薄い

 私の感覚で、日本語能力試験でN1レベルじゃないと厳しい印象、内容次第ではN2でもできるかなという感じ

 

TL

 テクニカルリーダー、上級の技術者、設計やレビュー、タスクの割り振りなどを担当するプロジェクトの技術に関しての責任者

 

Systems Engineer(SE)

 システムエンジニア、日本だとお客さんとの間で要求定義や要件定義を行い仕様書、設計書などを作る上流工程を担当する人をSEと呼ぶことが多いが、会社によってはただのエンジニアをSEと呼ぶケースもあるので一般的に定義は曖昧(日本だと要件定義~仕様書までしか担当しないケースもあり、プログラムが一切書けないSEなども居る)

 ベトナムだと現地の中~上級クラスのエンジニアのことをいうケースが多く、日本と定義が全然違う印象

 

LPG

 リードプログラマー、テクニカルリーダーと同じ

 

Programmer

 プログラマー、いわゆるエンジニア、設計書などに沿ってプログラムをかくだけのコーダーも含む

 ベトナムだとPGと略されることも

 

Engineer

 エンジニア、基本的にはプログラマーと同じ

 

Server Engineer

 サーバエンジニア(サーバサイドエンジニア)、webのサーバサイドのプログラミングを担当するエンジニア

 

Front Engineer

 フロントエンジニア(フロントエンドエンジニア)、html、cssjavascriptやflashActionscriptなどフロントエンド全般を担当するエンジニアで、広義ではネイティブやUnityなどのクライアントサイドで動く部分を作成するエンジニアも含むが、一般的にはwebのフロントサイドを担当するエンジニアのこと、日本だとjavascriptflashからUnityにシフトしたケースも多くUnityエンジニアは一通りフロントのスキルを持ってる人が多く、各種ブラウザの知識、SEO、UI/UX周りの技術や知識などもスキルとして求められる

 ベトナムだと単純にhtml、cssjavascriptのコーディングができるサーバサイドエンジニアのことをフロントエンジニアといったりするので、日本とちょっとスキル範囲などの定義がちょっと違う印象、日本のように専任のフロントエンジニアみたいなスキルを持ったエンジニアはかなり少ない印象

 

Native Engineer

 ネイティブエンジニア、Androidiosなどのモバイルアプリのエンジニア

 

Network Engineer

 ネットワークエンジニア、webのインフラ周りの設計や構築、運用などを担当するエンジニア、最近だとAWSなどクラウドで構築することも多い

 ベトナムだと大抵はエンジニアが兼務で、専任のネットワークエンジニアはほとんどいない印象

 ベトナムだとネットワークやインフラエンジニアとかをまとめてITエンジニア

 

Infra Engineer

 インフラエンジニア、日本のweb界隈だとネットワークエンジニアのことを指す場合が多いが、社内インフラやデータセンターなどで働いてるエンジニアのことを指す場合もある

 ベトナムだとネットワークやインフラエンジニアとかをまとめてITエンジニア

 

IT Engineer

 アイティーエンジニア、社内のシステムなどの管理や構築などを行うエンジニア、日本だと社内SEとかとも言われたりする

 ベトナムだとネットワークやインフラエンジニアとかをまとめてITエンジニア

 

Fullstack Engineer

 フルスタックエンジニア、日本だと要件定義~設計、フロントエンド、サーバサイド、インフラ、など、プロジェクトの開発タスク全てにコミットできるエンジニアや、企画から開発まで行うようなエンジニアのことをいうことが多いが

 ベトナムだとサーバサイドとフロントエンドのコーディングができるプログラマーのことなので定義が少し違う印象

 

Coder

 コーダー、一般的にはwebコーダーの事、htmlコーダーやマークアップエンジニアなどとも言われる、htmlやCSSマークアップ、簡単なJavascriptなどを扱うエンジニア、日本だと仕様書や設計書通りにただプログラムを書くだけのエンジニアをコーダーというケースもあるが、ベトナムだとこれもエンジニアでコーダーという概念はなさそう

 

Debugger

 デバッガー、テスト計画や設計などに沿ってテストを実行、バグを探す人、ベトナムでいうテスターはだいたいデバッガーのこと、日本だとエンジニアが普通担当するので、デバッガーはかなり複雑だったり、大きい製品だったりしない限りは一般的には存在しない

 

Tester

 テスター、デバッガーのことをテスターというケースもあるけど、一般的にはテスト設計や計画などを作ったり実行したりする人、QAと呼ばれるケースも、ベトナムだと計画を作ったりする人は上級のテスターで、テストリーダーとか言われるので、用語に関しての定義が日本とベトナムで少し異なりそう

 

QA

 キューエー、主に品質のチェックをする、バグなどのチェックもするが、表現がおかしくないか?誤解が生まれないか?使いやすいか?解りやすいか?などの体感などの品質面も含めて、製品全体のチェックをする、ベトナムだとこの概念はないかも?(ベトナムだとQAはプロジェクトの品質管理側を指すケースが多そう)

ベトナムでの記録

2013年の夏に、初めてベトナム訪問、秋にはベトナムで働く決心をし

ベトナム生活を始めてから、5年目突入

気づいたらすっかりベトナムの生活が日常となってしまい

ベトナムの生活を始めた時に感じたような事なども、すでに忘れつつある状況

仕事面や生活面などで、いろいろ気づいたこととか感じたこととかを思い出しつつも書いておこうかと思います