基本契約時の想定と乖離した個別契約時の開発費用
この多段階契約は、当然のことですが同時に二つの契約に基づいてプロジェクトを遂行することになります。要件定義を行う時には要件定義工程の個別契約と、開発プロジェクト全体について取り決めた基本契約の両方が存在するわけです。
もちろん、個別契約の内容は基本契約に基づいて決められるので、通常これで困ることはありません。しかしプロジェクトが破綻して、契約を解除するというようなときには、二つの契約が存在することが問題の解決を複雑にしてしまうことがあります。
この連載は裁判を題材にしつつも、その内容はITプロジェクトのプロセス改善に関する提言のような内容を書いています。今回はそれとは少し異なり、契約の在り方自体について考えてみたいと思います。まずは、事件の概要から見てみることとしましょう。
(東京地方裁判所 平成30年10月12日判決より)
あるITベンダが製造業のユーザ企業と販売管理システムの開発を行うソフトウェア開発基本契約を締結した。開発はウォータフォール型で行うこととして、「要件定義および設計サ―ビス」、「構築サービス」、「運用準備及び移行サービス」を各々個別契約を同時に結んで実施されることとなった。
各サービスは契約に基づき順次実施されたが、ユーザ企業は開発中に、「ITベンダの業務遂行態度や能力に問題があり、このまま開発を進めても満足できず、さらなる問題も発生することが想定されるから解除せざるを得ない」として3つのうち構築サービスと運用準備及び移行サービスについて契約を解除した。(要件定義および設計サービスについては検収済み)
ITベンダは、これをユーザ企業側の一方的な契約解除であるとして、民法641条に基づく損害賠償を請求して裁判となった。
民法641条(令和2年春の改正前)という言葉が出てきましたので、念のため条文を記述しておきます。
"請負人が仕事を完成しない間は、注文者は、いつでも損害を賠償して契約の解除をすることができる。"
注文者、つまりこの場合のユーザ企業は契約の解除はできるが、その際には損害の賠償が必要ということです。
(もちろん、この前提のなっているのはITベンダになんらかの落ち度がないことであって、たとえば頼んだシステムがベンダの都合で完成できなかったり、完成する見込みがないような場合には、債務不履行となり、損害賠償にはならないということになります)
請負人であるITベンダは、この法律を根拠に賠償金の支払いをユーザ企業に求めたというわけです。そして、その金額は当初の見積額ではなく個別契約時に取り決めた金額を元に算定しています。
たしかに、実際に要件定義等でシステムの機能の詳細や実現方式を検討したところ、その工数が基本契約を結ぶときに想定していた金額を上回るというのは良くある話です。損害賠償をするにあたっても、実際にかかるであろう金額を、より正確に計算した個別契約の額を元にするのは自然な考えとも言えます。
しかし、ユーザ企業としては自分達は、あくまで提案時にITベンダから示された総額を元に基本契約を結んだのであり、それを逸脱するような個別契約の金額を元に損害額を算定するのは納得しかねるという考えのようです。
そうは言っても、個別契約を結ぶにあたり、ユーザ企業側もその金額を個々に確認して契約したのだろうとも考えるのですが、ユーザ企業側は、そんな考えを元に損害賠償は払えないと主張しました。そして、裁判所の出した判断は、私個人としては驚くべきものでした。
(東京地方裁判所 平成30年10月12日判決より)
ITベンダは、(略) 現行システムの抱える課題を十分に把握した上で、これらの課題を全面的に解決するシステムとして、(略) システムの開発をユーザ企業に提案したものであったから、これらのシステムは、ユーザ企業の要求する仕様ないし機能を元々網羅的に備えたものであって、後日、ユーザ企業からの仕様変更や機能追加の要求があり得るとしても、その程度は比較的軽微なものにとどまり、大幅な追加発注がないこと、したがって、これにともなう大幅な開発費用の追加負担もほとんどないものとしてユーザ企業に提案されたと考えられる。
一般にシステム開発に当たっては、要件定義を確定しない限り、その開発費用を具体的に確定し得ないとしても、ITベンダは、ユーザ企業の予算的制約に配慮しなければ発注は獲得できないとの前提に立って、(略) 受注することができたものと認められる。
このような本件基本契約の締結に至る経緯に照らせば、ITベンダとユーザ企業との間においては、(提案時の) 最終提示額は、単なる開発費用の目安にとどまるものではなく、その後に締結されることが予定された各個別契約の各開発費用を定めるに当たっても、その総開発費用の上限を画する機能を有するものである。