判決はどうだったろうか。
本件契約の当初において、ReactJSを使用することを前提に開発の協議がされ、6月時点においてもその趣旨を確認する契約書が交わされていることに加えて、プログラミング言語を無断で変更するとその後の保守に支障を来すことが容易に想定されることに照らすと、ベンダーにおいて、ユーザー企業の明示の同意を得るなどの特段の事情がない限り、本件契約の履行に当たっては、ReactJSを使用すべき義務を負っていたというべきである。
判決ではユーザー企業の訴えた通り、言語の変更について合意を得なかったことがベンダーの非であると認定された。
本件の場合、「ReactJSを使用する」という協議の趣旨を確認する契約書が事前に交わされていたからそれに従ったまで、という意見もある。しかし判決文では、単に契約があったということ以外に以下も述べられている。
単に「契約書で言語について述べられている」だけであれば、これらの記述はなかったと思われる。逆にいえば、ベンダーは開発言語を勝手に変更できないことになる。特に保守ついては、ほぼ全てのシステム開発が当てはまるものであり、開発言語に関する合意はシステム開発における必須事項とも読める。
冒頭で申し上げた通り、私は開発言語についてわざわざユーザー企業の合意を取り付けて決定するようなことは、かつてなかった。「COBOL」「Visual Basic」「Java」「PHP」などの言語を使って開発してきたが、それらは、そのときのデファクトスタンダード(事実上の標準)と呼べる言語ばかりで、わざわざ合意を得る必要もなかったというのが正直なところである。
ユーザー企業は利用言語の察しは大体ついていただろうし、言語が何であれ、機能と性能が要件を満たせばそれでいいとの考えもあったろう。仮に保守性のことを気にしたとしても、上述の言語であれば技術者を探すのに困ることはなかろうと考えていたとも推察される。
ただ、昨今は随分と事情が変わってきた。オープンソースの普及、クラウド、統計その他の目的に特化した言語やクロスプラットフォームの充実により、前述のJavaやPHPに加え、「Python」「Go」「R」「Kotlin」「Swift」「Dart」「Julia」など、非常に多くの言語が広く使われるようになった。何がデファクトスタンダードなのか分からなくなりつつあるのが現状である。
同じことをするにも選択肢が豊富になってきたといってもいい。従って、システムを開発するときには技術の特性をよく踏まえなければならないし、ユーザー企業も保守や運用などを考え、その言語を扱える技術者の数を知っておかねばならない。
誰も保守する人間がいないとか、開発した会社に今後の保守やシステム改修を頼まざるを得ない、といういわゆるベンダーロックイン状態に陥ってしまう。これはあきらかにユーザーにとって不利なことであり、本判決もそうしたことに思いをはせた結果なのだろう。
本連載はベンダーの読者が多いので、ベンダーロックイン回避は痛しかゆしのところもあるかもしれないが、真にユーザー企業の便益を望む開発ができれば、大きな信頼も得られるだろう。
システム開発はユーザーの契約の目的に資するものである必要がある。その目的はコスト削減や生産性アップという目に見えるものだけでなく、システムの保守性や、ベンダーロックインを回避してより低コストで高品質なシステムを次期開発で可能にすること、それにより利益の拡大と経営の健全性を確保することも含まれるかもしれない。
言語の選択についての合意自体は小さな話ではあるが、これらを考えると決して軽視できないように思える。
ITプロセスコンサルタント。元・政府CIO補佐官、東京地方裁判所民事調停委員・IT専門委員、東京高等裁判所IT専門委員
NECソフト(現NECソリューションイノベータ)にて金融機関の勘定系システム開発など多くのITプロジェクトに携わる。その後、日本アイ・ビー・エムにて、システム開発・運用の品質向上を中心に、多くのITベンダーと発注者企業に対するプロセス改善とプロジェクトマネジメントのコンサルティング業務を担当。
独立後は、プロセス改善やIT紛争の防止に向けたコンサルティングを行う一方、ITトラブルが法的紛争となった事件の和解調停や裁判の補助を担当する。これまでかかわったプロジェクトは70以上。調停委員時代、トラブルを裁判に発展させず解決に導いた確率は9割を超える。システム開発に潜む地雷を知り尽くした「トラブル解決請負人」。
2016年より政府CIO補佐官に抜てきされ、政府系機関システムのアドバイザー業務に携わった
個人サイト:CNI IT Advisory LLC
成功するシステム開発は裁判に学べ!〜契約・要件定義・検収・下請け・著作権・情報漏えいで失敗しないためのハンドブック
細川義洋著 技術評論社 2138円(税込み)
本連載、待望の書籍化。IT訴訟の専門家が難しい判例を分かりやすく読み解き、契約、要件定義、検収から、下請け、著作権、情報漏えいまで、トラブルのポイントやプロジェクト成功への実践ノウハウを丁寧に解説する。
エンジニアじゃない人が欲しいシステムを手に入れるためにすべきこと
細川義洋著 ソシム 2420円(税込み)
1mmも望んでいないDX室への異動を命じられた主人公が、悪戦苦闘、七転八倒、阿鼻叫喚を繰り広げながら、周囲を巻き込んで「欲しいシステム」を手に入れるまでを8つのストーリーで解説。システムの開発工程に沿って、必要なノウハウと心構えを体得できます。
細川義洋著 ダイヤモンド社 2138円(税込み)
システム開発に潜む地雷を知り尽くした「トラブル解決請負人」が、大小70以上のトラブルプロジェクトを解決に導いた経験を総動員し、失敗の本質と原因を網羅した7つのストーリーから成功のポイントを導き出す。
プロジェクトの失敗はだれのせい? 紛争解決特別法務室“トッポ―"中林麻衣の事件簿
細川義洋著 技術評論社 1814円(税込み)
紛争の処理を担う特別法務部、通称「トッポ―」の部員である中林麻衣が数多くの問題に当たる中で目の当たりにするプロジェクト失敗の本質、そして成功の極意とは?
「IT専門調停委員」が教える モメないプロジェクト管理77の鉄則
細川義洋著 日本実業出版社 2160円(税込み)
提案見積もり、要件定義、契約、プロジェクト体制、プロジェクト計画と管理、各種開発方式から保守に至るまで、PMが悩み、かつトラブルになりやすい77のトピックを厳選し、現実的なアドバイスを贈る。
細川義洋著 日本実業出版社 2160円(税込み)
約7割が失敗するといわれるコンピュータシステムの開発プロジェクト。その最悪の結末であるIT訴訟の事例を参考に、ベンダーvsユーザーのトラブル解決策を、IT案件専門の美人弁護士「塔子」が伝授する。
Copyright © ITmedia, Inc. All Rights Reserved.