Do you have a team (or a person) dedicated to providing support for the software that you write? If so, how is your relationship with the members of that team? No matter what your answer to this question, you can almost certainly make this relationship better by simply talking with that team more. Furthermore, I propose that your organization as a whole will be stronger if that developer <-> support relationship improves.
Leverage Existing Channels
I’m not saying that you need to pick up the phone or walk over to a support team member’s desk and shoot the breeze (though that can be great for building personal relationships), but you can almost certainly leverage existing communication channels to better communicate with support. If your organization has a support team, the odds are pretty good that they use some kind of issue tracker to manage the reports that they get from customers. I think it’s important for the development and QA teams to have access to that issue tracker and to read and comment on issues regularly. Similarly, when I’m fixing a bug that originated from a report in an issue tracker, I make it a point to circle back to the original issue and drop a few comments about the nature of the bug and how it was fixed.
Improve Your Perspective
As a developer, it’s invaluable to get a feel for what goes wrong with your software out in the wild. Being exposed to the issues that come up on a day to day basis will alter your perspective on the code and make you think of problems that you hadn’t previously considered. How often have you seen a bug reported and thought to yourself, “wow, I would have never thought to do that” after seeing what steps the user took to hit the issue? It might be tempting to say, “users are dumb”, but that’s a cop-out. Your users aren’t the enemy; they’re your lifeblood and it pays to understand how they think.
Improve Their Perspective
If you spend some time looking over support issues, you’ll likely come across at least one or two that might describe a problem that you’ve seen before or that relates to an area of your product that you’re intimately familiar with. You might find that you can add a few notes to the issue to help clarify the support engineer’s understanding of the problem. The support engineers I’ve worked with are smart and have impressed me a lot with how they can take these little notes and find new ways to solve customer problems. Just the other day I found out that a support engineer at the company I work for was able to take a brief description that I wrote up on an issue and find a solution to another issue that ended up saving one of our customers a tremendous amount of time and money. For me, this just meant spending 10 minutes doing a brain dump of what I had found while investigating a bit of code and that lead to an extremely satisfied customer and a very grateful support engineer.
Talk with your support team; you’ll learn more about your business and your organization will be stronger as a result.