Let’s walk through some best practices for prioritizing errors. You can’t fix every error, so having a strategy for which errors you will prioritize to be fixed will help you appropriately allocate engineering resources on bugs worth fixing.
These tips can help you understand the impact of errors on your application’s stability and on your customers.
This will go a long way towards helping your team be proactive about bug fixes, and give them visibility into which errors cause the most harm. By thinking about your setup from the start, you’ll make it easier to prioritize bug fixes at the right time down the road.
Make your error alerts smarter. Alert fatigue is something all engineering teams should be wary of, so instead of receiving a notification every time an error happens, opt to receive alerts for:
Take a look at error counts in Bugsnag to understand how widespread an error really is. Errors that are caused by the same line of code are grouped together so instead of a long list of error instances, you see how many times a specific type of error happened. This makes it easier to prioritize high-impact errors.
Modern applications are made up of various systems, often built in different languages and using different technologies. Errors are not limited to manifesting within the borders of just one part of your app—a bug in your front-end code could be caused by a bug happening your backend code. If error information is spread through various systems, piecing it together can be a challenge.
By bringing all your error reporting together in one place, you’ll be able to track bugs throughout your system and understand how widespread they are.
It’s important to cut down the noise when you’re dealing with high volumes of data. Usually, you won’t fix all the errors in your inbox, but taking action on them will bring focus to your prioritization efforts.
There are some bugs you’ll never be able to fix, like bots spamming your application with nonsense form data and URLs. It’s a good idea to turn off notifications for this kind of activity by silencing these notifications. In Bugsnag, you can do this with the Ignore action and all future notifications for that error will be silenced.
Some errors might appear slowly and will be worth fixing in the future when they become more prevalent. Don’t leave them sitting in your inbox as it can take up mental space and distract you from focusing on more pressing errors. Instead, snooze notifications for them until they reach a critical threshold.
How much of your userbase is impacted by the error? Generally speaking, a bug that affects one user is lower-priority than one which affects hundreds. Mapping errors to users, in combination with grouping errors by root cause, is essential to this.
Take a look at the error count and the users impact count and sort by these metrics to understand how widespread an error is.
Which area of your code will you monitor more closely? Bugs on your sign-up page, in payment flows, or in a checkout app should be monitored closely. Search using the context attribute to find specific areas of your code, like the shopping cart.
Watch for errors that impact your most valuable customers. You can pass in custom diagnostic data, like pricing plan, which will be attached to the error reports of all your customers. Search for customers on a specific plan level to view the errors they’ve experienced in your product.
View errors in the releases you’re most interested in, like your latest or maybe two latest releases. That way you can focus on fixing bugs in the newest versions of your application since many of your customers probably will have upgraded, making supporting older versions of your app less important.
With best practices for getting setup and a streamlined prioritization workflow, you’ll save time and remove any guesswork from dealing with incoming application errors.