Ok so some of you might think this is not stackoverflow related, but since I got a similar question during an interview (for a J2EE dev position) I think you guys will help me in the end.
The situation is simple: you're working on a project in a small group (4-5 people), you're the project leader and the guy who's the most competent (technology wise) is also slacking the most. What do you do to motivate him? The problem is, I'm having the same issue at the university - this semester we have a lot of projects going on (6 to be exact) so we decided to dived the work so everyone will do 1-2 projects in a technology he knows/wants to learn. It's been working well for the most part, the problem is the person whom we thought would finish his project way before us as he's the most experienced among us. How am I supposed to make him do his share properly? Till now he was just half assing his part by doing the bare minimum, with which the professor wasn't really pleased to say the least...
Now it's only a university project, but in the future I might have the same problem in a real job and losing a really smart and experienced worker (as firing him is the only solution I can come up with now) would really be a waste. Aren't there any better ways?
p.s. now that I think about it, are there any books that would help me in becoming a better project manager?
@EDIT: I can't really agree it's a duplicate, as I'm not talking about motivating people in general (or during long lasting projects), but I'm interested in motivating a specific type of people - ones that are smart and experienced, yet lazy. And I don't mean lazy because they are bored of what they are doing. I mean lazy because they prefer doing other, not work related things, like playing games, partying etc.