IT・システム判例メモ

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

アジャイル開発と開発言語の合意・未完成の責任 東京地判令3.9.30(平31ワ3149)

アジャイル開発の紛争事例。ポイントは、①契約の性質は請負か、②開発言語や納期などの債務の内容の合意、③損害の範囲。

事案の概要

X(設立予定会社の発起人)は、Yに対し、設立予定会社の営業に用いるウェブサイト(本件ウェブサイト)の開発を委託し、本件契約を締結した。開発報酬は月額2000米ドル、メンテナンスは月額800米ドルと定められた。いわゆるアジャイル方式で行うことが合意され、契約書は後追いで取り交わされた。

本件ウェブサイトは、本件契約締結時点において第三者が開発した原型が存在しており、それに追加・改良していくことが前提となっていた。

Xは、Yによる開発が遅延し、本件ウェブサイトがまったく機能しないとして、Yに対し、本件契約の債務不履行による損害賠償及び不法行為に基づく損害賠償として、既払代金相当額、逸失利益額、慰謝料、弁護士費用など、合計で約2000万円を請求した。

ここで取り上げる争点

(1)本件契約に基づく債務の内容

本件ウェブサイトの開発に用いる開発言語が合意されているかどうかが争われた。Xは、原型として存在していたReactJSを使うことが合意されていたと主張したのに対し、Yは契約上は開発言語の合意はなく、Laravelを使用することを提案し、Xも同意していたと主張していた。

また、納期についても、合意されていたか否かが争われた。

(2)成果物の完成・引渡し

(3)損害の発生及び額

裁判所の判断

争点(1)本件契約に基づく債務の内容

本件は、アジャイル方式による開発であることには争いがなかったが、前述のように、開発言語として何を用いるかということや、実装する機能の範囲など、多岐にわたる争いがあった。このうち、ここでは開発言語と納期の部分をクローズアップする。

XとYは,4月13日までに,本件契約に基づくYの債務として,①本件ウェブサイトに本件各機能を持たせること,②その際,プログラミング言語としてReactJSなど既存ウェブサイトに使用されていたものを使用すること,③5月31日を完成予定納期(略)とすることを合意したものと認められる。

Yは,本件契約上開発言語の拘束はなかった旨主張する。
しかし,(略)Xは,最初に既存ウェブサイトの機能拡張を被告に相談した2月21日頃,Bに対し,既存ウェブサイトのデータ構造がReactなどであると伝え,また,4月5日にはBとの間で,ReactJSを使用していた既存ウェブサイトのコードを確認して理解できたかを踏まえて,機能拡張を容易に実装できるかなどと尋ねたこと,Bは,Xの上記の質問を受けて,ReactJSを使用した開発をする能力があるCが開発を担当する旨説明したこと,X及びYは6月の段階で,使用技術としてReactJSなどが明記される一方,Laravelについては明記されていない契約書に署名して本件契約の内容を確認したことが認められる。このように,本件契約の当初において,ReactJSを使用することを前提に開発の協議がされ,6月時点においてもその趣旨を確認する契約書が交わされていることに加えて,プログラミング言語を無断で変更するとその後の保守に支障を来すことが容易に想定されることに照らすと,Yにおいて,Xの明示の同意を得るなどの特段の事情がない限り,本件契約の履行に当たっては,ReactJSを使用すべき義務を負っていたというべきである。(略)本件契約がアジャイル方式を採用しており,顧客の要望を素早く反映しながら開発することを予定している以上,この理は,契約書に,Laravelを含み得るPHPや他のソフトウェアテクノロジーを使用技術として使用する余地がある旨が明記されていたとしても,異なるものではないというべきである。

Yは,本件契約において確定期限を合意することはないと主張する。そして,本件契約の契約書には,契約書に完成時期が明記されていない。
しかし,(略)本件契約の締結時に開発自体は2,3か月で終了させる旨の合意があり,これを踏まえて4月13日の打合せにおいて完成予定納期が5月31日と設定されたことに加えて,本件契約それ自体は遅くとも4月1日頃に締結されたことに照らすと,遅くともその3か月後である6月末頃までには開発自体が一通り終了することを黙示的に合意していたものと認めるのが相当である。

争点(2)成果物の完成・引渡し

本件契約は,請負契約又はこれに類似した無名契約と解されるところ,請負契約における目的物(成果物)の引渡しとは,完成した目的物を注文者が利用できる状態に置くことを指す。このような観点から,Yが本件契約に基づく成果物すなわち本件ウェブサイトを完成させ,Xが利用できる状態に置いたか否かについて,判断する。

このように述べた上で、裁判所は、

  • 確かに、本件ウェブサイトは、開発途中でもXの指定するドメインに設置された
  • しかし、開発途中でも公開することは前提となっていたので、公開状態にあったから直ちに完成・引渡しがあったとはいえない
  • 本件ウェブサイトの一部の機能がまったく動かないとXが苦情を述べ、Yもその機能は実装できないと述べていた

などの事情より、完成、引渡しを否定した。

争点(3)損害の発生及び額

以上より、Yの本件契約の債務不履行を認めた上で、ソースコード引渡しの拒否や、エンジニアの稼働状況の虚偽報告等が不法行為に当たることも認めた。裁判所が認定した損害は以下のとおりである。

  • 既払金 約100万円
  • 原型部分のウェブサイト構築費用(Xが第三者に支払った部分) 約7000米ドル
  • AWS費用 約100米ドル
  • コード履歴分析費用(Yが格納したとするAWSにアクセスできなかったため、第三者の支援を受けた費用) 約1000米ドル

ただし、Xが主張する逸失利益については、Xが設立する予定だった会社の計画上の数値に過ぎず、その計画にも拘束力がないなどとして退けた。また、Xは慰謝料も請求していたが、財産的損害であるので「Xに精神的損害が生じたとしても,通常は財産的損害が補てんされることによって精神的損害も慰謝されることになるから,単に財産上の損害の賠償のみでは償えないほどの特段の事情がない限り,慰謝料請求は認められない」とした。

若干のコメント

本件は小規模な事案で、それほど重要な論点があるわけではありませんが、「アジャイル」で「月額2000ドルの報酬」で開発を依頼していたものの、請負契約またはこれに類する無形契約であると認定され、納期までに完成しなかったことについてベンダの債務不履行責任が問われたということは注目されます。

ただし、本件の特殊事情として、スクラッチからの開発ではなく、第三者が開発した既存のものがある状態で、それを前提にエンハンスをしていくというところがありました。そのため、開発言語の選択について争われた際も、既存部分がReactJSであるにも関わらず、一方的にPHPやLaravelに変えたことについて合意に基づかないものであるとされました。

また、気になったのは、損害の範囲として、既払い金だけでなく、原型部分の開発費用も損害だとされた点です(これは修補費用ではありません。)。裁判所は、既存ソフトを毀損したことによって生じた損害は、その作成委託費用と同等だとしました。

アジャイルであれば、ベンダが納期も仕様もスコープも責任を負わなくてよいというわけではないのはもちろんですが、曖昧なまま進めるとトラブルが深刻化するという実例だと思います。