オフショア開発のむずかしさ

現在自分の参画しているプロジェクトでは、オンショアだけでなくオフショアでの開発も行っています。ここ数カ月の自分のロールは、主にオフショアを相手に開発をしてもらうための設計書を書いたり、それに伴うQAを受けたり、実際の成果物を受け入れテストをしたり。がっつりオンショアとかかわるポジションにいます。
今月の中旬の2週間、実際に中国に行ってきました。その時に感じたことをメモとして記述したいと思います。

今回のわれわれのプロジェクトでは、オフショアが絡んでいない部分での問題点も多いです。その中で最もクリティカルなのが、情報共有ができていない、ということ。一時に比べれば、とはいってもまだまだ課題は多い。そのような状況でのオフショアへの発注。やはりその問題点が一番のボトルネックになっています。何カ月もQAとかでやりとりをしていて、私の中では「なぜこのような当たり前のことを聞いてくるんだろう?」という気持ちが強くなり、時には怒りすら感じていました。こっちの人間が常駐して、業務知識も伝えているはずなのに、と。でも実際に行ってみると、「あまりにもオンショアから情報が入ってこないこと」を痛感しました。そして業務知識を伝えているべき人間が、肝心なところを伝えていない。それに加えて、ころころと変わる要件。それにキャッチアップできるすべもない。このような事実を目の当たりにし、私がオンショア側でQAをしていた時の前提条件が、実際とかけ離れているという事実に気がつきました。「相手の前提条件を理解した上で話をする」という当たり前のようなことが自分には出来ていなかったのです。

その事実に気がついたとき、今回のプロジェクトでのフレームワークがどうなっていて、実装するべき姿がどうであるか、きっと伝えきれていなかったのだろうなと思いました。その他にも次々に発生する問題。それは、しかるべきコミュニケーションで回避できていたのかもしれません。オフショアでの開発分の品質については、コミュニケーションだけの問題でもないような気がしますが…

テストが始まった今、やはりオフショア開発分の品質が問題になっています。つい自分はそういった開発物を相手にすると、批判ばかりしてしまっているのですが、それではいけないなと感じています。品質に問題があるのであれば、「具体的に何がいけないのか。それを改善するためにできること」をきちんと伝えていく必要があると反省しています。それは例えば、全般的に●●といった視点のテストが足りないであるとか、ここで例外を握りつぶすのは●●といった理由からよくない、であるとか。

それを伝える際の言葉も、相手が日本語のネイティブではないことを配慮しなければなりません。メールではしっかりとした日本語を使ってくるのでつい普通に日本人とやり取りする感覚になってしまっていましたが、それではやはりうまく伝わらず、相手も意味を理解するまでに時間を要してしまいます。簡単な言葉で簡潔に伝えること、それが海外の方との仕事上のコミュニケーションでは必須であるということを学びました。
もしかしたら、このような問題点を解決した上で、初めて品質がどうとかいう資格があるのかもしれません。

次から次へと壁にぶつかる日々ですが、貴重な経験をしていることは確かなので、吸収できることは吸収し、今後のオフショアとのかかわりに生かしていきたいものです。