ミスを致命傷にしない方法を、ITシステムの信頼性設計から学ぶ話

ミスを致命傷にしない方法を、ITシステムの信頼性設計から学ぶ話

dan

だん

QOL主義 27歳

仕事のミスを減らして、心穏やかに働けることは、日々のQOLに直結します。

仕事のミスは、本人の注意力を上げて減らすより、ミスが起きても致命傷にならない仕事の進め方を作って減らすほうが確実です。

ITシステムの設計には、壊れることを前提にして被害を小さくする考え方が体系化されています。その中の5つの考え方(フォールトアボイダンス、フールプルーフ、フォールトトレランス、フェールセーフ、フェールソフト)は、システムではなく個人の仕事にも、そのまま使えます。メールの誤送信、数字の間違い、締切忘れのような日常のミスを例に、使い方を全部説明します。

今日紹介するのは、会社全体のルール作りではありません。読んでいる本人が、明日から自分の手元だけで始められる範囲の話です。

「失敗を恐れるな」と言われても、重大なミスは追及される

「失敗を恐れず挑戦しよう」と言われても重大なミスは追及されますが、「ミスをしない」ではなく「ミスをしても被害が小さい」状態を作る方法は、ITシステムの信頼性設計を準用できます。

「失敗を恐れず挑戦しよう」という言葉は、会社でもよく聞きます。ところが、顧客へのメールを誤送信したり、見積書の金額を間違えたりすると、「なぜ確認しなかったのか」と問われます。影響が大きいほど、追及は強くなります。

この矛盾を見て「結局、ミスをしない人が評価されるのか」と考えると、対策は「もっと気をつける」しか残りません。しかし、人間の注意力は、疲れている日にも、急いでいる日にも、同じ水準では保てません。

問題は、ミスをするかしないかの二択で考えていることです。「ミスをしても、被害が小さく済む」状態を作るという第三の道があります。その道を整理した分野が、ITシステムの信頼性設計です。

ITシステムは、壊れる前提で作られている

信頼性の高いシステムとは、絶対に壊れないシステムではなく、壊れても被害が広がらないよう何重にも備えたシステムです。

コンピューターの部品もソフトウェアも、いつか必ず故障します。さらに、操作する人間も必ず間違えます。だから設計の時点で、故障と操作ミスが起きる前提で守りを組みます。応用情報技術者試験のシラバスでも整理されている用語のうち、5つを個人の仕事向けに言い換えると、次のとおりです。

ITの用語本来の意味仕事への置き換え
フォールトアボイダンス故障そのものを未然に避けるそもそも間違えにくくできないか
フールプルーフ人が誤った操作をしても、受け付けないようにするうっかりやっても、実行できない形にできないか
フォールトトレランス一部が壊れても、システム全体の処理を続ける1つ失敗しても、復元して続けられるか
フェールセーフ異常時に、安全な側へ自動的に倒す迷ったとき、被害の小さい側に自動で倒れるか
フェールソフト一部が壊れても、最低限の機能で動かし続ける全部できなくても、重要な部分だけは守れるか

なお、この記事の例とIT用語の対応づけは、僕が個人の仕事向けに当てはめたものです。試験で出る厳密な分類とは、細かい点でずれる場合があります。大事なのは用語の暗記ではなく、5つの問いを自分の仕事に投げることです。

ここで押さえたい点は、どれか1つが正解なのではなく、複数を重ねる設計だということです。次の章から、5つの考え方を1つずつ、ITでの意味と、個人の仕事での使い方に分けて説明します。メールの誤送信、Excelの数字の間違い、締切忘れが、繰り返し出てくる例です。

フォールトアボイダンスは、ミスが起きる場面そのものを減らす考え方

ミスを減らす最も確実な方法は、注意を強めることではなく、人が入力や判断をする回数そのものを減らすことです。

フォールトアボイダンス(故障の回避)の、ITでの意味は、故障を起こさないための事前の予防です。信頼性の高い部品を選ぶ、プログラムを実行前にレビューして不具合を見つける、壊れる前に部品を交換する(予防保守)といった手法があります。共通しているのは、故障が起きてから対処するのではなく、起きる確率を下げておくことです。

