ソフトウェアの瑕疵担保責任を回避するには


一つのバグが賠償請求まで発展する時がある。例えばシステムが原因で計算した金額に誤りがあり顧客の損金となった場合などだ。
特に瑕疵担保責任について取り決めしていない場合は民法なら1年、商法なら6ヶ月が保障期間だそうだが、その期間が過ぎたら何の責も問われないかというとそうもいかない。法的には償う義務は無くとも信用を失うよりは良しとして、数年前に納品したシステムでも顧客からの賠償請求に応じざるを得ない事もある。顧客が承認した仕様書に具体的に定義されていなかったとしても、法や省令での考え方と比べて明らかに違う場合は賠償の義務は無くとも瑕疵とされるのだ。こういう事があって初めて知るのだが、顧客とは仕様書だけで契約したのではなく、信用という数字に表せない絶対的なものも含めて契約しているのではないかとさえ思う。
しかし100%完璧でない人間が100%完璧なシステムを作る事が出来るのだろうか。それは無理だとしても予防策はあると思っている。私の結論は敢えて処理を冗長化する事である。システムが存在する以前に顧客が行っていたクロスチェックや統計的な整合性チェックをシステムに組入れて安全対策とするのである。システムの計算結果を顧客が確認するやり方をもシステムにしてしまうのだ。
回避するというのは逃げるという意味だけではない。


コメント