オフショア開発の基礎 開発ベンダーを選定する

信頼できるオフショア開発ベンダーの選定

Contents

ベトナムのITベンダーにアプリケーションの開発を外注したことはありますか?

まあ、そんな経験はあまりないですよね。

でも今後は自社のサービス拡充のためにモバイルアプリを開発するのである、みたいな計画を立てている企業も多いでしょう。

 

そんな時、どこのベンダーに開発を依頼するか、これは悩みどころではありますね。

そこでオプションの一つとして考えられるのが、比較的安価なオフショアベンダーの存在です。

オフショアっていうのは国外って意味です。

ちょっと前までは中国とかインドでのオフショア開発を良く聞きました。

 

しかし最近はそれらの国の人件費が以前と比べると高くなってきて、最大のメリットであるコスト削減が実現できなくなってきてるみたいですね。

そのためオフショア開発の国がシフトしてきました。(インドは数が多いので人件費の低いベンダーはまだまだありますが、品質が。。)

 

最近では代わりにベトナムとかフィリピンでの開発が多いように感じます。

日本で既に付き合いのあるベンダーが良い。けどコストも抑えたい。

もちろん日本国内には数多くのITベンダーがいて、素晴らしい品質の成果物とサービスを提供してます。

そういったIT企業と既に友好関係やパートナーシップがあるのであれば、そこに依頼するのが良い選択です。

 

というのも、既に友好関係にあるITベンダーであれば、あなたが達成したい目的やビジネスが目指すもの、そしてコスト感などを理解しているからです。

顧客の要望をいかに詳細に聞き出して実現していくか、これが顧客が満足する成果物を作るためのカギです。

 

ですので、あなたの要望、要件を熟知しているベンダーに依頼すれば、あなたの希望を満たすサービスを提供してもらえる可能性が高まります。

そういった意味で、既にパートナー的なIT企業が近くにいるのであれば、そこに開発を依頼するのが賢明と言えます。

 

とはいえ、良いものを得るためには相応のコストがかかるものです。

コストはお金と時間と労力の事を指します。

お金をかければ良いものが手に入りやすいのが世の常ですが、そうは言ってもコストはなるべく下げたいというのが現実的な希望です。

このようにコストの削減を考えると、開発にかかるコストが比較的低いオフショア開発を選択するのも良いアイデアです。

安かろう悪かろう?

コストを抑えるからには、品質もそれなりに下がることを覚悟する必要があります。

安かろう悪かろう、というのは現実に当てはまる事が多いからです。

 

ただ、単純にオフショア開発をするから品質が下がる、というわけではありません。

やりようによっては、コストを下げて品質をキープするという事も十分可能です。

  1. 信用できる技術力の高いベンダーを見つける事
  2. そのベンダーをコントロールする事

これらポイントを抑えれば、コストを抑えた上で、満足の行くアプリケーション開発が可能です。

信頼できる技術力の高いベンダーを見つける

何はともあれ、実力があって信頼に値する開発ベンダーを見つけることが先決です。

これは簡単な事ではありませんが、最も効率よくベンダーを見つける方法は、やはり紹介です。

伝手を活用して紹介してもらうのがベスト

既にあなたがお付き合いある協力会社や、顧客、もしくは個人的な知人でも構いませんが、それらの伝手をフルに活用して信頼できそうなベンダーをリストアップしてコンタクトします。

コンタクトする際は、紹介者に仲介してもらうのがベストですね。紹介してもらえれば、信頼関係を築くのは容易だからです。

 

あなたもあなたの友達が信頼している人を紹介されたら、とりあえずその人の事は信頼できる、というか受け入れやすいですよね。

自分の身近な友達が付き合っている人なんだから、変な人ではないだろう、と考えるからです。

ですので、ベンダーを紹介してもらった上で直接コンタクトをとるのが望ましいアプローチです。紹介してもらえなくても直接コンタクトすればOK

ただ、もし紹介してもらえない場合でも、直接コンタクト取ってしまえばよいです。

今はオンラインで調べればメールアドレスや電話番号など、簡単に見つけることができますよね。

そこにダイレクトに連絡しましょう。

 

