見出し画像

「そんなの個人の意識の問題じゃん」と考えがちな人に欠けている視点

  • 道を歩いてて、車とぶつかりそうになる

  • 仕事の締め切りを守らない人がいる

  • 1人だけ、ミスの多いメンバーがいる

こうしたケースの原因を考えるとき、人はよく「意識が足りないから」という結論に逃げてしまいがちです。

歩行者と車が、互いを意識していればぶつかることはないはず。
締め切りを意識できていれば、提出は必ず間に合うはず。
とりわけ、みんながしないミスを1人だけやるとなると、その人個人のせいにもしたくなるというものでしょう。

でももし個々人の意識を高めなくても、新しいルールを追加することでトラブルを防げるのだとしたら、どうでしょうか?
その場合、『メンバーの意識に頼ること自体がリーダーのサボり』ってことになるんじゃないでしょうか?

そしてそれが、特定の状況にかぎったことではないとしたら?
つまり、もし “この世の全てのトラブルは、ルール追加で予防が可能” という前提が存在していたら?
問題の解決に “個人の意識を高めるしかないなんてありえない” のだとしたら?

我々ははたして、そこにどんなルールを追加すべきなのでしょうか――。

いつもお読みいただきありがとうございます。
または初めての方も、この記事を見つけてくださって嬉しいです。

私は、システム開発エンジニアの中島と申します。
この 絶対バグらないシステム作ろうぜの会 では、バグの出ないシステム・問題を起こさないチーム運営のやり方などを、なるだけ面白く・分かりやすくお伝えする主旨で記事を配信しております。


1. ルール不足がトラブルの原因だった可能性を本当に考慮してる?

何らかのトラブルがあって、その理由を上司に報告しなければいけないとき、こういう言い方してないでしょうか。

上司「サーバーがダウンした理由は何?」
担当者「負荷に対する予測が甘かったからです」

とりわけ “責任は人間がとるもの” “悪いのは常に人間” という意識が強く、かつ “誰のせいでもない” という結論を嫌う人は、こういう言い方をしてしまいがちかもしれません。

でもこれ、こういう言い方をしても一緒だと思いませんか?

担当者「負荷予測の精度が、担当者個人の能力に依存していたためです」

サーバーダウンの原因が、担当者の予測のせいという結論に変わりはありません。
ですが、予測が甘かったことが “事後になってようやく分かっている” のですから、チームとしての予測ルールに問題があったこともまた事実なんです。

チーム全体で負っても構わなかったはずの責任を個人に負わせる考え方で、はたして今後類似のトラブルが防げるでしょうか。
(もっとも、“チーム全体の責任 = リーダー個人の責任” という考え方をする会社では、どちらであってもどっちみち同じでしょうケドね)

仮に、百歩譲って “個人の努力で何とかなればその方がベスト” なのだとしても、上記の事例は “個人の努力で防げなかったケース” です。
そうした状態で、次を防ぐにはどうしたらいいんでしょうか?

個人の努力で防げないなら、次は “個人のさらなる努力” にでも頼ります?
それでもダメなら “個人のさらにさらなる努力” で何とかすると?
それでもダメなら “個人のさらにさらにさらなる努力” “個人のさらにさらにさらにさらなる努力” でしょうか。

かなりサラサラですね。
トリートメントケアはもう大丈夫そう。

どういう方法で解決するにしろ、人間は “努力には金がかかる” ものです。
サーバーダウンを防ぐ努力に関してもそれは変わりません。
なぜなら、知らないことは情報を仕入れて学ぶしかないものだし、
そして情報はタダじゃないからです。

お金をかけて努力しなければならないと確定しているのなら、いつか辞めてしまうかもしれない個人に個人的な努力させるよりも、“ルール化することで、クオリティ自体を会社の資産にする” 方が建設的ではないでしょうか?

2. 個人のせいにできないなら、どんなルールを作ればいいの?

だとすると、サーバーダウンを防ぐためのルールなんて、そんなものどうしたらいいんでしょうか?
サーバーダウンは事故なのだから、一見すれば “人間ががんばって防ぐ” しかどうしようもないように感じます。

でも、この世の全ての事故が、なんでもかんでも “人間ががんばる” という方法で防止されているわけではありません。

1. 仕組み化・自動化で防ぐ

