From the other side of the desk, if I ever yell at one of my subordinates, I'll put myself in a psychiatric hospital, right after presenting my resingnation. No joking.
His yelling is just a way to release the stress caused by his own incompetence. He shouldn't be in a managerial position in the first place.
The "carrot or stick" approach is stupid.
I motivate my employees by making them understand how important they are to the institution, and hearing their work-related needs. And solving the ones I can. The others, I talk to the person who has to solve them. And make him/her do it. I don't make stupid promises (like outrageous raises or quick promotions, which just don't exist), like the ones which are common practice in sales departments.
When I need to set someone straight, I just do it, one-to-one talk, in the most civilized and diplomatic way possible. If it is a major offence, I go for punishment. If it is a minor mistake, I always try to find out why that person is not working well and, according to what he/she says, I make him suggestions on how to do his work properly, but I state clearly that I don't give second chances. Many "old school" (carrot and stick) bosses may think I'm too bland, but, as a boss, I know that my subordinates' mistakes are my mistakes.