IT・システム判例メモ

弁護士 伊藤雅浩が,システム開発,ソフトウェア,ネットなどのIT紛争に関する裁判例を紹介します。

瑕疵担保責任に基づく解除とユーザの過失割合 東京高判平26.1.15(平25ネ3952他)

システムの完成及び瑕疵と,ベンダ・ユーザの責任割合等が争われた事例。

事案の概要

Y(出版社)は,X(ベンダ)との間で,平成16年4月15日,本件新基幹システムの開発を委託する基本契約を締結した。Xは,要件定義,基本設計を終えて納品物を納入し,Yの検収を経て,代金が支払われた。


平成20年12月25日,XとYは,上記基本契約に基づく個別契約として,開発個別契約を締結した(代金額約9億円)*1。その後,Yは,平成21年6月16日,当該個別契約を解除した。


Xは,Yに対し,上記代金約9億円のほか,追加作業等を含め約14億円の支払いを求めたのに対し,Yは,Xに対し,反訴として,債務不履行または瑕疵担保責任に基づく損害賠償請求として,合計約14億円の支払いを求めた。


原審(東京地判平25.2.28)は,システムが完成しているが,Yによる瑕疵担保責任に基づく契約解除は有効であったとして,Yが被った損害約4.6億円を認めつつ,Yの過失割合を8割とし,Xの本訴請求の一部を認めて相殺後の約2300万円について反訴請求を認めた。

ここで取り上げる争点

(1)システムの完成
(2)瑕疵担保責任に基づく解除の可否
(3)開発契約の解除に伴う導入支援作業の解除の成否
(4)ユーザ(Y)の被った損害額
(5)過失相殺・過失割合

裁判所の判断

争点(1)システムの完成については,原審の判断が維持されているので,該当する箇所を引用する。よく用いられる「最終工程論」によって完成を判断し,シナリオテストの完了を以って完成を認定した。

民法632条及び633条は,注文者の請負人に対する報酬の支払時期について,請負人が仕事を完成させ,仕事の目的物を注文者に引き渡したときであると規定し,他方,同法634条は,仕事の目的物に瑕疵があるときは請負人は注文者に対して瑕疵担保責任を負い(1項),請負人がその仕事の目的物についてその担保責任を果たすまでは注文者は報酬の支払につき同時履行の抗弁権を有すると規定している(2項)。これらの規定によれば,法は,仕事の完成が不完全な場合のうち仕事の目的物に瑕疵がある場合と仕事が完成していない場合とを区別し,仕事の目的物に瑕疵がある場合でも,それが隠れたものであると顕れたものであるとを問わず,そのために仕事が完成していないものとはしない趣旨であると解される。そのため,請負人が仕事を完成させたか否かについては,請負人が当初の請負契約で予定していた仕事の最後の工程まで終えて注文者に目的物を引き渡したか否かによって判断されるべきである。

本件ソフトウェア開発個別契約でXYの協議により別途定めるとされた納入条件(7条)は,上記シナリオテストを終えて一応の品質の確保がされたことであったと認められ,XYの意思は,平成21年1月5日の納品日には本件ソフトウェア開発個別契約で予定された最後の工程まで終えて納品がされるとの認識を有していたものと認められる。

以上に対し,Yは,本件ソフトウェア開発個別契約における最後の工程は「検収」である旨主張する。しかし,・・同契約の条項上,検収は納品があった後にYにおいて行うものであることが明らかであり,Yが検査結果を通知しない場合には検査に合格したとみなされることが規定されていることも考慮すると,請負人が行うべき最後の工程が「検収」であると解することはできない。Xにおいてシナリオテストを終えて納品をした平成21年1月5日の翌日以降に発見される不具合・障害については瑕疵担保の問題であると解すべきで(略)ある。


争点(2)瑕疵担保責任に基づく解除の有効性について,次のように,次々と不具合が見つかるような場合も瑕疵があるといえるとしている(以下,本判決が原審を引用している箇所もあるが,そこは区別せず引用する。)。

一般に,コンピュータソフトのプログラムには不具合・障害があり得るもので,完成,納入後に不具合・障害が一定程度発生した場合でも,その指摘を受けた後遅滞なく補修ができるならば,瑕疵とはいえない。しかし,その不具合・障害が軽微とは言い難いものである上に,その数が多く,しかも順次発現してシステムの稼働に支障が生ずるような場合には,システムに欠陥(瑕疵)があるといわなければならない。