その会社が日本に現地法人を出しているのであれば、そこにコンタクトを取るのが早いですね。

国外の会社なので、まず始めの難関は言語の部分ですが、日本に現地法人があるのであれば、とりあえず言葉の壁はないはずですから。

 

というわけで、まずはベンダーを探すことから始めます。

いくつか候補をリストアップして、片っ端から連絡しましょう。

連絡したら実際に訪問して、話を聞きましょう。

 

なんだか飛び込み営業みたいな雰囲気ですが、それよりももっと気楽です。

なぜなら先方もビジネス拡大を狙っていて、あなたは見込み客だからです。

 

先方にとっては、見込み客から連絡が来るなんてことは願ってもないチャンスです。

なので好待遇が期待できます。楽しみましょう。

 

さて、開発ベンダーに聞くべきポイントは以下の通りです。

  1. 言語(英語、日本語ができるか)
  2. 実績(これまでの開発履歴と顧客履歴)
  3. コスト感(コンサルタント、BA、開発者などの単価)

これらを聞きながら、先方の実力を見極めましょう。

コミュニケーションの基本ツールである言語

まず言語ですが、これは最低条件です。

今後開発を実施するにあたって、たくさんのコミュニケーションが必要になります。

 

その際、意思疎通をするためには、双方が同一の言語を話す必要があります。

日本のベンダーであれば、大概従業員は日本人でしょうし、外国人であったとしても日本語は話せるはずです。

ですので言語の事を気にすることはほぼないでしょう。

普通に日本語を使ってコミュニケーションをすれば良いわけですから。

 

でも相手がオフショアベンダーだとそうはいきません。

ベトナムのベンダーであれば、従業員はベトナム人でしょうし、彼らの母国語はベトナム語です。

もし先方がベトナム語だけしか使えないのであれば、そこでアウトですね。コミュニケーションが取れません。

あなたのチームがベトナム語が堪能であれば問題ないでしょうが。。

 

このように言語のレベルを確認することは非常に重要です。

まあ言語の面は、先方が英語を使いこなせるか、という確認をすればOKです。

 

国を跨いだビジネス上の公用語は英語、というのは世界共通のルールだからです。

海外との関係を持ってビジネスをするのであれば英語は必須なのは言うまでもありません。

この事はあなたについても当てはまります。

つまり、もしあなたの会社のメンバーが英語を使いこなせないのであれば、そもそもオフショア開発の選択肢は無いです。

基本的には。

 

例外として考えられるのが、相手側が日本語を使いこなせるという場合です。

この場合においてはオフショア開発も可能ではあります。

が、そのような人材はマーケットにおける価値も高いので、その分人件費も高くなりますので、コストメリットは出せない可能性が高まります。

読み書き、話し、聞き

さて、言語のレベルの確認ですが、何に注目すればよいでしょうか?

それは、スピーキング、リスニング。

それに加えて読み書きです。

開発プロジェクトの実際の担当者と会話する

これらを確認するためには、先方の開発ベンダーのなるべく多くの人と直接会話するようにしましょう。

例えば開発ベンダーに連絡して、その担当者が非常に良い感じの人で、英語を巧みに使って会話ができるとします。

これだけで、この開発ベンダーは言語は問題ないな、という判断をしてはいけません。

その人は単に英語がうまいから、フロントの営業として働いているだけ、ということが多々あるからです。

要は言語要員てやつですね。

 

その人が英語が流暢だからと言って、開発がはじまったあとに連絡を取り合う開発側のメンバーの英語が流暢であるとは限らないという事です。

ですのでプロジェクトが始まった後に実際にコンタクトするであろう開発リードやプロジェクトマネージャと直接会話するようにしましょう。

読み書きのレベルも確認する

またビジネスにおいては会話できるだけでは仕事が進みません。

話す、聞く、というのみ加えて、読む、書く、という要素も必要です。

コミュニケーションの手段はスカイプなどのオンラインミーティングに加え、チャットやメールなども頻繁に使うためです。

 

また、成果物として出てくるであろう設計書やユーザーマニュアル、テスト結果などもあります。

ですので読み書きの部分もよくよく吟味する必要があります。

