I have been working in the software industry for almost two decades. Software products are never perfect - some mistakes, or maybe just minor annoyances, are and always will be part of software products. Nothing will change that, not even AI. 😉
It doesn't mean we, the people responsible for software products, do nothing to prevent issues from happening. Certain development processes, such as Test Driven Development, can limit the number of bugs in the software by adding test coverage or establishing common criteria for how the software must behave, like in Behavior Driven Development. However, none of these methods are perfect to the point where problems cannot be detected or reported.
There are three main personas when it comes to issue reporting:
1. Those who accept things the way they are.
You can meet them everywhere - maybe they are part of the product team, maybe they are potential clients evaluating your software product, or maybe they are already your clients - either voluntarily or involuntarily (e.g., through their affiliation with a certain company that uses your product). Often, these people suffer in silence and just accept things the way they are ("Well, it is what it is", "Could be worse", "Oh... it never worked. I just do this and that", "Let's take a coffee break and wait until it works again").
2. Those who report their frustration.
The second group of people are those who give feedback not on the product itself but on what it makes them feel. This group focuses on their experience with using the software product and compares it with their (often undisclosed) expectations. With these reporters, you will hear phrases like "Your product is a piece of garbage", "Nothing works", "Everything is broken", "I can't do anything", "It drives me nuts", etc. This group will usually be very vocal, but the information they provide doesn't help much in making the product better. This attitude is often boosted by the fact that no product on the market is unique; i.e., each product has a multitude of competitors, and it's often easier to replace the vendor than to help the current vendor fix known issues. Often, they can't verbalize what it is that annoys them.
3. Those who report their issues.
The final group consists of those who report specific issues they encounter with their software product, adhering to your reporting guidelines and providing necessary debug information. They may be frustrated and occasionally express frustration, but they focus on the particular problem and often provide the necessary debug info.
Let's now think about the interaction between your product team and each user group. With the first group, there is none - as simple as that. That makes it potentially the worst group of users as, while they don't complain, they also don't push you to make your product any better. The second group, the complainers, pose a nightmare for support teams. They can break team spirit and increase team turnover. However, they leave a footprint of their time with the product, and, with some curiosity and the right attitude, one can often pull some more information from them, which, in my humble opinion, makes them better for the product than the first group. The third group is your external QA team - they leave you all the information needed so you can make informed improvements to your software product. Be kind to them and reward them. You probably want to keep these users with you as long as possible, or at least I know I do.
As a product company, which group would you prefer as your user base?
As a software user, which group do you identify with?