If you are in management, then I am sure you deal with people coming to you with complaints. What I know from the thousands in management that I have discussed this with, your knee jerk reaction when you see a complaint coming down the hall is to shut your door, get on the phone and to try and avoid it. If you can relate to that, here is a better plan.
Stop what you are doing, give the complainer your undivided attention, and listen for what he is committed to. In almost all cases, people complain because something they are committed to is not happening and that's the best way they know how to handle it under the circumstances. If you listen to the commitment underneath the complaint, then you will hear it every time.
When you get it, say: "it sounds like you're committed to; am I hearing you correctly?" If you practice doing this, you will discover their underlying commitment every time. And if you don't, then they will correct you, so either way you win.
The tendency at this point is to tell them what they should do. Do not do that. Nobody likes being told what to do and they will end up actually feeling foolish for not figuring the problem out themselves. Plus, if you keep solving other people's problems for them, they will just keep coming back to you and you will end up being the problem-solver-in-chief with no time for your real job.
Instead, ask: "so, what do you want to do about it." Train people to think for themselves and not come running to you every time they have a problem. When they come up with the solution you would have given them anyway, acknowledge them for their brilliance and let them feel like they were the one who came up with the great idea. They will leave feeling good about themselves, good about you and they will likely make the solution to the problem work just fine.
The worst thing that could happen when you ask your staff member what they want to do about the situation is that they answer "I don't know." There are two reasons people say that:
(1) They haven't taken the time to figure it out for themselves.
(2) They don't want to take responsibility for coming up with their own solutions.
As a manager, if you fall for this answer and give them the solution, then you disempower them. So don't let your staff bait you into giving them the answer.
Instead, look them right in the eye and say "what if you did know?" Do whatever you need to do to make your staff come up with their own solutions to these problems. This is how you train people to be responsible and think for themselves.
Not only is this a strong leadership skill that every manager should have and execute, but it frees you up to work on bigger issues and not be bogged down with problems that your staff should be handling on their own.