これらはメールの応答だったり、先方がこれまでにやってきたプロジェクトの成果物を見ることで見極めましょう。

 

読み書きで気にするのは文法があってるか、とかスペルミスがないか、とかいった表面的なところではありません。

まあ、ビジネスマナー的には文法もスペルも正しくあってほしいですが。。

 

大事なのは、相手が意味していることが分かるレベルか?

こちらの要求や質問に的確に回答しているか?

といった部分です。

これは相手が日本人だった場合でも同じですよね。

 

要は、読み書き、会話において問題なく意思疎通ができるかどうか、という観点で言語スキルを見極めることが大事である、ということです。

実力を知るためには実績を知ること

コストをかけてアプリケーションを開発するからには、品質の良いもの、自分の思い描くものを造り上げたいです。

良いものを作るにはスキルが必要です。

一言にスキルと言っても色々な方面のスキルが必要になってきます。

  1. プログラミング(アプリのロジックや見た目を造り上げる)
  2. プロジェクトマネジメント(人員やコストをま管理する)
  3. コミュニケーション(要件を聞き出して、伝える)

よいアプリを開発するには、上記のスキルが重要になってきます。

これらスキルがどれだけあるのかを知る事ができれば、開発ベンダーの実力が分かります。

ですがこれらのスキルは会話するだけでは把握することができません。

どうやれば分かるかというと、実際に協力してプロジェクトを成し遂げる事です。

アプリの開発を発注して、そのプロジェクトの経過と結果を見ることでのみ、先方がもっているこれらスキルのレベルを把握することができます。

つまり、これからベンダーを選定する、という段階では把握できないという事です。

なぜならあなたは未だかつてをの開発ベンダーとプロジェクトを協業していないからです。

 

ではどうすれば先方の実力を知ることができるのでしょうか?

それは、先方のこれまでの実績を知ることである程度把握できます。

実績というのは、これまでどれだけアプリ開発をしてきたかの経験値のことです。

経験値が高ければ高いほど、よい技術やプロジェクト経験を保有している可能性が高くなります。

また経験値が高いという事は、それだけ仕事を取ってきているという事です。

仕事を多く受注しているという事は、顧客から信頼を勝ち取っている、という事とも考えられます。

ですので先方の実力を知るためには先方のこれまでの開発実績が指標になるのです。

実績で注目すべきは、顧客、アプリの種類、コスト

実績で注目すべきは以下の点です。

  1. 顧客
  2. アプリの種類
  3. コスト

多くの日系企業を相手にしている開発ベンダーが好ましい

まず顧客ですが、これはどんな顧客を相手にしているか、という観点です。

具体的に言うと、対象の開発ベンダーの顧客はどこの国が多いのか、というのは見ておくべきです。

そして、先方の顧客が日系企業が多い、というのがベスト。

日系企業と多く仕事をしているのであれば、日系企業が求める品質やコミュニケーションの方法を理解しているはずだからです。

逆に日系企業との取引が少ないベンダーだったらどうでしょうか?

この場合失敗プロジェクトになる可能性が高くなります。

日系企業が求める品質を理解していないため、ローカル品質でアプリ開発をしてしまい、顧客である日系企業の要求を満たすことができないためです。

このような認識のギャップを内在した状態でプロジェクトを進めても、結果お互い不幸になるだけですので避けましょう。

従ってこのギャップを少なくするためには、なるべく顧客に日系企業を多く持つ開発ベンダーを選択するべきです。

日系企業は行間を読んでほしい、しかし海外企業はそれを知らない

日本には「あうんの呼吸」というものがあります。

私が「あ」と言ったらあなたは「うん」という、つまり私が全てを伝えなくても相手はそれを理解してくれるという関係です。

相手が発言の行間を読んで、言葉にしていないことまでも想定して理解してくれるということですね。

長年連れ添った夫婦のような関係。

全てを言わなくても察する、という考えです。

日本では、このあうんの呼吸の考えは、ビジネスの面においても同様に適用されています。

つまり、顧客が要望や要件などを正確に言語化しないでも、開発ベンダーはその真相を読み取って、顧客の要望を叶えるように動くことが期待されているということです。

