なぜ、オフショア開発プロジェクトは失敗するのか?(3)
なぜ、オフショア開発プロジェクトは失敗するのか? の第3回目です。前回(第2回)は、オフショア開発が失敗する原因である「コミュニケーション能力」についてご紹介しました。今回は、コミュニケーション以外のオフショア開発が失敗におわる原因についてご紹介していきます。
開発したアウトプットの品質
オフショア開発企業に勤めている開発者の多くは、二十代もしくは三十代前半の若手が多く、それ自体はとても良いことなのですが、若手であるが故に残念ながら経験値も少なく、知識と技術力の低い開発者が非常に多いのが現状です。
その結果、開発業務を委託するまでは、開発コストも安く、リソースの数もそろっており、一見、良さそうに見える為、発注へと一気に突き進むケースが多いのですが、いざシステム開発が始まり開発作業のアウトプットとして納品されるソフトウエアを動かしてみると、色々と出来が宜しくないことが散見されるケースが目立ちます。
バグが多かったり、仕様を正確にできずに誤った仕様で開発してしまったり、そもそもテストもせずに納品してきたり・・・と散々な結果に終わることが度々発生します。※もちろん、そうではない業者もいるとは思います。
過去に私達が経験したオフショア開発プロジェクトでは、「開発しました!」と報告をもらって納品されたプログラムの動作確認をしてみると、まったく開発されていないといったことが何度もありました。。
最初にこのトラブルが発生したときは、日本国内における開発プロジェクトでは、なかなか見かけない光景だったので大分驚いたものですが、一度だけではなく、二度、三度と同じことを繰り返された為、大変不本意ではありましたが、これは文化なのだと受け入れて、日本国内で改めて体制を用意したということがありました。
オフショア開発の最大のメリットである「コスト削減」だったはずですが、結果的には、日本側の手間が増え、大幅に時間がとられる結果となってしまいました。
日本の商習慣、文化への理解
海外の人々にとって、日本企業独自の商習慣や機能へのニーズなどが特に色濃くでてくるのが所謂「業務システム開発」というものになるのですが、海外の人々にとって日本国内で当たり前に利用されている「業務システム開発」を理解することは難しく、曖昧な理解のまま開発を行うことによって、まったく違うものを開発してしまい、何度も何度も手戻りが発生してしまうという深刻な事態を発生させます。
日本語と現地の言葉の通訳となっているはずの「ブリッジエンジニア」の日本語力に問題があり、現地の開発者に、日本側が求める仕様を正確に伝えられていないケースが多発します。
「ブリッジエンジニア」にシステムの細かな仕様を理解してもらうことは、本当に長い時間と労力がいることです。
何度も何度も繰り返し詳細な説明を行うことと、細かな確認をすることは最低限必要になるのですが、システムが求める仕様を理解してもらいたく細かい説明をすると、担当の「ブリッジエンジニア」に嫌がられることもあり、日本側の担当者にとって”難易度の非常に高いお仕事”となることは覚悟しておく必要があることも、オフショア開発を更に難しくしている原因となっています。
つまり、品質を語る以前の問題での対応が必要になってくるのです。
オフショア開発時の”準委任契約”にはご注意を
最後に、オフショア開発企業と取引を行う際の「契約形態」について説明します。ウェブシステムやアプリの開発依頼元が日本国内の開発ベンダーや海外のオフショア開発事業を行っている企業に、開発を依頼する際には必ず”契約”を締結します。
ソフトウエア開発業務の商取引の契約は、主に「請負契約」と「準委任契約」があり、開発作業・開発業務を委託したい場合には通称SES契約と呼ばれる「準委任契約」をとるケースがほとんどです。では、オフショア開発の場合は、「請負契約」と「準委任契約」のどちらの契約形態を選択するかと言いますと、ほとんどのオフショア開発企業は、「準委任契約」での契約のみを条件として見積書を提示してきます。請負契約はできませんか?と問い合わせると「大丈夫です!OKです!」と言いながらも最終的には「準委任契約で!」となる場合が大半です。
なぜ、オフショア開発企業は「準委任契約」を企業するのでしょうか?
ということで、元オフショア開発企業で働いていたエンジニアにヒアリングしてみたところ、
- 「日本語や日本の仕様がわからず開発期限までに開発を完了させることができないリスクがある。」
- 「請負開発だと開発を完了させない限り、お金を振り込んでもらえない。(準委任契約だと毎月請求することができる)」
といった答えが返ってきました。
オフショア開発企業では、所属するブリッジエンジニアやDevのメンバースキルを十分に把握し、潜在的に抱えるリスクを予見しつつ、日本の商法を理解した上でオフショア企業にとって最適な契約方法を選択しているようです。
オフショア開発を利用する際には、契約形態、納品リスク、品質リスクなどの観点からも十分に調査・確認を行った上で”上手に利用する”ことができれば、良い選択肢のひとつとなる可能性を秘めています。
なぜ、オフショア開発プロジェクトは失敗するのか? まとめ
- オフショア開発の目的である開発コストの作成は削減できるのかを、開発リソース・契約形態等の観点からよく検討する
- 本当に活躍することができる開発リソースなのかを見極める
- 開発するシステム・アプリは、本当にオフショア開発に向いているのかを見極める
- オフショア開発を決断(決定)したとき、想定できるリスクは事前に考慮できているのか?リスクが顕在化したときの対処法についての準備はできているのか?を確認しておく。
- ブリッジエンジニアの日本語能力は、日常会話程度ではなく専門用語の理解度までを面談で確認する。
- ブリッジエンジニアのシステム仕様への理解力(特に開発リーダー)について、レベル感を確認しておく。
- ブリッジエンジニアにかかるコストも開発費(イニシャルコスト)として必要になることを認識しておく。
- 準委任契約の契約内容・責任範疇、リスク等について理解しておく。