その上で,次のような事実が認定されている。

  • 平成21年1月5日から同年4月30日までの間に,Xの認識でも154件の不具合・障害が発生し,そのうち,障害の程度が「高」であってYの顧客・対外的業務に影響するものが7件あった
  • これに基づいてYが同日,検収不合格通知をした
  • さらに同年5月18日から同年6月16日までの間に,42件の不具合・障害が発生し,「高」が3件含まれていた
  • ほかにも,第三者が493画面中62画面についてテストを行ったところ,28件の不具合・障害が発生し,「高」が1件含まれていた
  • データ移行作業における役割分担についての認識が相違しており,その結果,多数の不具合・障害の原因となり得るものとして,これは本件システム自体の瑕疵であった

なお,データ移行不備の責任について,原審は,主な原因はYにあるとしていたが,控訴審では,次のように述べている。

原因はY側にもあるが,Xがシステム開発等についての専門的知見・経験を有する専門業者であることに照らすと,その主な原因がYにあるとまで認めるに足りる証拠はない

瑕疵の存在を認めたうえで,「契約をした目的を達することができない」(民法635条)かどうかについては,判決文を引用すると長くなるので,まとめるが,次のように判示されている(日付に特に記載がなければ平成21年)。

  • 当初の納入期限は平成20年10月末で,平成21年1月5日に変更されたが,検収は4月30日まで行われ,5月18日に再納入された。
  • XYにおいて,遅くとも7月頃にはシステムの検収が完了することが予定されていた
  • Yの現行ホストコンピュータの保守期限は9月30日に満了する
  • 再納入後の検収期間終了時である6月16日時点で補修未了の不具合・障害は31件あり,補修工数は93.4人日を要する規模であった
  • 新システムの本番稼働までには,さらに少なくとも5カ月の導入支援期間が必要であり,さらにその先に現行ホストコンピュータとの並行稼働が必要であった

以上を踏まえて,

(不具合の数は)期間の経過により発現数は減少しているものの、本件新基幹システムの障害・不具合が順次発現していたことに照らせば、同日の時点において、本件新基幹システムに今後どの程度の障害・不具合が生じ、その補修にどの程度掛かるのかについて明らかであったことを認めるに足りる証拠はなく、X及びYは、同日の時点で、本件新基幹システムに、今後どの程度の障害・不具合が生じ、その補修にどの程度掛かるのかについて、その目途が立たない状態にあったものと認められるのである。

(略)

以上判示の各点を総合すれば、Yが上記解除の意思表示をした同年6月16日の時点において、本件新基幹システムは、その瑕疵のために上記検収期間終了時において検収が終了せず、その時期が上記予定よりも大幅に遅れている上、Yの現行ホストコンピュータの保守期間が満了後もなお長期間を要する状態になっていたものと認められるのであり、本件ソフトウェア開発個別契約は、本件新基幹システムの瑕疵のために、社会通念上、本件ソフトウェア開発個別契約をした目的を達することができないものと認められる。


なお,Xは,同種の大型開発案件と比べて不具合・障害が多いとはいえない(目的を達することができない瑕疵とはいえない)と反論していたが,この点についても裁判所は次のように述べてXの主張を容れなかった。

仮に、本件新基幹システムが同種の大型開発案件と比べて不具合・障害が多くはないと認める余地があるとしても、本件新基幹システムは、その瑕疵のために上記検収期間終了時において検収が終了せず、その時期が上記予定よりも大幅に遅れている上、Yの現行ホストコンピュータの保守期間が満了後もなお長期間を要する状態にあって、社会通念上、Yにおいて、本件ソフトウェア開発個別契約の目的を達することができないものと認めざるを得ない

よって,Yによる契約の解除は有効であり,Xによる報酬請求は理由がないとされた。


争点(3)導入支援作業の解除の成否

XY間では,導入支援作業に関する注文書がいったん返還されたり,中止の通告がなされたりするといったやり取りがあったことから,契約の成否や中止に至るまでの報酬請求の可否が争点となっていたが,この点について裁判所は次のように述べて,導入支援作業に関する報酬請求権は消滅しないとした。