言われてもいない事を、過去の経験や顧客の雰囲気から察して、それを成果物に反映しなければならないのが開発ベンダーに求められた動きです。

顧客の視点で言うと、「あなたたちは開発のプロで経験もあるだから、こちらが全部要件を言わなくても、良い感じで開発進めていってよ。」といった考え方です。

私も日系企業相手にITシステム構築のサービスを10年以上経験していますが、この手の圧力は目には見えないものの、ずっと感じています。

特に顧客が大手だと、その兆候がより強くなります

日本にいるとこのような「あ・うんの呼吸」的な動きが当たり前です。もはや文化ですね。

そして残念なことに、日系企業は、相手が海外の企業であったとしても同じような反応を期待してしまいます。

認識のギャップを埋めるためにはどちらかが相手に合わせる必要がある

その、「行間を読む」という文化を相手の海外企業が理解していない場合、顧客である日系企業と、サービス提供者である海外企業の間で、サービスの認識に関して大きなギャップが発生します。

このギャップを避けるためには、どちらかが相手に合わせる必要があります。

グローバル展開をしていくのでれば、日系企業側が変わるべきです。

「あ・うんの呼吸」の期待をなくすということです。

ただそれもすぐに実現するのは難しいでしょう。

時間をかけて少しずつ考え方と行動を変えていくしかありません。

残されたオプションは、「相手側が日系企業の文化に合わせる」です。

つまり、日本文化を理解している海外企業と協力するという選択肢をとるとういこと。

多くの日系企業を顧客にもっている開発ベンダーであれば、日本のビジネス文化も良く知っているはずです。

ですので、そういった「日本慣れしている」開発ベンダーを選択するというオプションが、最善の策である、と言えるのです。

開発したアプリの種類で、その会社の強みを知る

開発ベンダーがどの方面に強いのか、というのも知る必要があります。

アプリと言っても色々な種類があります。

例えば、企業内部でオペレーションを推進するための基幹システム開発。

企業の情報を効率よく公開するウェブサイト開発。

企業が提供するサービスをより使いやすく顧客に展開するためのモバイルアプリ開発。

このようにアプリ開発には色々な分野があります。

そして開発ベンダーも得意とする分野とそうでない分野があります。

もしあなたがモバイルアプリ開発をしたいという要件があるとして、ウェブサイト開発に特化した開発ベンダーにアプリ開発を依頼したとしても、満足のいくアプリはできあがらないでしょう。

あなたが必要とする技術を有した開発ベンダーに開発を依頼するべきなのは当然です。

その時に指標となるのが、先方がこれまで開発したアプリの実績です。

どういった分野のアプリ開発が得意で、どれだけの規模の、どういった機能を持ったアプリを開発した経験があるのか。

この点を重視して先方の開発実績を見極めましょう。

私の失敗プロジェクト経験

ちなみに私は失敗例を経験しています。

私はERPの開発をベトナムのオフショア開発ベンダーに外注しましたが、その開発ベンダーはERPの開発経験が殆どありませんでした。

結果どうなったかというと、試行錯誤の連続です。

お互い新規の分野に乗り出し、お互い地図を持たないまま、迷いながら転びながらなんとかゴールにたどり着くというプロジェクトでした。

幸いなことに、結果としては要件を満たすアプリに仕上げることができました。

それに加えて、試行錯誤を繰り返すことによって、私のスキルも開発ベンダーのスキルも飛躍的に上がるという副産物もできました。

 

しかし、効率は非常に悪かったですし、ストレスも多い、つらいプロジェクトであったことは言うまでもありません。

私の場合は運よく成功裏に終わりましたが、プロジェクトがとん挫していた可能性ももちろんあります。

このようなリスクは取るべきではありません。

コストも余計にかかる上、完成する可能性も低くなるからです。

このような経験を経ているので、開発ベンダーを選定する際には先方の実績をしっかり把握しなければならない、と確信を持ったのです。

単価と人月でコストを見積もる

開発ベンダーの顧客、そして実績を抑えるのと同時に、コスト感も把握するようにしましょう。

コストは単純にリソースの単価と人月で計算できます。

