That's the thing though, having an awesome dev on the team who is just there is like having Michael Jordan on your team, but he only plays by himself. A good dev lead needs to mentor the whole team, that is his job. The idea is to bring up the quality of the whole team not to say "You all suck, you should stop coding"<p>TDD and Agile (pair programing in particular) is there to provide a path for weak developers to become stronger developers by following the path that is set for them by team leads.<p>Agile is a sham is a bit of an elitist post, and I don't want to work with a person like that because I will not be able to learn any new skills from them, except snobbery and contempt for people below him.