導入支援作業は,(略・・注:開発個別契約との関連性はあるが)社会通念上(略)Yの作業を支援する契約は,区別することができ,前者が請負契約であるのに対し,後者は,仕事の目的物の完成という状態を観念することが困難で,前者の契約締結前の平成20年4月時点から既に履行の始まっていた準委任契約であり,平成21年4月30日まで行われた新基幹システム導入のためのYの作業を支援して一定程度進められたという限度ではその契約の目的も達成していると解される。(略)そのため,本件ソフトウェア開発個別契約が瑕疵担保責任に基づく解除がされたからといって,導入支援作業についての合意も解除されたと認めることはできない。
(略・・注:Yは,両契約は密接関連性を有するから,開発契約の解除は導入支援契約の解除原因となると主張するが)導入支援作業は,Yの主張によっても,Yが行うべき検収作業、すなわち、上記成果物が検収できるのか否かを判定することを、適切に行うことを目的とするものと認められるのであって、本件ソフトウェア開発個別契約の成果物がその瑕疵により検収不能であったとしても、Yが検収不能という判定をするために必要な作業であると認められるのである。したがって、本件ソフトウェア開発個別契約が履行されずに、導入支援契約のみが履行されたとしても、その目的を達成することができないとは認められないのであって、社会通念上、本件ソフトウェア開発個別契約又は導入支援契約のいずれか一方が履行されるだけでは契約を締結した目的が全体としては達成できないと認められる場合に当たるものとは認められない。


争点(4)のユーザ(Y)が被った損害の額


瑕疵担保責任と相当因果関係あるYの損害として認められたのは,約4.6億円とされた。


要件定義,外部設計に関する支払済み報酬額約4.7億円については,「要件定義,外部設計段階とは異なる考えに基づく本件ソフトウェア開発個別契約に固有の原因によるもの」「費用が無駄になったといっても,これについて開発工程段階に至って発生した瑕疵が原因であるなどと言うことは相当では(ない)」として,相当因果関係のある損害ではないとした。そのほか,不具合記録保全のためにYが行った事実実験公正証書作施費用(約50万円)についても認めていない。


損害に認められたのは,次のようなものである。

  • ソフトウェアライセンス料 約4500万円
  • ハードウェアのリース料・保守料 約1億4600万円
  • 各種業務委託費 約7600万円(操作マニュアル作成委託費用などが含まれている。)
  • 回線費用 約300万円
  • 研修会の会場費用 約160万円
  • 出張旅費 約4900万円(開発期間中のY従業員のプロジェクトに関する出張旅費)
  • 人件費 約1億4300万円(開発期間中の時間外労働分)


争点(5)過失相殺について

まず,総論として次のように述べる。

Xは,前記(略)のとおり,開発業務の全般にわたり「プロジェクト管理」の責任があり,上記のとおりの事態が生じたことについては,プロジェクトマネジメント義務違反としての責任も免れないというべきである。


さらに,責任の所在について次のように述べた(この点は原審との大きな違いがみられる。)。

以上判示の各点を総合すると、Yは、顧客であって、システム開発等についての専門的知見を備えているとは認められないのに対し、Xは、システム開発等の専門的知見や経験を備えた専門業者であって、本件新基幹システムに多数の不具合・障害という瑕疵を発生させたのはXであることが認められる。

そして、その原因の一つとして、XとYとの間で費用負担についての明確な合意がないまま、XがYの変更要求に応じて多くの変更をして混乱が生じ、約定された検収完了時期の遵守も困難になったことがあると認められる。また、上記瑕疵のために上記検収期間終了時において検収が終了せず、その時期が上記予定よりも大幅に遅れ、Yの現行システムのホストコンピュータの保守期間である平成21年9月30日の満了後もなお長期間を要する状態になれば、社会通念上、本件ソフトウェア開発個別契約の目的を達成できなくなるのであって、このことをYが認識していたことは前記(略)のとおりである。そして、外部設計後に多数の変更を行えば、本件新基幹システムにおける不具合・障害の発生の可能性を増加させ、その検収完了が遅延するおそれが生じ得ることに照らせば、YがXに対し本件新基幹システムについて多数の変更を申し入れたことは、本件ソフトウェア開発個別契約の目的を達成できなくなった原因の一つであると認められ、その点においてYに過失のあることを否定できないのである。

すなわち,仕様変更を多数申し入れたことが遅延,不具合発生の原因の一つであるとして,ユーザであるYの責任も否定できないとした。

