会社の情報システム部署への所属歴16年、ひとり情シス歴4年のけーのです。えっ、そんなにやってんのか…
業務でパソコンを使っていてトラブルがあった際、情報システム担当者に「なんかエラーが出たので早くなんとかしてください」のように連絡していませんか?あるいは「【至急】対応お願いします」みたいな件名で内容が薄いメールを送ったりとか。(Q&Aサイトでよく見かけますね…)
幸い、弊社の従業員の方々は優秀なのであまり変な問い合わせはありませんが、Twitterなどを見ていると、世の中的には結構そうでもないように感じています。AWSのサポートだとエンジニアからでもそういう困った問い合わせがあるみたいですし…(参考: 技術的なお問い合わせに関するガイドライン – AWS サポート | AWS)
システムトラブル(エラー)が起きた際に何をどのように伝えれば迅速に解決でき、エンジニアと仲良くできるのかをお教えします。
エンジニアに連絡するべきかどうかの判断
世の中の多くの情報システム担当者(以下、エンジニア)はやることがいくらでもあるので、みなさんと同じように忙しいです。何かわからないことがある度に連絡されてしまうと、エンジニアは自分の仕事を進める時間がなくなってしまいます。
なので、できるだけ自力で解決するのが好ましいのですが、かと言ってどれくらいがんばれば良いのか悩むところでもあります。
私としては以下のような指針をおすすめします。
- エラーメッセージを保存する(スクリーンショットなど)
- 自力で解決を試みた場合に元に戻せるか考える → 元に戻せる保証がなければエンジニアへ
- 15分、自力でやってみる → 解決しなかったらエンジニアへ
以下、順番に解説します。
エラーメッセージを保存する
まず、何はともあれエラーメッセージを保存します。自力で解決できなかった際、エンジニアに見せる必要があります。
ポイントは、可能な限りメッセージのすべてを保存することです。一部を切り取ってはいけません。すごく長くなっても構いません。エンジニアは、すごく長くてもどこが重要なメッセージか一瞬でわかりますが、一部を切り取られてしまうと重要なメッセージがあったのかどうかすらわからなくなってしまうからです。
エラーダイアログの内容をコピーする
意外に知られていませんが、実はWindowsでは Ctrl + C
を押すと、エラーダイアログの内容をテキストでコピーできます。
メモ帳やSlack等に貼り付けて保存しておきましょう。
スクリーンショットを撮る
Windows 10 なら、 Alt + PrtSrc
やWin + Shift + S
で画面を選択してクリップボードにコピーできます。何かと便利なので憶えておくといいでしょう。
Slackなら、そのまま画像をペーストできます。自分へDMするとバッチリです。
画像をペーストする方法がなければ「ペイント」を起動してペーストし、 .png 形式で保存します。最近のペイントは進化したなあ…
Excelに貼るのはなるべく避けたほうがエンジニアに喜ばれます。しかし、他に手段がなければExcelでも良いでしょう。何も残っていないよりはずっと良いです。
スマートフォンで写真を撮る
上記の方法がどれも使えない場合に便利な方法です。どんなアプリでも撮れますし、パソコンが正常に起動しない時でも画面や本体のLEDランプを撮ることができます。
自力で解決を試みた場合に元に戻せるか考える
トラブルに対して解決を試みる際、元に戻せるかが重要です。
例えば、一人でExcelで何か作業している場合なら、 .xlsx ファイルをコピーしておけばいつでも元に戻せます。(外部データソースと連携している場合は除く)
いつでも元に戻せる状況になったら、色々試してみるのは大いにアリです。Excelなど、一般に広く使われているソフトウェアならググれば色々なノウハウが見つかりますし、それを知ることでスキルアップにもなります。どんどんやりましょう。
データベースを用いたWebシステムや業務ソフトウェアの場合、おそらくデータを元に戻すことが困難です。
複数人で同時に使用する前提なので、時間が経ってから元に戻すと他の人の作業が失われてしまいますし、何か試して異常なデータが作られてしまったりすると問題が大きくなったり、修正にとても手間がかかったりするかも知れません。
なので、そのようなソフトウェアの場合は、素直に速やかにエンジニアへ連絡しましょう。
15分、自力でやってみる
元に戻せる状況になったら、15分間だけ自力で解決を目指してみます。ググってみたりすれば、あっさり解決することも多いものです。
15分やってみて、解決しなかったらエンジニアに聞いてみましょう。恥ではありません。15分で解決しないなら相当な時間をかけても解決できるかわかりませんし、それだけ解決しようと努力したのは誇れることです。また、エンジニアにとっては十二分にありがたいことです。
ちなみに、これはGoogleの人工知能チームのやり方だそうですが、とても合理的だと思います。
エンジニアにトラブル解決を頼むときのコツ
- エラーメッセージは省略せずに見せる
- いつ、何をしたら問題が起きたかを伝える
この2点ができればOKです。更に、あると嬉しい情報は下記です。
- 目的(何をしたかったのか)
- いつまでに解決しないとどんな問題が起きるか
- 問題を再現する方法/回避する方法
エラーメッセージは省略せずに見せる
多くの場合にエンジニアが聞き返すやつです。「なんて表示されましたか?」
保存しておいたエラーメッセージテキストやスクリーンショットを見せましょう。送る手段があるならそれで。
場合によってはメッセージが英語でわけわからんかも知れませんが、エンジニアならわかるかも知れません。そのまま見せてください。
エラーメッセージが無かった、あるいは保存できなかった場合は、それを伝えましょう。エンジニアは「なるほど」となります。
いつ、何をしたら問題が起きたかを伝える
いつ、何をしたら問題が起きたかを伝えてください。もしかしたら、エンジニアには心当たりがあるかも知れません。また、時間が正確にわかればシステムのログから調べることができます。
秒単位でわかるのがベストですが「何時何分に何をやってこうなった」で十分です。
Webシステムなら、どのブラウザを使ってどの画面(URL)でどんな入力をしたか?を説明しましょう。
目的(何をしたかったのか)
連絡を受けたエンジニアには、ユーザーが何をしたかったのかがわからないときがあります。自明に思えるかも知れませんが、これは意外に結構あります。
目的がわかると、再現手順を調べやすくなって問題解決までの時間が短くなったり、代替手段を提案しやすくなります。
エンジニアは「何がしたかったんですか?」とか「目的はなんですか?」と聞いてくるかも知れませんが、別に煽っているわけではなく純粋にわからないので質問しているだけです。口のききかたが良くないのはエンジニアの悪い傾向です。すいません。聞かれたら答えてあげてください。
いつまでに解決しないとどんな問題が起きるか
すぐに解決できるかわからない場合、エンジニアは「すぐに解決しないと何かマズいことが起きますか?」と聞いてくる場合があります。それがわかると、緊急度や代替手段を講じるべきかの判断ができるからです。
「なんでシステムをわかっているはずのエンジニアがそんなことを聞いてくるのか」と思うかも知れませんが、これはユーザーのほうがよりわかっていることも多いからです。エンジニアは仕事の流れをすべて把握しているわけではないので…すいません。
問題を再現する方法/回避する方法
ここまでわかっていると、エンジニアにとっては最高です。もはや解決したも同然です。ヒャッハー
問題を再現できるなら何度も試してプログラムを修正する方法が使えますし、問題を回避する方法がわかっていれば業務は続行できるので、時間をかけて調査・修正することができます。
もしわかっていれば、是非教えてあげてください。きっと感謝される上、あなたが優秀なユーザーだと認識してくれるでしょう。
まとめ
業務システムのユーザーとエンジニアを想定して書きましたが、基本的な考え方はほとんどのITシステムに適用・応用できると思います。
- 起きたこと、エラーメッセージ、状況はそのまま伝える
- (元に戻せることがわかっている場合は)自力で解決を試みる
- (できれば)目的を考えて整理しておく
- (できれば)解決しないとどんな問題が起きるか考えておく