I guess it depends on what kind of people you employ in what kind of business.
We're a software company so we try to employ very smart people but who often lack experience (we can't make them smart, but we can give them experience).
The kind of people we hire are motivated by
- desire to learn new skills
- pride in their work, genuine pride in building something good that the client is happy with. Part of this is working autonomously without someone micro managing them.
- having their work appreciated. I've talked to some employers who won't tell someone they've done a good job too often in case the person decides they are worth more money. I think this is nuts - telling people what a great job they've done when they have inspires them and confirms to them that good work is noticed.
- supporting people when they've made mistakes. I'm talking about accidental mistakes. Shouting just creates resentment. Better to help that person to learn from it and not repeat it - we all make mistakes, but hopefully we don't make them very often and learn from the ones that we do make. Also, if someone knows they get bawled at when they make a mistake, they will try and hide them from you which can make things even worse. I'd much rather know an employee will come to me and say "I've done something wrong and now we have this problem, what is the best way to sort it out".
I watch Gordon Ramsay and Alan Sugar with horror. Sure, they are successful, but I think the Richard Branson approach is a much better one.