これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

エラーが起きたら低コストで再現する方法を探せ。多分、人間関係も。

一昨日、昨日とメールサーバー絡みのトラブルで時間をとられた。取り敢えず対処はできたので良しとはするけど、根本原因のところでは疑問がある。まぁ、それは別の話なんだけど。
さて。
今回のトラブル対応で、ポイントだなって痛感したのは「エラーを低コストで再現すること」だった。
通常、本番環境のメールサーバーと同等のものを、テスト環境として用意しているとろこは、あまりないと思う(大きな企業は違うのかもしれない)。んだから、エラーの原因が直ぐに特定できて、対策も明らかな場合はまだいいのだけど、試行錯誤して原因特定→対策と進まざるを得ないは何ともやり辛い。しかも今回は外部の業者とも連携しなければならなかった(というか先方のシステムから配信されたメールをトリガーにエラーが出てた)ので、ますますやり辛い。
例えば、「これでいけるかなぁ」と考えた対策を打って、「じゃぁ、どうやって確認するの?」ってなった時に、実際に先方からメールを配信してもらうことになる。それでダメだったら、やり直しだ。実際に本番運用している環境でこれをやるのは、如何なものか。しかも、社員全員に配信するようなメールだったので、ますますry


そこで今回取った方法は、緊急でメールサーバを立ち上げて、先方からのメールを何とか再現するというもの。これなら、何回試行しようとも、影響範囲は極めて小さい。無論、最終的には本番環境上で試す必要があるのだけど、そこまで持っていくまでに「上手くいく可能性」を上げることができる。何より、やっても無駄なものを淘汰できるのが良い。
実際、この方法で見つけた方法で、上手く対処できた。


これをちょっと抽象化すると、つまりは

  • トラブルに対処するには、どうやって低コストな再現手段を見つけられるかが肝

ということに尽きると思う。1回1回の試行が低コストだから、気楽に何度も繰り返すことができる。
ああ、ここでいう低コストというのは、金銭面だけではなく、労力だとか、影響範囲だとか、そういうものも含む。


このことは何もシステム関連に限らないと思う。とてもアナログな人間関係でも同じだと思う。仕事上の様々なことや(上司に怒られたとか)、プライベートでもそうだ。
何かの行動がトラブルを引き起こしたとして、それを繰り返さないためには行動を修正していかなければならない。しかし、どういう行動が正しいのだろうか。行動を修正してみたけど、やっぱりまたトラブルが起こった、なんてこともある。それは、

  • そもそも自分が行動できないような内容
  • 修正した行動それ自体が見当違い
    • 相手の望みを勘違い
    • 表面上の問題に対処したが、実は根本原因が他にあった

であったりするからだろう。
行動の修正が本番環境での試行と同じことであれば、この試行方法は何とも高コストだ。


では、低コストな試行手段とは何だろうか。
当たり前のことなのだが、私は「会話」だと考えている。
会話することを通して、「こうだったらどうなのか?」ということをシミュレートできる。いや、実際、そこで相手は怒るかもしれないが、上手く行動を修正できなくて結局トラブルが起きてしまうよりは、遥かにいい。根気良く会話を繰り返して、上手く合意点を見つけるのだ。相手の望む行動は何か、自分が実際にとれる行動は何か見えてくるんじゃないだろうか。
トラブルはある意味チャンスだ。会話のトライ&エラーを通して、しっかりと相手の考えを理解すれば、そのトラブルと直接関係ないような行動についても、随分とマシになると思う。
まぁ、システムと同じで、最後はちゃんと本番環境で確認する(行動する)必要がありますけどね。 :P