What is more important in software development? Having better quality team members? Or having the team members work together in a better way?
I was reading a post today explaining about how team performance in software development is more important than individual performance. And one part of the post said this:
"A team with objectively worse players can beat an opponent with more talented players by playing as a team. This was resoundingly proved when Greece won the Euro 2004 international soccer tournament with a squad ranked the 15th most likely to triumph from 16 national teams taking part."
Lets pause here. I have major issues with this example.
"This was resoundingly proved when...". Really? The one time Greece won it resoundingly proved it? How do we know it was not a fluke? Actually, how many times has Greece won the Euro since then? (Answer: zero, and they failed to qualify last two times).
I don't have any issues with the concept of team performance trumping individual performance per-se. There are many instances where teams with worse players beat teams with stronger players on the basis of better teamwork. But there are also many times when teams with stronger players beat the teams with weaker players.
Some teams that win are built on their teamwork. Other teams that win - including the current world champions - are built around their rockstar player.
Fact is, there isn't a formula for building a winning team. And the same is true in software development.