自動化により複数のチームで開発したアプリのデバッグを効率化

開発者なら誰でも、バグの追跡や修正よりも新機能の開発に時間をかけたいと思うでしょう。しかし、最高のユーザー体験を生み出すためには、デバッグが必要です。バグは避けられないものですが、明確に定義されたデバッグ プロセスを使用することで、異なるチームやチームメンバー間の不満や通知の量を大幅に軽減できます。

この記事では、プロセスを合理化する自動化ツールとともに、製品開発にデバッグを追加する方法について見ていきましょう。

バグはソフトウェア開発において避けられないものですが、バグを修正する際のイライラや通知疲れは避けることができます。

デバッグ ワークフローの作成

まず、プロジェクトの健全性と安定性に責任を持つオーナーを定義することから始めます。たとえば、エンジニアのリーダーは、信頼性の高いバグ修正プロセスを確立し、チーム全体のコード所有意識を高め、エンジニアが交代でバグをトリアージする (優先順位を付ける) ための日次または週次スケジュールを作成します。

ほとんどのバグは、以下の 2 つの方法でトリアージされます。

  • コードを運用環境に展開する DevOps エンジニアが、展開プロセスで発生したエラーをトリアージします。
  • エンジニアが交代で、リリースに関連しないエラーや、繰り返し発生するエラー、スヌーズされたエラーをトリアージします。

次に、チームはバグを修正するためのワークフローを定義する必要があります。バグの中にはすぐに対応が必要なものもあれば (事後トリアージ)、定期的な修正で対応される既知のバグもあります (定期的トリアージ)。これらのバグを特定し、その重大度を判断し、適切なスケジュールでバグをフォローアップするプロセスが必要です。

このワークフローは小規模チームではシンプルかもしれませんが、複数のチームで開発するアプリでは、より計画的な取り組みが必要になるかもしれません。そうしないと、エンジニアに無関係な通知が送信され、彼らの集中を妨げることになりかねません。また、頻繁な通知は、注意が払われにくくなりがちです。

BugSnag でトリアージする方法

ほとんどのバグ トリアージのワークフローは、影響評価から開始します。たとえば、開発者はエラーの頻度、影響を受けるユーザーの数、デバイスの種類による分布などを調べて、バグの影響度や重大度を判断します。すぐに対応が必要なバグもあれば、対応を後回しにできるバグや対応する必要のないバグもあります。

BugSnag は、これらのメトリクスに加え、リリースの安定性スコアを自動的に提供します。「レビュー用」フィルターを使用すると、影響と適切な次のステップを決定するためトリアージが必要なエラーをすばやく確認できます。また、他のフィルターを使用して、過去 7 日以内に運用環境で発生したバグなど、深刻なバグを特定することも可能です。


BugSnag は、いくつかの条件でバグを簡単に絞り込むことができます。
出典: BugSnag

BugSnag のブックマーク機能は、複数チームで開発するアプリ向けに追加のフィルターを提供します。チームごとに独自の共有ブックマークを定義でき、開発者はチームのブックマークを受信トレイのデフォルト ビューとして設定できます。また、VIP 顧客やその他の優先事項向けにカスタム ブックマークを作成し、フォローアップが必要な優先度の高いバグをすばやく特定できます。

さらに、影響度の低いバグをスヌーズして後でフォローアップすることも可能です。BugSnag のスヌーズ機能では、時間ベースのリマインダーを設定するのではなく、指定した期間のバグの発生数に基づいてアラートを構成できます。たとえば、バグの発生が 1 日に 100 回に達するまではスヌーズし、100 回を超えたらフォローアップすることが可能です。

ワークフローの合理化

BugSnag の「レビュー用」フィルター、ブックマーク、スヌーズなどは便利な機能ですが、手動による作業を必要とします。一方、BugSnag のアラートとワークフロー エンジンは、何もせずにワークフローを自動化し、適切なチームに通知を送信することが可能です。これは、デバッグ プロセスを合理化し、時間を削減する最も強力な方法の 1 つです。

まず最初に、スマート通知を構成します。たとえば、チームに関連するブックマークの通知のみを受け取りたい場合や、1 時間以内に 100 を超えるイベントが発生した場合にのみ通知を受け取りたい場合があるでしょう。受け取る通知を調整することで、無関係の通知に煩わされず、開発者が作業に集中できるようになります。


スマート通知機能により、開発者は最も重要なことに集中できます。
出典: BugSnag

フィルターのセットやブックマークを保存した後、Bugsnag を使用すると、JIRA や他の課題管理ツールで課題を自動的に作成することが容易になります。新しいエラーが条件と一致するたびに課題が自動的に作成され、双方向同期によって JIRA やその他の 30 以上のサポートされている課題管理ツールのリンクされた課題とエラーが同期されます。

また、Slack や PagerDuty などのコミュニケーション ツールに通知を送信することもできます。これにより、強制的にすべてをメールで通知したり、バグ トラッカー ソリューションに取り込むのではなく、開発者が希望する形式で通知を受け取れるようにし、開発者の生産性と幸福度を高めます。

まとめ

開発者の多くは、アプリのデバッグよりも新機能の開発に時間を費やしたいと考えていますが、優れたユーザー体験を実現するためには、バグの修正が不可欠です。小規模なチームではデバッグ プロセスはシンプルですが、複数のチームで開発するアプリでは、全員が同じ認識を持ち、通知を適切に管理するため、より堅牢なソリューションが必要です。

BugSnag は、バグを簡単に特定し、フォローアップのため適切なチームへインテリジェントに通知します。無関係の通知を受け取らずに済むため、開発者は作業に集中することができます。また、通知を受け取った際には、フォローアップの重要性を理解することができます。


BugSnag 製品に関する詳細、無料評価版は、こちら


この資料は、Bugsnag の Web サイトで公開されている「Streamlining Debugging in Multi-Team Apps with Automation」の日本語参考訳です。

タイトルとURLをコピーしました