ヒューマンエラーという言葉をよく聞くようになりました.ヒューマンエラーというのは,JIS Z 8115:2000(デイペンダビリティ(信頼性)用語/Glossary of terms used in dependability)によると,「意図しない結果を生じる人間の行為。」と規定されています.これは,どんなに注意深くて慎重な人であっても,錯覚や疲労などによって操作ミスをしてしまい,大きな問題を引き起こしてしまうというものを指しています.ただ,本当にヒューマンエラーなんだろうか?そもそもUIがBADUIだから,エラーが生じてしまっているのではないだろうかという事例もよくあります.
今回紹介するのは,BADUIはデザイナやエンジニアなど,ものを作る人だけの問題ではなく,誰しもが少しは考えておくべき問題で,そうならないためにはどうしたらよいか,また何故そうなってしまったのかを想像することが重要だという事を示す事例です.
元記事はすでに閲覧できなくなっていますので,下記に書き起こしを載せておきます.Asahiのニュースですが,色々なところで関連したニュースが報道されました.
療養費支給額「3兆円」 都広域連合がケタ違いのミス
東京都の区市町村で構成すると後期高齢者医療広域連合は,療養費の通知書1万879通について,実際の支給額より数十億倍も高い額が誤記された書面を送付した,と16日に発表した.実際の支給額は1351円なのに,ゼロが10個余分について数字も変わり,「3510000000000」,つまり3兆5100億円と誤記された例もあったという.
同広域連合企画調整課によると,誤記が見つかったのは後期高齢者医療制度にもとづく高額医療費の4月分の支給決定通知書.15日に発送した5万4009通のうち,大田区の一部と足立,葛飾,江戸川各区の対象者全員に送る分で誤りがあった.誤記された人にも実際は正しい額が支給されているという.
同広域連合によると,通知書を作る際,職員がパソコン操作を誤った.支給額欄には13桁の数字を入れることになっているが,1351円を支給する場合も千の位の「1」の前にゼロを9個入力しなければならないのに入力し忘れ,データ処理の過程で千の位の「1」が消えてゼロが後ろに10個加えられたという.支給の日付も「8月」の場合「08」と入力すべきなのにゼロを入力し忘れたため「80月」と記載された例が多いという.
http://www.asahi.com/national/update/0816/TKY201108160541.html
この記事を読んだ時に,どういった印象を受けるでしょうか? 操作を誤ってこんな問題を引き起こすなんて,ひどい職員もいたものだ! なんてな印象を持たれる方も居らっしゃるのではないでしょうか.
- 通知書を作る際,職員がパソコン操作を誤った
- 支給額欄には13桁の数字を入れることになっているが,1351円を支給する場合も千の位の「1」の前にゼロを9個入力しなければならないのに入力し忘れ
- 支給の日付も「8月」の場合「08」と入力すべきなのにゼロを入力し忘れたため「80月」と記載された
いかにも職員が悪そうな感じで書かれています.ちなみに,この記事に対するはてなブックマークでのレスポンスはこんな感じ.はてなブックマークはエンジニアが多い印象なので,私と似たような感想を持つ人が多いですが,世の中にはこの記事の記者のように「職員が悪い!」になっている人もいるのだと思います.
さてこのシステムで実際に1351円を入力するには,下記のように入力する必要があります.
あり得ないですね.そもそも兆なんて入力する機会は無いでしょうに・・・.右詰めにしておけば問題ないのに何故こんな仕様にしてしまったのか本当に理解に苦しみます.
また,額については多少は許せなくも無いですが(まぁ,基本許せませんが),80月というものは世の中に存在しないわけなので,「8」と入力されているのに「80」と処理するのはどう考えたっておかしいでしょう.
こんな仕様のシステムを発注しても駄目だし,納品しても駄目です.何を考えているのやら・・・
ちなみに,1351円と入力したのに,最初の1が消えて3兆5100億円となっている理由を不思議に思っていたのですが,これは他の類似記事にヒントがありました.
医療費が4兆円戻ってくる!…表記ミスでした : 社会 : YOMIURI ONLINE(読売新聞).ただ,元記事は消えてしまっていますので,2ちゃんねるから記事部分を引用.
広島県後期高齢者医療広域連合は17日、高額医療費の払戻金の額を対象者の遺族に通知した際、662人分で金額の誤表記があったと発表した。
「6497円」の支給が「4兆9700億円」となったケースもあり、「本当に払い戻されるのか」 などと約20件の問い合わせがあったという。
同広域連合によると、誤表記は14日に発送した書類であった。6497円の場合、数字を 入力すると、プラス・マイナスの記号とともに13桁で「+0000000006497」と認識される はずなのに、プログラムの不具合で、先頭の「6」がプラス記号と判断され、「4,970,000,000,000」と残りの桁に自動的に「0」が補われ、誤表記となった。
入力した同連合業務課は、書類と印字された数字の照合を怠っていたという。遺族の問い 合わせで発覚、誤表記の最高額は「9兆円」だった。本来の払い戻しは数百円~約10万円だったが、すべて兆単位の金額で、受け取った人からは「バカにしているのか」という声もあった。
同連合は全員に謝罪文を送付し、奥和彦事務局長は「二度と同様のミスが起きないよう、再発防止に努めたい」としている。
読売新聞 2011年1月17日20時36分
http://www.yomiuri.co.jp/national/news/20110117-OYT1T00908.htm
13桁という部分も符合していますし,おそらく同じシステムなのだと思います.このことから,実際には「+と数字13桁を入力しなければならない」または「13桁無い場合は,左詰めを行い,一番上の桁の数字が-または0じゃない場合はさらに左詰めを行い,14桁目にあがってその数字が+に変わる」のどちらかになっているのだと思います.
発注した人も,受注した会社も,納品および検品した人も,この記事を書いた記者もみ~んな問題です.少なくとも,この記事を書いた記者さんには何かおかしいなと感じ取ってもらって,このシステムの方を問題視して欲しかった(もしかしたら,それ全てひっくるめた形の皮肉的な記事なのかもですが).
ということで,入力した職員はまったく悪くないというBADUIのお話でした.おそらく仕様通りなのでしょうしなかなか難しいところだと思いますが,開発者もこういうのに対して,これはおかしいからこう修正した方がよい,こう修正したほうが便利だよと言えるような環境になってほしいものです.
冒頭にも書きましたが,こういうのは「ヒューマンエラー」として報道されがちです.ただ,実を言うと人に問題があるのではなく,システムに問題があることも多いですよというお話でした.
ホストのCOBOL系UIをひきずったままの開発をしてるからでしょ。