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