Post previously published in Spanish Equipos de desarrollo / No Rockstars
The "Solo Developer" does not work anymore. "Is a good developer, but... he/she can't work in a team..." is no longer good enough. Even I think, that the practices that work well for you but are not shared among the team are not good practices anymore.
Nowadays there are no development efforts for one person. Programming has become a team effort, so the collaboration, communication, and empathy are much more important for the final result than the individual capabilities of each team member.
Given this premise, it surprises me that there are a lot of discussions about if the technical practices work for each one of us. This doesn't matter... What matters is whether the practices work well for the team. Each one should have the expertise, the capability, or the eager to learn the practices, but only to use the practices as a team.
A lot of the XP (extreme programming) practices are oriented toward the creation of high-performance teams that share knowledge about the business and the system. Especially the "Collective Ownership", the "Pair Programming" or nowadays the "Mob Programming", force the collaboration, the communication, and the empathy. And for sure without these soft skills, these practices won't work well.
IMHO this profession doesn't require either Rock Stars, Ninjas, or wizards... Require professional teams (a minimum of two), that know the tools and the practices and that continuously try to improve (learning new ways of using the tools, improving the practices or even discovering new ways of work).