要件不備はシステム開発トラブルの定番
この連載では、これまで幾度となくシステム開発における要件定義の問題について取り上げてきました。要件定義が原因となってトラブルが起こり、果ては裁判にまで至ってしまう事例は、いってみればIT紛争の定番です。私の経験を振り返ってみても、トラブルを起こす原因のトップが、この要件定義なのではないかと想像します。
私はこれまで、こうしたテーマを扱う記事の中で「システム開発における契約では、要件は必ずしも金科玉条ではない」と申し上げてきました。裁判の例などを見ても、契約において最も大切なのは、その“目的”であって、実際のところ「要件定義書には書いていなくても契約の目的から考えれば、このくらいの性能は具備すべきだった」と、ベンダーの責任を重く見た判決もあります。逆に、たとえ不具合が残存していても「契約の目的は果たしている」と、システムの完成が認められるケースもあります。
しかしそうはいっても、定義された要件がシステム開発をする上で、とても大切なものであることに変わりはありません。システム要件はユーザー企業の業務、ひいては業績までを左右する重要事項であると同時に、ユーザー企業とベンダーの間に結ばれる契約の根幹といってもよい部分です。だからこそ、要件は抜け漏れなく、かつ第三者が見ても新システムや、それによって実現する業務の姿を正しく理解できる書きぶりでなければなりません。
とはいえ、まだ影も形もないシステムの動作や性能を、生身の人間がすべて正しく、詳細に記すことは、実際至難の業です。しかも、実際に要件を記す際は、考慮すべきこと、注意すべきことも多く、後になってみれば「なんでこんなことを書いてしまったのか」と、後悔するような間違いを、ついつい犯してしまうものです。
今回、取り上げる事件もそうしたケースです。あとで落ち着いて考えてみれば、こんなことは記さないのだろうという間違いが、結局、大きな損害を招いてしまった例です。「神は細部に宿る」とは昔からよく耳にする言葉ですが、システム開発における要件定義においては、特にこの言葉が当てはまる、そんなことを感じてしまうような例です。では、事件の概要からみていきましょう。