IT訴訟解説:開発技術の変更が争点となった裁判「ReactJSで作るはずだったのに、Laravelで作ったので訴えます」
皆さんは、開発するシステムの言語について合意することはあるだろうか。あるいはベンダー、ユーザー企業、双方の合意がなければ言語(※以降、便宜上ライブラリやフレームワークも含める)を変えてはならないという経験はお持ちだろうか。 正直、私は言語の選択や変更についてそこまでのことをした記憶はない。どんな言語を使用するかは技術者の判断に任されており、必要に応じてユーザー企業に知らせはするものの、その合意を取得するところまではやってこなかった気がする。 しかし、これが問題になることもある。もしかしたら、システム開発のありようが変化してきたために生じるこうした問題は、古い慣習を引きずっているベンダーにはちょっとした反省になるかもしれない。
開発言語の変更にユーザー企業の合意は必要か
事件の概要から見ていこう。 --- 東京地方裁判所 令和3年9月30日判決より 原告(以下、ユーザー企業という)は会社の設立を企図してWebサイトの開発をベンダーに委託した。開発は原型となるシステムに機能の追加、改良する形で行われ、開発方式はアジャイル型だった。しかしながら開発したWebシステムはユーザー企業の意図通りには機能しなかった。 ユーザー企業は、この不具合を引き起こした原因の一つは、ベンダーがユーザー企業の合意を得ずに開発言語を変更したことにあると訴えた。本件システムの原型となるシステムの開発言語は、「ReactJS」と呼ばれるものであり、ユーザー企業とベンダーの打ち合わせにおいても追加、改良作業も同言語で行われるとの前提であったにもかかわらず、ベンダーが言語を「Laravel」に変更した。 ユーザー企業はこれを失敗の原因であると主張したが、ベンダーは開発言語をReactJSとするような合意はなかったと反論した。 出典:東京地方裁判所 平成31年(ワ)3149 ---
開発言語は専門家の領分、ユーザー企業には判断できない?
開発言語を勝手に変えることは、問題なのであろうか。 前述した通り、開発言語は技術者でないと責任を持って最適なものを選ぶことが難しいはずである。技術に精通しているユーザー企業ならともかく、そうでないなら(言語の選択によって納期や費用が変わってしまう場合を除けば)ユーザー企業には口を挟む余地はあまりない気もする。 ReactJSで作られている原型にLaravelという別の言語で機能を追加をするのはなぜなのか。設計書を見ていない私には分からないが、悪意のない専門家が最も適していると選択した技術方式であれば、ユーザー企業はそれに従うのが通常である。なぜReactJSではないのかという質問はしても、ベンダーの判断は一定程度、尊重されるのが通常であろう。 開発が失敗し、その原因が言語の選択にあったとしても、つまりこの裁判自体はベンダーの敗訴となったとしても、ではベンダーは言語の選択に当たってユーザー企業の同意を常に得なければならない義務があるのだろうか。少なくとも私の経験上はそんなことはなかったのだが……。