見出し画像

新社会人に実践してほしい エラー/不具合 が起きた場合の報告について

どうも、株式会社デジタルキューブ、広報室のタカバシです。

仕事をしていく上で、エラーや不具合が起きることは避けられないですが、これらに効果的に対処するためには「適切な報告」がとても重要です。


「わからないことがわからない人」がやってしまいがちな報告例

エラーや不具合が起きた時、こんな風に報告していませんか?

「表示されません」
「ログインできません」
「URLにアクセスできません」

エラー報告で最も重要なのは、発生したエラーの詳細な説明です。どのような操作を行った時に問題が発生したのか、エラーメッセージは具体的に何と表示されたのか、操作環境はどのようなものか…

ということで今回は、エラーや不具合が発生した際に、どのように報告するのが良いのか、デジタルキューブで使っているエラー/不具合報告テンプレートも交えつつ、エラー/不具合の対処について書いてみます。

たくさんの情報提供が解決への近道

エラー/不具合が発生・発覚したら、そこから原因の特定を行い、解決し、さらに再発を防止する必要があります。エラー/不具合報告は問題の原因を特定し、解決に向けた具体的なアプローチを導き出すための出発点となるので、属人的な表現は避け、できるだけ迅速に行うことが望ましいです。

例えば、「検索結果ページが表示されない」という報告だけが上がってきても、多岐にわたる原因が考えられますし、どういった環境で起こったのかがわからないと検証することもできません。

「検索結果ページが表示されない」とだけ言われたエンジニアの頭の中

そこでデジタルキューブでは、Backlog にエラー/不具合報告用の課題のテンプレートを作り、以下の内容を共有することから対応を始めています。

デジタルキューブの不具合報告テンプレート

  1. 問題の起きている URL を教えてください(複数で確認できるのであれば 3 - 5 URL 程度)

  2. 本来あるべき仕様はどのようなものですか?

  3. 発生している不具合を簡潔に教えてください

  4. 不具合の状態を確認できる画面のスクリーンショットまたは動画を添付してください

  5. 不具合の再現方法があればその手順を記入してください

  6. エラーメッセージが出ている場合はメッセージをそのままコピー&ペーストしてください

  7. 問題の発生した直前に行った操作があれば教えてください

  8. 不具合が発生した OS の種類とバージョン及びブラウザの種類とバージョンを教えてください

  9. 発生した問題はステージング環境や開発環境でも再現していますか?

エラー/不具合報告では、できるだけ多くの情報を提供することが解決への近道になります。さらに、エラー発生時のスクリーンショットや動画などのビジュアル情報があると、問題の理解が格段に早くなります。

正しい情報が共有されたら、その情報を元に担当チームが原因の究明や解決にあたります。エラーログの確認、コードのレビュー、ユーザーのフィードバックの分析などを通じて、問題の根本原因を突き止めていきます。

また、エラーや不具合には、複数の要因が絡み合っていることも少なくありません。これらの問題を解決するためには、単にテクニカルな知識だけでなく、チーム内のコミュニケーションやプロジェクト管理も同様に重要と言えます。解消に要する時間の見込みや難易度など、チーム内で共有しておくことでユーザーやクライアントへの報告の解像度を高めることができます。

迅速な解決には経験も重要

あるプロジェクトで「商品の画像が表示されない」という不具合がありました。この時は問題の解決のために以下のステップを踏みました。

1/ 問題の詳細な説明を収集
どのページで問題が発生したのか、どの商品の画像が表示されないのか、どのブラウザを使用していたのかなど、具体的な情報を集めました。

2/ 再現手順の確認
エラーが発生する手順を詳細に記載してもらい、同じ環境で再現を試みました。

3/ 関連するログの確認
サーバーのエラーログやブラウザのコンソールログを確認し、何か異常が記録されていないかチェックしました。

4/ 関係するチームとの連携
フロントエンドエンジニア&バックエンドエンジニアと情報を共有し、それぞれの観点から原因を探りました。

手順にすると4工程になりますが、この時はそれまでのディレクターの経験から、すぐに原因が画像ファイルのアクセス権設定ミスだと判明しました。

エラーや不具合がどんな時に発生するのか、事例を知っておくことで、原因の目星をつけることができるようになります。

定期的なレビュー会議や過去に発生したエラー/不具合とその解決策を共有することで、チーム全体の問題解決能力を高める、ということも大事だと思います。

必ず起こるという前提での備えも重要

エラー/不具合が起こらないに越したことはありませんが、幸運にもある程度の期間ブランクができたら、訓練のような形でエラー/不具合の報告や対応のフローを相談・確認しておくことも必要かもしれません。

エラー/不具合は必ず起こるものだという認識も必要ですし、だからこそ、エラー/不具合が起こった時には、それを改善と学習の機会として捉え、しっかりと共有することも重要だと思います。

適切な報告と共に、問題解決に向けて前向きに取り組む姿勢が、より良い製品やサービスを生み出すベースになるはず… チーム内での報連相の精度も上げつつ、トラブル時にはしっかりと受け身を取れる状態にしておく、というのが理想的でしょうか?

個人的には、時々以下の動画を見返して我が身を振り返ったりもしています。

それでは、また。

この記事が参加している募集

仕事について話そう