ややこしいシステム開発契約形態の違い
弊社も受託開発をいろいろと手掛けておりますが、さすがに長年開発営業をしていると契約形態に関して理解していますが、この業界に入ってきたばかりの方や新人の方でシステム開発営業になりたての方はこの契約形態は、なかなかややこしいと思われます。
私も最初はかなり戸惑いましたので。
そこで、簡単にシステム開発の契約形態をまとめさせていただきます。
まず、開発契約には大きく分けて3種類あり、請負契約、準委任契約(SES)、労働者派遣契約です。契約形態の違いは、下記の表を見ていただければと思いますが、
請負契約 | 準委任契約 | 労働者派遣契約 | |
契約内容 | 仕事の完成 | 業務の処理 | 労働への従事 |
指揮命令権 | 受注側 | 受注側 | 派遣先(発注側) |
報酬支払い | 検収後一括 | 一定期間ごと | 一定期間ごと |
完成責任 | あり | なし | なし |
瑕疵担保責任 | あり | なし | なし |
規定のある法律 | 民法 | 民法 | 労働者派遣法 |
成果物 | 検収条件に伴う | 作業(業務)報告書 |
違いのポイントは指揮命令権のところで、請負と準委任は受注側すなわち請負った開発会社のほうにエンジニアの指揮権があり、派遣先(お客様)のほうの指示で動くことは禁止されています。ここがかなりグレーになる部分で、特に準委任の場合では、必ずエンジニアの管理者を開発会社側で置かなければいけません。派遣契約との切り分けもこの部分が大きいところではあります。
次の違いのポイントは、当然ながら完成責任の部分で、請負は完成責任があるのに対し、準委任や派遣は完成責任がないので、システムが契約期間内に完成していなくても月単位で作業報酬は支払わなければならず、未完成でも契約期間が完了したので、契約が継続されなければエンジニアが帰ってしまっても仕方なく、契約を継続しようとしても、担当エンジニアが次の仕事が入ってしまったので、別のエンジニアがアサインされるか?最悪はアサインできないという事態に陥ります。
請負開発は開発会社側にもリスクは高く、その分、開発費が高額な提案になりがちですが、お客様にとっても、きっちりシステムが完成するまで開発会社が逃げずに対応してくれるので安心と言えます。
請負開発は、完成責任があるため作業場所は持ち帰りの開発も可能となるケースがありますが、準委任は契約期間中の作業契約のため、基本的にはお客様先常駐対応が基本になります。これは本当に作業しているのかがお客様から見えないと疑心暗鬼になるからかもしれません。(しかし居れば、ちゃんと働いているのか?と言うと微妙なところもありますが)
よって、完成責任が必要な設計や開発フェーズは請負契約が基本で、要件定義やテストフェーズは準委任契約でも良いと言えます。
また、請負契約では、完成システムの瑕疵担保責任が生じ、通常開発会社が1年間(契約によって異なります)の瑕疵担保責任を負う期間がありますので、その間にシステムの不具合が発生した場合、無償で修正対応する責任が開発会社に生じます。
しかしながら、1年目から開発会社と別途、保守契約を締結しているパターンが多いようです。
その理由としては、
1.開発契約における瑕疵対応だけでなく、問合せ対応や切り分けもやってもらいたいから
2.緊急・夜間対応が可能となるから
3.解散してしまう開発プロジェクトメンバーを引き続き確保することができ、対応もスムーズになるから
などです。
最後に、偽装請負にならないようにすることも大切で、業務の再委託を禁止しているお客様もいらっしゃいますので、エンジニアの要員調整とともに、お客様との開発契約は後々トラブルにならないように慎重に行う必要があります!