For my whole career, I have been fixing, reporting and prioritizing bugs. I've learned that bugs are part of life. As a junior engineer, I rarely thought of how my code would cause or create bugs. As I've learned in my later years, bugs can make or break a release. Getting a hold on bugs early and deliberately is key. What I've learned so far :
-Damage to user : can this bug cause any large or lasting damage to users?
-Damage to company : can this bug cause any large or lasting damage to the company?
-Impact on metrics : Does it hurt activation, adoption, revenue or referrals?
-Scale of impact : How many users are affected? Does the bug disproportionally affect important users?
-Workarounds : Will the user discover a workaround by themselves?
-Ease of fixing: Is the bug easy to fix? How long would it take to fix?
-Now vs Later : it it timely to fix the bug?
As an engineer, I always appreciated when PM's created a thorough report of the bug. As a PM, I concentrate on being details and specific. I always include steps to reproduce the problem. This allows a better starting place for engineering, and ultimately faster bug fixes.