フリーランス チャレンジ!!

フリーランス チャレンジ!!

現役フリーランスエンジニアが書く雑記ブログ

IT業界におけるオフショア開発の難しさ 失敗の方が多い

スポンサーリンク

スポンサーリンク

f:id:ksakae1216:20161116232930j:plain

オフショア開発のメリットは?

難しいの?

 

そんな疑問に答えるべく、私が以前参画したプロジェクトでベトナムとのオフショア開発した実体験に考え方をご紹介します!

 

 

Gigazineの記事

gigazine.net

 

賃金の安い海外にシステムの開発を委託することにより利益を上げるオフショア開発。

 

日本でも、中国、インド、ベトナム、フィリピンなどでオフショア開発している企業も少なくありません

 

システム開発といえば過去みずほ銀行の記事でも書いた通りです

www.ksakae1216.com

 

①要件定義

②基本設計

③詳細設計

④製造

⑤単体テスト

⑥結合テスト

⑦総合テスト

⑧本番開始

 

オフショア開発では「④製造」と「⑤単体テスト」の2つを海外に依頼するのが一般的です。

 

オフショア開発のメリット

ズバリ、人手不足解消賃金の安さです!!

 

人手不足解消

人手が足りなくて納期に間に合わない!!

 

そこで難しいところはプロパー(自社の社員)に任せて簡単なところだけ仕事を切り出してオフショアする

 

足りない工数(人手)をオフショアで解消する!! 

 

賃金の安さ

海外は賃金が安いんです!!

 

なので賃金の安い海外にたくさん仕事をしてもらえれば多くの利益を確保することができます!!

 

オフショア開発の難しさ

よくあるのは、1つしっかりした検索も更新もあるプログラムを提供してそれを参考に日本側で作成した設計書を元にプログラムを書いてもらいます

 

当然日本語で書いた設計書を海外オフショアチームに渡しても理解できないので日本側で英語にするか、海外で日本語をわかる人が英語にします 

 

ただ、システムって開発が進むと仕様変更や方針変更が必ず発生します

そうすると最初に日本側で書いた設計書を修正して海外に渡すことも多々あります

 

仕様変更だから

その都度、日本語から英語に翻訳するのも大変だし、変更すると

「それは仕様変更だから、期日に間に合わない」とオフショアチームは言います。

 

私が参画したプロジェクトでは言われました。。。

 

横展開しない

システムでは大抵、似たような画面があります。

 

マネージャーやリーダーはA画面とB画面は似ているから、A画面を先に作ってから、それをコピーしてB画面を作成するようにします。

 

でもそのように指示せずオフショアチームに任せるとA画面とB画面を別々に作ります。

 

設計書通りに作らない

ログイン画面があったとします。

 

ログインIDとパスワードを入力する2つのテキストボックスがあった場合、設計書の画面レイアウトで2つのテキストボックスを同じ長さにしていても、オフショアチームから出てくる画面は、テキストボックスの長さがバラバラです

 

聞いてみると、そんなに細かく仕様書見て作らないそうです。

 

 

えっ?! 仕様書ちゃんと見てよ ヽ(`Д´#)ノ ムキー!!

 

 

画面にエラーが出て無ければOK

画面に登録内容を入力して「登録」ボタンを押下したら当然データベースに登録されることまで確認するはずです。

 

でも「登録」ボタン押して画面に何もでなければOKだと思っている。

eclipse見ると、コンソールに思いっきり、Exception吐いてるのに・・・

 

問題があっても聞くまで言わない

やっぱり距離が離れていると毎日顔を合わせて朝会とかできません。

 

最初の頃に進捗確認を週1でしてたんだけど本格的に開発フェーズに入ったら進捗が良くない。。。

 

聞いてみたらわからないところがあって、3日位悩んでたとのこと。

 

「そんなに長い時間悩むなら、早めにメールとかでアラートあげて」と言ったら「週1で進捗報告してるから問題ないでしょう」と。。。

 

でもうまくやれば大丈夫

 ここまではネガティブなことばかり書きました。

 

単純にオフショアすればいいわけじゃない、確かに海外の賃金は安いけど簡単に考えてたら絶対失敗する

 

でもうまくやれば大丈夫

しっかりとオフショアのリスクを考え回避すればうまくいく

 

仕様が固まっている

仕様変更が頻繁に発生すると、日本だけで開発していれば口頭や簡単なコミュニケーションで済むのでコストがそんなにかからない

 

でも、オフショアだと設計書を翻訳しなければいけないし、その変更内容の意図を伝えるのも大変、コストがすごい

 

また、仕様変更が多いとオフショアチームのモチベーションが下がるし、仕様変更を伝えると、「仕様が全て固まってから伝えて欲しい」と言われたり。。。

 

なのであまり仕様変更がないシステムである必要があります

 

開発規模が大きい

規模が大きければ大きいほど利益が出ます!!

 

例えば2人で1か月で作成する場合は

日本人:月40万円✕2人=80万円のコスト

オフショア:月10万円✕2人+ブリッジSE20万円✕1人=40万円のコスト

 

差額は40万円です

 

これが20人で1か月だと

日本人:月40万円✕20人=800万円のコスト

オフショア:月10万円✕20人+ブリッジSE20万円✕2人=240万円のコスト

 

差額は560万円

 

でかいですね!!

規模が大きければ大きいほど利益がでますが、リスクも増えるので大きければいいわけでもありません

 

 

最後に

どうですか?

オフショア開発っていっても結構難しいんですよ!

 

しかも中国は賃金がすごく高くなってるので賃金が安いという旨味はなくなってきますし他のインド、ベトナム、フィリピンなんかも今後賃金が高くなる可能性は十分あります。

 

また、自分の国で経済成長が進めば、自国の仕事を優先するはずなので日本からの開発を請け負ってくれるかも疑問です

 

アメリカは随分前からオフショア開発をしていますが、仕事を海外に回すと自国で仕事につけない人が増えるし、技術を社内で高めることもできないのも問題です。

 

自社の内製とオフショア開発をうまく使っていく必要があります。

日本はこれからどんどん人手が不足するから。。。 

www.ksakae1216.com