このコスト感ですが、先方にプロジェクトの概算見積もりを出してもらう事で分かります。

開発するアプリの要件(機能、規模、特性など)を先方に伝え、アプリ開発に必要となるであろうコストを先方に見積もってもらうのです。

なるべく精緻に見積もってもらった方が、見積もりと実際にかかるコストのギャップが少なくなるので、要件はできる限り細かく提示しましょう。

そして先方から出てくる概算見積もりには、単価と人月、そしてその工数根拠が記載されているはずです。

単価については、以下のように担当者ごとに区別されているのが一般的です。

シニアコンサル 5,000ドル/人月

ビジネスアナリスト 4,500ドル/人月

開発者 4,000ドル/人月

テスター 3,000ドル/人月

基本的には開発ベンダーは、デフォルトの単価設定を持っています。

この単価は市場原理が働くためか、どのベンダーでも大体同じような数字にそろってくるはずです。(差異はありますけど)

もちろん交渉の余地はありますが、値下げすることはあまり期待できません。

そしてコスト見積もりに関わるもう一つのファクターが人月です。

プロジェクトを完遂するために何人の人がどれだけの期間作業する必要があるのか、を表した数字です。

1人月 = 20人日 = 160時間

ちょっと脱線しますが、

1人月(にんげつ)というのは、1人が1ヵ月プロジェクトに専念して作業する、という意味です。

ちなみに1人月というのは、20人日(にんにち)と同じです。

1人の人が20日間専念するということです。

1週間=5営業日

1ヵ月=4週間

5営業日 X 4週間=20日

また、20人日というのは、160時間と同じです。

1日の労働時間=8時間

8時間 X 20日=160時間

つまり、

1人月 = 20人日 = 160時間

という事です。

これはIT業界でコスト計算に使われる、一般的な作業時間の計算方法です。

(まあ結局この160時間で、どれだけの成果が出せるのかは人に拠るので、この計算方法はあまり正確ではないのですが、風習としてこのようにコストを計算します。)

このように、開発ベンダーは、アプリ開発にどれだけのリソース(エンジニア)が必要となるかを、人月といった形で算出してきます。

例えば以下のような形で。

シニアコンサル 2人月

ビジネスアナリスト 2人月

開発者 4人月

テスター 4人月

この人月にそれぞれの単価を掛けて合算したものが、アプリ開発に必要となる総額の見積もりとなります。

工数の根拠を提示してもらう

このコスト見積もりに際に気を付けるべきなのは、先方が算出した工数の根拠です。

先方は何らかのロジックをつかって必要となるリソースを算出していますが、そのロジックをしっかりと説明してもらうようにしましょう。

理にかなったロジックを元に工数を割り出しているのであれば、この工数で見積もることで問題ないでしょう。

説明できるロジックを持っているという事は、その開発ベンダーは過去に同様のアプリ開発を行ったことがあり、実際にどのような作業が必要なのかを把握している、という事の裏付けになるからです。

反対に計算ロジックが分かりづらい、もしくはロジックが無い、というのであれば、その開発ベンダーは信頼に値しません。

後々お金の面でもめ事が起きる可能性が非常に高いです。

まとめ

いかがでしょうか?

アプリ開発のコストを抑えるため、比較的コストの低い海外の開発ベンダーに発注するのは良いアイデアです。

しかし、開発ベンダーを選定する際にはいくつか確認すべきキーポイントがあることをお伝えしました。

実績で注目すべきは以下の点です。

  1. 顧客(日系企業を相手にした実績があるか?)
  2. アプリの種類(あなたが開発したアプリの分野と、開発ベンダーが得意としている分野は同じか?)
  3. コスト(工数の根拠ロジックは理にかなっているか?)

これらのポイントをしっかりと抑えたうえで開発ベンダーを選定するようにしましょう。

良いベンダーを見つけられれば、良いアプリを開発でき、あなたのビジネスを拡大するチャンスが得られます。

そして、そのベンダーとパートナー関係を築いてより良いサービスを開発していくというオプションも見えてくるでしょう。

コストを抑えて、良いものを作っていきましょう。

ではまた。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください