オフショア向きの仕事とリソースの確保のバランス

以前、同じようにオフショアで開発をまわしているエンジニアの人と話をする機会がありました。


その話の中で、数々のプロジェクトをこなしていくと、うまくいきやすいプロジェクトと向いていないプロジェクトがあるよね、という話になりました。

うまくいきやすいプロジェクトとは、ある程度長いプロジェクト(最低1年〜)で、そのプロジェクト特有の知識や経験をオフショア先のメンバに蓄積できるようなもの。作るモノの仕様は変わっても、そのモノに関する固有名詞や常識がある程度長い間変わらないもの。

人命に関わるため高信頼性が要求され、時間を掛けて製品を作り上げるような開発などが、オフショア開発でうまくいきやすいプロジェクトではないか、ということでした。

逆に、オフショアに向かないプロジェクトとは、製品開発サイクルが数ヶ月で、仕様書がテスト直前に固まるようなギリギリのスピードで進むような、ゲームソフトや情報家電などの開発。
頻繁に情報のアップデートがあり、現場のメンバでも自分である程度判断していかなければならないような開発などです。


私はたまにゲームをするのですが、クリア後のスタッフロールで、結構なボリュームのゲームでもプログラマ3人だけとかはよくあります。
実際は多少ヘルプが途中で入っているにしても、ゲーム開発のプログラマとかは基本的には少数精鋭なのかもしれません。
人数が増えると、それだけコミュニケーションコストもかかりますし、少数精鋭がゲーム開発の最適化された体制なのかもしれません。


長めの開発をしていると、どうしても要件検討フェーズも長くなる場合があります。その際、開発契約の見積りをすると工数の配分がどうしても日本人側に多く付き、オフショア先にはあまり工数が付けられない状況になります。

お客さんに請求する金額に、実際に開発が盛り上がるときに必要な人数をプールするためのお金を盛るわけにもいきません。
ただ、なにもせず必要最小限のオフショア先リソースを確保してしまうと、ただでさえ人の入れ替わりが激しいのに、無条件でリソースを切ってしまったために、組織としての知識、経験も一気にガクンと落ちてしまいかねません。


このように、開発の谷間でもオフショア先のリソースを確保できるだけの仕事のとり方ができればいいのですが、うまくいかない場合は自社またはオフショア先の身銭を切ってでも、リソースを確保するための投資開発をする必要があるような気がします。

あと、オフショアのプロジェクトがうまくいく理由として、やはりとても優秀な人がオフショア先のプロジェクトをまわしてくれたから、というものがあります。
運が良ければ、そういう優秀な人に仕事を振って、日本側のニーズに応えられる成果を出してくれます。
しかし、そういう人のニーズはどこも高いため、その人を確保するためのお金が払えないと、ほどなくして他所に行かれてしまいます。
かと言って、そんな人たちばかりを確保してしまうと、人件費がかさみ、オフショアなのにあまりコストメリットがない組織になってしまいかねません。

お金がすべてではないと思うのですが、オフショア先の優秀なエンジニアをいかに確保するのか、は難しい問題です。