難題に直面したときはできない方法で粘るより実現可能な代替案を探そう
私の本職はシステム屋ですが、システムには手強いトラブルがつきものです。皆さんも自社のシステムがトラブルで動かなくなったことがあるかもしれません。大企業が運営するサービスがシステム障害で動かなくなるというニュースも、たまにあるものです。
そんなときいつも私が感じることは、できない方法で粘るよりも実現可能な方法を探すことです。今回はこのことについて書いていきます。
そしてシステム障害だけでなく、製品やサービスの開発でも、顧客との交渉でも、できない方法よりも実現可能な代替案を探すことは有効だと私は考えています。
今回の記事は難題に直面してどうしようか困っている、あるいは過去に難題に直面して何とか乗り切ったけど、本当はどうしたら良かったのか悩んでいる方に参考にしていただければ幸いです。
原因の追究に固執しすぎない
原因不明の事象を深追いしても埒が明かない
今回の記事はシステム障害の対応を基に書いています。
現在のシステムは色々なハードウェア、ミドルウェア、ソフトウェアが組み合わさって動いているため、原因の切り分けだけでも大変です。そしてプログラムの記述が教科書的に正しく、ミドルウェアの設定も正しいとしても、想定外の動作を起こすことがあります。
よってシステムは原因不明のエラーがたまに起こります。いくら原因を調べてもおかしいところが見つからず、途方に暮れてお手上げするITエンジニアも少なくはありません。このような場合はアプリケーションサーバーやデータベースなどのミドルウェアの潜在バグや、サーバーやネットワークなどのインフラ面との相性に起因するものもあります。
こういうときに原因を追究してしまいがちですし、関係者(主に顧客や上司)への報告に原因と対策がお約束のように必要になります。しかし原因を追究しても不明なことがあります。
よって特定が困難な原因を追究しても、無限に時間を使うだけとなります。
原因の特定が困難なら対応を先に考えよう
このような場合は原因そのものの特定よりも、原因が潜んでいそうな範囲を特定して回避することで解決できることもあります。問題の解決が第一だということは念頭に置いておきましょう。
原因を特定して、原因に対する対策を打たないと再発するじゃないか?と思うかもしれません。しかしおおよその原因や原因のある範囲だけ解れば、具体的な原因は解らずとも、原因を回避することで対策は可能です。
できない方法で粘ると無限に時間を使える
できない方法よりできる方法を選ぶ
難題に直面したときは、できない方法で粘らない方がいいです。できない方法で粘ると無限に時間を使えるからです。皆さんも、悩んで試行錯誤してみたけど全然できないと苦戦した経験がないでしょうか?
こういうときは発想を柔軟にしましょう。できる方法を考えるのです。システムでいえばエラーが発生する箇所を避ける(機能やネットワークなど)などです。
できない方法の例
例えば電車がトラブルで停止し、動く見込みがない場合を考えてみましょう。こんなとき駅員にクレームをつける人が出てくるものですが、まったく持って意味がないただの八つ当たりです。鉄道会社は安全性のために電車を止めたのですし、駅員個人に電車を動かす決定権はないでしょう。
かといって待っていても仕方がないです。でも一般人が電車を動かすなんて無理です。マンガや映画だったら主人公が無理矢理電車を動かして危機を回避するかもしれませんが、現実にはそんなことはできません。
続いてもう1つ例を考えてみましょう。今度は1週間後のイベントで必要な商品を発注したケースを考えます。今は在庫がなくて、どうしても2週間必要だと言われました。こんなときにクレームをつけてはいけません。無理なものは無理です。
かといって商品を自作するのは難しいでしょう。誰かに作ってもらうのも楽じゃありません。
実現可能な代替案を探す
無限に時間を使わないようにしよう
無限に時間を使わないためにも実現可能な代替案を探した方がいいです。今度は実現可能な代替案について考えてみましょう。
実現可能な代替案の例
原因不明のエラーが出たのなら、エラーが発生する機能を避ける、エラーが出る値の入力を避ける、同じ結果が得られる別の機能やツールを使うなどが考えられます。
電車が動かない場合は別の路線を探す、バスを探す、タクシーを探すなど別の手段を探しましょう。あるいは1駅くらい歩いて隣駅まで行けば別の路線に乗り換えられるかもしれません。人によってはヒッチハイクやレンタカーで乗り切るかもしれませんし、レンタサイクルも最近は都市部でなら充実しています。
必要な商品の在庫がないなら、同じことができて在庫がある別の商品を探すか、在庫を置いてあるお店を探しましょう。業務用の商品だと難しいですが、普通のお店にも置いてある商品でしたら、在庫があるお店を回るのも1つの手です。
多少高くても、いつもと同じじゃない類似の商品だとしても、こういう急ぎのケースでは仕方ないでしょう。
無理な仕事は調整しよう
このスケジュールでは間に合いませんというときも、無理な長時間労働で頑張るのではなく、リスケをしましょう。
顧客や上司に要求されたことがあまりにも難易度が高すぎる、あるいはリスクが高すぎる、コストや納期がかかりすぎる場合も、より難易度やリスクやコストや納期が低い代替案を提示してもいいと私は考えています。
理想論ばかり考えたり、無理なことをして後でトラブルになるくらいなら、確実にできる方法を取りましょう。
大事なことは結果を出すこと
マネジメントで大事なことは結果を出すことです。難題に直面したときの結果とは問題を解決することです。
よっていつもと同じやり方や当初の計画がダメなら、状況に応じた手段を選ぶことが大事です。計画に固執しないということに関しては、別途記事を書いていますので、気になったら参考にしてみてください。
終わりに
今回は難題に直面したときの経験をまとめてみました。仕事をしていれば難題に直面するときはあります。責任が上がれば上がるほど増えるでしょう。
難題に直面してしまうと、ひたすら悩んで目の前のことに追われて、思考が凝り固まりがちです。だからこそ一歩引いて柔軟に考える必要があります。そんなときに今回の内容を参考にしていただければと思います。
マネジメント力を上げるためには、幅広い知識や思考力が必要です。これは一朝一夕には身に付きません。専門分野の知識はもちろんですが、ビジネスや組織に関する知識も必要です。
1つはビジネス情報を仕入れることです。私はダイヤモンド社のDIAMONDハーバード・ビジネス・レビューを定期購読しています。