ことに最近よく聞く話のひとつに、古いシステムのデータに関することがあります。古いシステムをリニューアルして新しいシステムを作ったり、クラウドサービスを利用して実現するような場合、それまで旧システムに溜め込まれたデータを正しく新しいシステムに移行することが必要となります。しかし、旧システムを担当するベンダと新しいシステムを導入するベンダが異なるような場合、データの構造が分からなかったり、データの品質が悪くてうまく移行できないことがあります。開発中にこれが発覚するとプロジェクトが大幅に遅延して、場合によっては頓挫してしまうこともありますし、古くは2002年に、みずほ銀行のシステム統合が失敗したのも旧三銀行のデータに差異があり、金融機関コードと店番号が入り混じってしまったことが大きな原因でした。たかだか数十文字のデータに関する理解不足や不整合が、大きな社会問題にまで発展してしまったのです。
そこまで大事にならなくても、ユーザ側、ベンダ側双方の旧データの理解不足による移植失敗がプロジェクトを破綻させ、裁判にまでなった例はいくつかあります。この場合問題なのは、その責任です。古いシステムのデータのことですから、新規に参入したITベンダにしてみると、それはユーザが責任をもって情報提供して欲しいと感じるでしょう。しかし、一方でユーザの方からしてみると、自分達は素人でITのことは分からない。そのあたりは、専門家であるベンダがきちんと調べて対処して欲しいと考えたいところです。今回は、そんな紛争の事例を見てみたいと思います。古いデータの移植の責任はユーザとベンダのどちらにあるのか、少し考えてみましょう。
ユーザの協力義務が問われた裁判の例
東京地方裁判所 平成28年11月30日判決から
建築現場の足場などの資材リース業を営むユーザ企業は、リース物件の管理を行うシステムの刷新を行うこととなった。現行システムではリース物件が滅失した場合のデータ管理を適切に処理できないという問題を解決するためだった。
ユーザ企業は、この開発をあるソフトウェアベンダに依頼したが、開発したシステムは正しく動作しなかった。原因は旧システムから新システムに移行されたデータに多数の不整合があったためだった(このデータ不整合は旧システムにおいても存在していたもので、ベンダの作成したプログラムやベンダの作業によって発生したものではない)。
これが原因で、システムの開発は当初の納期から大幅に遅れることとなり、ユーザはベンダの債務履行遅滞を理由に契約を解除し、支払済の費用に相当する約2000万円の返還を求めてベンダを提訴した。
ご覧の通り、この開発では、ユーザ企業の旧システムにあったデータの品質が悪かったため、新システムがうまく動作しませんでした。古いシステムではよくある話ですが、2バイト文字と1バイト文字が混在していたり、同じ意味合いの言葉が異なるデータ項目として登録されていたり、そんなものが沢山含まれる、いわゆる「汚い」データだったようです。