これを個人の仕事に当てはめると、「注意する」の代わりに、注意が必要な場面そのものを減らす工夫になります。例は3つあります。

  • メールの宛先を最後に入れる:本文を書き、添付ファイルを付け、最後に宛先を入れる順序にします。宛先を最初に入れておくと、書きかけの状態で送信ボタンに触れた瞬間に、未完成のメールが相手へ届きます。宛先を入れる前なら、そもそも送信できません
  • Excelの数字を、手で打たずに参照する:同じ数字を3か所に手入力せず、1つのセルを参照します。電卓で出した値を転記せず、数式にします。人が数字を打つ回数が減った分だけ、打ち間違える機会も減ります
  • 依頼を受けた瞬間にタスクとして記録する:「あとで思い出す」という工程をなくします。覚えておくこと自体が、忘れる原因だからです

ミスを減らす最も強い方法は、人が判断や入力をする回数を減らすことです。この考え方が、以降の4つの用語の土台になります。

フールプルーフは、間違った操作を受け付けない形にする考え方

間違いを防ぐ最も確実な方法は、「正しく入力してください」と頼むことではなく、間違った操作を実行できない形にしておくことです。

フールプルーフ(誤操作の防止)の、ITでの意味は、人間の誤操作を前提にした設計です。入力欄に、数字以外の文字を打ち込めないようにするフォーマットチェックが代表例です。機器でも、ドアが開いているときは動かない電子レンジのように、危険な操作そのものを受け付けない設計があります。

フォールトアボイダンスとの違いは、フォールトアボイダンスが「ミスが起きる機会を減らす」のに対して、フールプルーフは「ミスが起きかけたときに、実行させない」点です。個人の仕事での使い方は、次のとおりです。

  • Excelの入力規則を設定する:日付欄には日付以外を入力できない、割合は0〜100%の範囲だけ、ステータスはプルダウンから選ぶ、という設定にします。「半角で入力してください」という注意書きを書く代わりに、全角で入力しても受け付けない状態にします
  • 必須項目が空欄だと完了にできないテンプレートを作る:請求書や報告書の雛形で、金額欄が空欄のままだと印刷や保存の手順に進めないようにします
  • ファイル名は、テンプレートから自動で生成する:日付や案件名を手で打つと、打ち間違いが起きます。自動生成にすれば、間違った名前を付けられません

「気をつける」「確認する」は人の注意力に頼る対策ですが、フールプルーフは、注意力が切れた日でも間違いが通らない対策です。

フォールトトレランスは、1つ失敗しても仕事を止めない備えを持つ考え方

1つのミスや見落としで仕事が止まらないよう、失敗したら困る場所にだけ、予備の通知や復元手段を用意します。

フォールトトレランス(耐障害性)の、ITでの意味は、故障が起きる前提で、一部が壊れても全体の処理を続けられるよう予備を用意しておく設計です。同じ働きをするサーバーを2台並べて、片方が壊れたらもう片方に切り替える冗長構成や、停電しても電源を供給し続ける無停電電源装置(UPS)が例です。1台のサーバーだけに頼ると、その1台が壊れた時点でサービスが止まります。

個人の仕事には、「1つのものだけに頼っている状態」が意外と多くあります。記憶だけに頼る、パソコン1台にしかファイルがない、確認が1回だけ、といった状態です。次のように予備を持ちます。

  • 締切の通知を複数持つ:締切の3日前、前日、当日に通知を出します。1つ見逃しても、次の通知が残ります。さらにカレンダーとタスクアプリのような別々の仕組みに、同じ締切を入れておくと、片方の通知がオフになっていても検知できます
  • 元データは触らず、作業用コピーで作業する:上書きしてしまっても、元データから作り直せます。クラウドストレージの版の履歴機能もオンにしておくと、前の状態に戻せます
  • メールの送信を数分遅らせる設定にする:多くのメールソフトには、送信ボタンを押してから数秒〜数分は取り消せる機能があります。押した直後は気づかなくても、数十秒後に宛先の間違いに気づくことは珍しくありません

ただし、何でも二重にすると、手間が増えて仕事が進みません。二重化するのは、失敗したら困る場所だけです。明日の昼食を買う予定はカレンダーだけで十分ですが、顧客への契約書の提出期限は、カレンダーとタスクアプリの両方に入れます。

フェールセーフは、異常時に被害の小さい側へ倒れる形にする考え方

やり直せない作業では、慎重さに頼らず、間違えても被害が小さい側へ倒れる仕組みを、実行の前に挟みます。

フェールセーフ(安全側への移行)の、ITを含む設備での意味は、異常時に安全な状態へ自動的に倒すことで、安全の確保を最優先にします。停電したときに、自重で下がる踏切の遮断機、異常時に全方向が赤になる信号機、電流が大きくなりすぎたときに切れるヒューズが例です。処理を続けることよりも、人命や被害の防止を優先します。

