実務の記録
自社ECの送料設定を見直した際、冷蔵便で発送すべき商品の重量設定を間違えると、実際の送料と表示が食い違う事故が起きうることに気づきました。再発を防ぐため、毎晩自動でチェックする仕組みを追加しました。内容は「タグに冷蔵と付いているのに、重量が冷蔵便のしきい値である20キログラムになっていない商品」を検知するというものです。
仕組みを組み込んだ直後は、これで安心だと考えていました。ところが、実際に対象商品を数え直してみると、全201商品のうち、タグに冷蔵が付いている商品は0件でした。つまりこの検査は、仕組みとして正しく動いていても、判定対象がそもそも存在しないため、実行するたびに必ず0件を返す状態になっていたということです。
原因は単純で、監視の仕組みを設計する段階で「検知ロジックが正しいか」だけを確認し、「検知の対象となるデータが実際に存在するか」を確認していなかったことでした。冷蔵というタグ自体は運用上ほとんど使われておらず、当時の商品データにはひとつも設定されていませんでした。
この経験から、監視や自動チェックの仕組みを作るときには、初回の動作確認として意図的に対象データを1件用意し、実際に検知が発火することまで確かめる工程を入れることにしています。0件という結果は、安全であることの証拠にはなりません。検知するべきものが存在しない状態でも、同じ0件という結果になるためです。
仕組みを作った直後の「エラーが出ていません」という報告は、それだけでは安心材料になりません。何を検査していて、その検査対象がいくつ実在するのかまで確認して初めて、監視が仕事をしていると言えます。