(注:契約上の変更管理手続によれば)Xは、Yの変更申入れを応諾する契約上の義務を負わず、契約上これを拒絶することができるのである。そして、Yがシステム開発等についての専門的知見を備えているとは認められない顧客であるのに対し、Xは、システム開発等の専門的知見や経験を備えた専門業者であって、Yからの変更の申入れに応じることが、本件新基幹システムにおける不具合・障害の発生の可能性を増加させ、そのために検収終了時期を大幅に遅延させ、本件ソフトウェア開発個別契約の目的を達成できなくなる場合においては、本件プロジェクトの業務委託基本契約に基づく善管注意義務及び本件ソフトウェア開発個別契約における付随的義務として、その専門的知見、経験に照らして、これを予見した上、Yに対し、これを告知して説明すべき義務を負うものであって、なお、Yが変更を求めるときは、これを拒絶する契約上の義務があると認められるのである。そして、Xにおいて、これを予見することが困難であったとは認められないのであって、Xのこのような義務違反がYの上記過失の一因となっていることが否定できないのである。

つまり,ベンダは,仕様変更による影響が大きいときはその旨を説明し,拒絶すべきであるとしている。

(注:Yは担当していたデータ移行作業に不適切さがあったが)Yがシステム開発等についての専門的知見を備えているとは認められない顧客であるのに対し、Xは、システム開発等の専門的知見や経験を備えた専門業者であって、Xの上記データ移行作業の不適切さが、本件新基幹システムにおける不具合・障害の発生の可能性を増加させ、そのためにその検収終了時期を大幅に遅延させ、本件ソフトウェア開発個別契約の目的を達成できなくなる場合においては、本件プロジェクトの業務委託基本契約に基づく善管注意義務及び本件ソフトウェア開発個別契約における付随的義務として、その専門的知見、経験に照らし、これを予見した上、このような事態を回避するために、Yに告知し、Yのデータ移行作業に特段の対応が必要であるというのであれば、その旨の指摘・指導をすべき義務を負うと認められる。
(略)
以上判示の各点に加え、前記ア判示の被控訴人の責任の性質や前記(ア)ないし(ウ)判示の控訴人側の事情等本件における諸般の事情を考慮すると、その減額の割合は4割と認めるのが相当である。

多くの仕様変更を要求したことや,データ移行の不備があったYの過失割合を4割だとした。


結局,約4.6億円の損害のうち,4割を減じ,Xの請求認容額の相殺後の残額約2.1億円の請求を認めた。

若干のコメント

東京高判平25.9.26スルガ銀行vs日本IBM事件。)に続いて,大型のシステム開発紛争に関する高裁判決が出されています。


従来,瑕疵担保責任に基づく契約解除を認めた事例は,処理速度が著しく遅い例(東京地判平14.4.22東京地判平16.12.22)など,限定されていましたが,本件では,個別の不具合の程度を問題にしつつも,何度も検収,再納入,不合格,というプロセスを繰り返しても収束が見えてこないという事情,ホストの保守期限が切れてしまうという事情から「契約の目的を達成できない」と判断されました。


ユーザからすると,不具合があるからということで,検収不合格(あるいは納品の拒絶)をすることで代金支払いをまぬかれると考えがちですが,本件におけるYのように,数度にわたってやり直しをさせた上で満を持して解除するというような慎重な対応をしたほうがよいでしょう。


本判決では何度も「ベンダは専門家,ユーザは素人」というようなフレーズが登場します。ユーザが仕様変更を出したことが遅延,障害発生につながったとか,ユーザ担当の移行作業が不十分だったとしつつも,ベンダは専門家なんだから,そこをプロジェクトマネジメント責任に基づいて何とかしなければならない,という考え方が根底にあることが伝わってきます。


また,損害論としては,Yの残業代,出張旅費が多く認められていることが注目されます。従業員の給与は,紛争如何を問わず発生する費用であるため,相当因果関係ある損害だと認められにくいのですが,本件では一定の残業代については,本件プロジェクトのために投下された労務費用であるとして相当因果関係あるとしました。


どうでもいいですが,控訴審判決の「○頁○行目の『・・』から○頁○行目の『・・』までを,以下のとおり改める」という形式の判決文って,こういうときに引用,解説する際に非常に面倒ですよね。事件の当事者や代理人のときは,差分表記形式のほうがわかりやすかったりしますが。

*1:書面上の締結日は平成20年12月25日で,納品予定日の直前だが,実際の開発作業はそれよりもずいぶん前から行われている。