It’s essential to have application stability monitoring in place to know when you need to spend time debugging errors that could affect your users. But once you begin investigating bugs, having a solid workflow in place for debugging can make the process much more swift, simple, and straightforward. That way, you can quickly improve your app’s stability, and hopefully relieve some of the burden associated with finding and fixing bugs.
Here are some best practices to implement into your debugging workflow.
Will you have a weekly bug rotation? Or maybe you’ll assign someone to be the Bug Warrior 💪 for an entire sprint? However you choose to define responsibilities, it’s important to have a process in place that your entire team is aware of and agrees to.
Making one person responsible for triaging and moving bugs into your workflow for a set period of time makes it less likely that harmful bugs will go unnoticed. It’s also smart to have as many of your teammates on the rotation as possible so that every can see the impact of bugs and feel the pain that users feel when they encounter errors.
Tip — The engineer on bug duty doesn’t necessarily need to be the person fixing the bug. Many times they won’t actually be the best person to do it if they weren’t the last one to change the code. However, having a set of eyes on those incoming bugs will make sure nothing is slipping through the cracks.
When it’s your turn on the bug rotation, where will you start? Having a segmented view of the errors you care about most will save you time in your debugging workflow. In Bugsnag, you can create a bookmarked search and share it across your team so that anyone on bug duty can go straight to the most relevant errors with a single-click.
Using search in Bugsnag, which includes quick filters, custom filters, simple search, and the search builder, you can easily surface error segments that need continual monitoring. For example, you can search for:
As you’re triaging errors and assessing their impact, you will need to move the bugs that need fixing into your issue tracker. You can integrate Bugsnag with Jira and other issues trackers to automate this process and save yourself some time and hassle.
From your Bugsnag dashboard, you can click to create a ticket in your issue tracker. It will also automatically sync error statuses between platforms, so when you mark an error fixed, its corresponding ticket will also be marked complete.
Tip — Also integrate with Slack so you can receive new error alerts in your engineering channel.
Begin your debugging workflow by checking the Releases dashboard first. The stability score for each release will give you a high-level indicator of how your app’s stability is looking. If your release stability is average or above, it will appear green. If the release stability is below average, it will appear red so you’ll know to immediately begin investigating. The releases dashboard will even show you a list of the top 5 errors occurring in the release as a place to start.
Since you spent the time setting up shared bookmarks, you can continue your debugging workflow by going to your saved searches to triage errors.
From your inbox, you can use Bugsnag’s workflow states to move errors through your debugging process. You can mark errors as Fixed, Ignored, or Snoozed to clear them away and keep a focused view of errors. You can also create an issue for the bug as we mentioned before, or even assign the bug to a teammate.
By using the workflow states, you can maintain a concise list of errors, and avoid noise that makes debugging more difficult.
Tip — Errors you mark as Fixed are also monitored in Bugsnag. If they come back in a new version of your application, they are detected as regressions. You’ll receive immediate alerts when this happens, and Bugsnag reopens the error and its issue in your issue tracker. This way, you’ll have the full history available to help you investigate the bug.
When you pinpoint an error that needs a fix, you can assign it to the appropriate team member who will be the best placed to fix it. You can also collaborate in comments to get more context on the error and get to a fix faster. Making sure someone is accountable for reproducing and pushing a fix will ensure the bug doesn’t get lost.
If you need to update your team about the status of the bug, or if there are questions about the fix, having a conversation around the error can also be useful so there’s an easily accessible record of what was done. That way, if the error ever returns, you’ll be able to see a history of what happened.
These simple tips can help you and your team make your debugging workflow smoother and hopefully a more straightforward process. And the more efficient you become at debugging, the more time you’ll have to build better features for your users.