ヒューマンエラーを仕組みで防ぐこと

仕事でそういう話をしていて、もやもやしたので考えを整理しておく。

リスクとコストを正しく評価する

ヒューマンエラーをシステムや仕組みによって防ぐといっても、全てのエラーが起きないようにするのは、網羅性とコストの面から不可能ではないかと思う。

つまり、ヒューマンエラーのリスク(原因となる作業の頻度と発生した場合の影響)と、それを仕組み化するコスト(構築と維持)を正しく評価した上で、費用対効果のよいものから対応していくことになる。

このあたりは 自動化するときに考えること - HsbtDiary(2015-05-03) で述べられている考え方にも繋がる。

ただ、これとは少し違うポイントとして「普通はそういうことはやらない」とか「注意すればいい」という思考があると考えている。

仕組みでヒューマンを守る

そういった考え方は、そっくりそのままそれを仕組み化すべき理由になる。

これらの思考はリスクとコストを正しく評価することを放棄しているのと、それが起きてしまったときにその言葉がそっくりそのまま「発生させた人」に返ってしまうのが問題である。

つまり、その人は「普通はやらないことをやってしまう」「注意力がない」というラベルづけされるかもしれないし、そうでなくても本人は罪悪感に苛まれてしまう。(もちろんチームメンバーはフォローするだろうが、仕組み化されてないのが悪くて私はまったく悪くないと言いきれる人はそうはいないのではないと思う)

つまり、仕組み化はデータやシステムを守るだけではなくて、ヒューマンを守るという目的もあるように感じる。

ヒューマンエラーを仕組み化で防ぐことを考えるときは、リスクとコストを客観的でかつ定量的に評価するのが重要で、そこに「普通は」とか「注意すれば」といった主観的で定性的な評価を含めるべきではないのではないだろうか。