仕事には、やり直せるミスと、やり直せないミスがあります。やり直せないミスの例は、社外へのメール送信、SNSへの投稿、データの削除、契約書の送付、顧客への金額の提示です。こうした作業は、「間違えないよう慎重にやる」だけでは足りません。慎重にやる確率を100%にはできないからです。そこで、間違えた場合に被害が小さい側へ倒れる形にしておきます。

  • 機密資料は、メールに添付せずアクセス権付きのリンクで渡す:誤って別の人へ送っても、アクセス権のない人は中身を開けません。誤送信という異常が起きても、情報が漏れない側に倒れます
  • ファイルは、いきなり削除せず「削除予定」フォルダへ移し、数日後に消す:間違えて移しても、数日の間は元に戻せます
  • 公開する資料は、公開場所に置く前に、自分だけが見られる場所で1回開いて確認する:公開してしまってから気づく間違いが、公開前に見つかります

取り返しのつかない作業ほど、実行の前に戻れる場所を挟んでおきます。

フェールソフトは、全部できない日に最低限の成果物を残す考え方

時間が足りない日に備えて、最低限守る成果物を先に決めておけば、全部は終わらなくても、相手の判断に必要なものは出せます。

フェールソフト(縮退運転)の、ITでの意味は、一部が壊れても重要な機能だけを残して動かし続け、全停止を避けることです。複数台のサーバーのうち数台が故障したときに、一部の機能を止めて処理能力を落としながら、サービス自体は続けるような運用が例です。

フェールセーフとの違いは、優先するものです。フェールセーフは、処理が止まってでも安全を優先します。フェールソフトは、機能を減らしてでも、止めないことを優先します。

仕事は、100点で仕上げて出すか、間に合わず出さないかの二択になりがちです。そこで、時間が足りない日に備えて、残すものの優先順位を決めておきます。会議資料の例を挙げます。理想は、分析、グラフ、考察、デザイン、補足資料が全部そろった状態です。時間が足りない場合は、次の3つだけを必ず完成させます。

  1. 結論
  2. 結論を支える数字
  3. 参加者に判断してほしい事項

デザインの調整と補足資料は、時間が余ったときだけ足します。「全部終わらせる計画」だけでなく、「間に合わなかったとき何を残すか」までセットで決めておくのが、フェールソフトの使い方です。

全部を堅牢にする必要はない

対策にはかかる手間があるので、「失敗する確率 × 失敗したときの影響」が大きい仕事にだけ、厚い守りを置きます。

毎回、4重のチェックをかけていたら、仕事が終わりません。影響が小さい仕事は、多少雑でも構いません。たとえば、明日の昼食を買う予定を、カレンダーとタスクアプリの両方に入れる必要はありません。

一方で、次のような仕事には、守りを厚くします。

  • 社外への公開
  • お金が動く作業
  • 個人情報の取り扱い
  • 契約
  • データの削除や上書き
  • 大人数への連絡

この線引きができると、ミス対策が「全部を慎重にやる」という疲れる働き方ではなく、必要な場所にだけ手間をかける働き方に変わります。

ミスの原因を、自分の注意力に求めない

同じ種類のミスが何度も起きるなら、原因は本人の注意力ではなく、仕事の進め方の設計にあります。

ミスをしたとき、「自分は注意力がない」と責めてしまう人は多いです。もちろん、注意することも大切です。しかし、同じミスが繰り返されるなら、考えるべきは「注意力をどう上げるか」ではなく、「注意力が切れても事故にならない進め方に、変えられないか」です。

最初の話に戻ります。「失敗を恐れず挑戦しよう」と言われても、重大なミスは追及されます。その現実は、個人では変えられません。ただし、重大なミスが起きにくく、起きても被害が小さい仕事の進め方は、個人でも作れます。そして仕組みで守っていれば、万一のときも「何を確認して、どこで止まるようにしていたか」を説明できます。

良いシステムが1つの故障で全体を止めないように、良い仕事の進め方も、1回のうっかりで致命傷にならない形にできます。まず今週、いちばん怖いミスを1つ選んで、フォールトアボイダンス、フールプルーフ、フォールトトレランス、フェールセーフ、フェールソフトの5つの考え方を、順番に当てはめてみてください。

このブログは広告に支えられています