たとえば交通事故は、別に人間ががんばらなくても、“信号機” という仕組みがあるだけで膨大な数の命が守られています。
人間も気をつけなければ事故ゼロの実現ができないだけで、信号機単体でも『死ぬ人の数を減らす』ことは確実にできています。

それと同じで、サーバーダウンの予防を仕組み化すれば、『落ちる回数』を減らすことはできます。
たとえば、過負荷がかかるそうになると自動的にアクセス制限がかかる、自動的にサーバーが増える、といった方法論が一案でしょう。

つまり事故とは、『事故が防げるはずの手順』をルール化することで、減らすことはできるのです。
ポイントは『防ぐ』という言葉を、『完全にゼロにする』と捉えないこと。

また人間が不注意で事故を起こすことも、仕組み化することで防ぐことが可能です。

たとえばサーバーダウンの一種に 《スローダウンスパイラル》 という状況があります。
これは、処理能力が不足しているサーバーに対し、レスポンスが遅延していることを訝しんだユーザーが再読み込みを繰り返すことで発生するもので、遅延がなければ発生しなかったはずの余計な負荷を生み出してしまいます。

この状況を回避する手段としては、処理遅延が検出された時点でユーザーを退避画面(ただいま遅延が発生しています、と表示される画面)等へ誘導する仕組みを作ることで、サーバーダウンを防ぐことができます。

“仕組み化” による事故予防策は、仕組み化したことを本人達へ周知する必要がなく、それゆえに確実性が高いのが最大のメリットです。

2. ナッジを追加する

“どうすればいい?” の部分がユーザーに自然に伝わるような仕組みにすることを、『ナッジを作る』または『デザイン化する』などといいます。
たとえば以下は、『時刻を入力すべき欄である』ことを、さりげなくユーザーに伝える例です。

時刻入力欄の例

ただのテキストボックスですが、時計のアイコンが書かれていることから、時刻に関する入力をすべきことが自然に伝わります。

それから以下の写真は、有名なデザインの椅子です。
デザイン関係の本を見るとだいたい最初の方にこんな感じの写真が載っていて、『デザイン論における傑作の1つ』という注釈がついています。

デザイン論における傑作の1つ

後ろ足が存在しないことによって、『ゆったりとくつろぐ使い方をする』ことが直感的に伝わるってことです。
で、この写真を見せたうえで、次の行に「デザインとは、使用法を視覚的に悟らせることである」って書いてあるわけですね。

とりわけ日本人は、注意点を文章で説明されることに、意味もなく腹を立る天邪鬼な人が多い民族と言われています。
ですがそういう人でも、デザインの構造自体が説明になっていると否応なく従ってくれるのですから、不思議なものです。

また、『どうすればいいか』の部分をデフォルト設定として入力しておいてあげることも、直感的に伝わる手法の1つです。

そもそも問題を起こす人達は、
『考えるのが面倒だから直感に従う』⇒『その結果事故を起こす』
という行動をとっているのです。
であるならば、その人達が直感的に行動すれば最適解が得られる状況を用意しておけばよいわけです。

3. 罰則を用意する

ルールに従わない人に従ってもらうための方法としてもっとも基本的なのが、この罰則を用意する方法です。
ですが通常は、この方法は、他にどうしようもない場合の最終手段であるべきです。

  • ちゃんとルールを守っている人達の中にもプレッシャーを受ける人がいる

  • 「罰則覚悟であればその行動をとってもよい」と解釈する人が現れる

  • 少なくとも『その程度のルール作りしかできない管理者』の烙印を押されることが免れない

本当にどうしようもない場合は仕方ないとしても、罰則はルールの運用者にも大きなデメリットがあることを考えておくべきでしょう。

3. そもそもルールとは

ルールとは、『トラブルを防ぐ』ために敷くものです。
ですのでルールがなくても何のトラブルも起こらないのなら、そもそも無理にルールを作る必要なんてないんです。

それはつまり、トラブルの全ての原因は、個人の意識の問題であると同時に、『ルール不足だったせいでもある』ってことです。

普段からトラブルになりがちな場所があるのなら、それを『意識が足りない』で片づけるのではなく、ルールを見直してみてはどうかなと、私なんかは思うわけです。

ではまた。


この記事が気に入ったらサポートをしてみませんか?