2015年8月20日木曜日

日本側のエンジニア(関節コスト)って何?

日本側のエンジニアとベトナム側のエンジニアのチームワークが必要!

オフショア開発は日本国内では難しい人材面やコスト面をクリアしてくれます。しかし、日本側も同時に質問に答えないといけないことや、バグのテストなど時間をとられます。
間接コストの存在
オフショア開発のメリットとして一番上げられるのがエンジニア単価の安さ。
プログラマ単価が20万と国内にくらべて1/3程度。そしてエンジニアも集めやすい非常に魅力的な環境です。これだけでもオフショア開発をスタートする十分な理由になりますが。。。
オフショア開発では、間接コストが発生します。この間接コストを考慮をして見積りを行わないと実際に掛かった費用とは大きく離れます。
ここで言う間接コストとは主に仕様伝達のコストを指します。日本側のエンジニアのベトナム開発チームに参加し、いろいろな伝達やバグ修正などに時間を取られるコストです。
日本であれば「分からないことは聞いてね」で済ませられることもオフショア開発ではそうはいきません。まず翻訳して、海外のエンジニアに仕様を理解してもらうことは思った以上に手間がかかります。
この間接コストは日本側で発生します。ベトナム側だけでは任せると、後で大変になります。
開発スタート時、そして仕様変更時など要所要所で設計者がつきっきりになる必要があります。
ベトナムで予定よりも工数がかかった、という場合は実はそれほど単価が安いので問題ではなく、多少予定とずれても利益は確保できるでしょう。しかし日本側で間接コストが掛かってしまい、せっかくのオフショア開発の意味がなくなります。日本側に掛かるコストはあらかじめこういった間接的なコストも考慮に入れて予算を組むようにしなければいけないです。
ベトナムに丸投げはダメ
オフショア開発はオフショア側に任せっきりには失敗します。
日本側の忙しさやコストをかけることができない、といった理由でオフショア側へのフォローが足りないことが非常に多くあります。多くは失敗しています。毎日のようにコミュニケーションをして、随時回答や細かい指示をすると成功します。日本でいう「阿吽の呼吸」というものはありませんので、毎日、Skypeもしくはチャットワークでコミュニケーションを密にすることが成功の鍵になります。
コミュニケーション不足から、問題は分かってるけど報告できない、自分で何とか解決しよう、と問題が表面化しにくくなってどんどん未完成なものになり、最悪のパターンに繋がります。これは教育によってもちろん解決できることです。きちんと報告・連絡・相談の大切さを教えてあげればベトナムの人たちも理解してくれます。
日本のおまかせ主義は危険です。
オフショア側ばかりに改善を求めるのではなく、日本側も合わせてスタイルを変えていく必要があります。定期的にミィーティングを開くなど、オフショア側とコミュケーションを活発に行える仕組みを整備することが大切です。
オフショア開発に向かないプロジェクト
オフショア開発では仕様を念入りに伝えて、最初のキャッチアップにそれなりに時間が掛かってしまいます。最低でも一週間程度は開発の目的なども含めて意思統一をはかる必要があります。
期間の短いプロジェクトというのは基本的にオフショア開発には向いていません。
設計などを含むプロジェクトの場合は、日本側で設計をおこない、オフショア先で開発のスタイルをお勧めします。