ラボvs請負 オフショア開発はどちらで契約すべきか

最近、同業他社のホームページを見ていて驚きました。
ラボ契約の方が請負契約よりも良いというのです。
例えば「自分の開発チームが持てる」とか「進捗を完全に把握できる」ところが請負契約よりも優れているというのです。基本的にPMは発注元が出すスタイルが主流みたいです。

こんな発注元が責任を全部持たなければならない契約であれば、人月単価は相当安くなりそうなものですが、実際には請負契約をやっている会社と変わりません。(むしろ高いところもあるみたいです。)
こんなビジネスはうまく行かないだろうと思いましたが、実際には急成長しているみたいです。

できるだけ請負で契約した方が良い

ラボ契約は基本的には受託側(つまりオフショア開発側)が嬉しい契約です。
安定した仕事が長期的に入りますし、完成責任もありません。つまり、プロジェクトに問題が起きて人を追加投入して結局赤字になったなんてことが絶対起きないのです。

逆に委託側(日本側)は、完成責任を負わなければなりません。作業が遅れて人を増やせば、さらにお金が掛かります。PMをベトナムに送り込めば、その人件費、滞在費など相当な額となるでしょう。

「自分の開発チームが持てる」のがメリットというのはよく分かりません。逆に言うといちいち指示を出して結果をチェックしなければならないということで、煩わしいだけだと思います。

また「進捗を完全に把握できる」と言っていますが、請負でも契約書で定めておけば進捗を細かく報告してもらうことは何の問題もありません。もし定めていなかったとしても、普通の会社であれば報告してもらえます。むしろ自分で管理しようとすると言葉の問題などで、相当大変だと思います。
ですから私は、極力請負契約を結ぶべきだと思っています。

また、受託側もラボ契約ばかりだとプロジェクト管理能力が向上しません。
良いお客様に厳しく指導していただいて管理能力が向上するというケースもあるかもしれません。
しかし、それでは偶然に任せることになります。それに管理者はその機会もないので組織としての成長は難しいでしょう。そもそも、問題を起こせば自分に痛手となるという緊張感のもとで磨いてこそ実践的なプロジェクト管理能力が高まっていくのだと思います。

ラボ契約が向いているプロジェクト

それでも、ラボ契約が向いているプロジェクトがあります。
それは以下のようなプロジェクトです。

  • 発注時点で仕様を確定することができないプロジェクト
  • プロトタイプの開発など作業の途中でどんどん変更が発生するプロジェクト
  • パッケージ保守など、事前に計画できない小規模作業がつぎつぎと発生していくプロジェクト
  • アジャイルを適用するプロジェクト
  • 同じメンバーを維持したいプロジェクト

請負契約では、発注時に仕様が確定していることが大前提となるので、それができないプロジェクトはラボ契約など工数ベースの契約になってしまいます。

しかし、最初は仕様が決まっていなくても徐々に固まっていくので、全体としてはラボ契約を結ぶが、個々の案件はオフショア開発側が見積ったうえで、責任を持って仕事をするという形がとれます。

できるだけお互いに責任を持つという形で仕事をした方が双方にメリットをもたらすと考えます。