Building a high performance team is like reaching the highest levels of Dante's Paradiso: start by *not screwing up*.
Start with the right people, as has been stated. If your team has poor performers on them, they will drag everyone down. Don't be afraid to get rid of them. How do you identify the poor performers? Ask the good performers and see if a pattern emerges.
Now, right people doesn't necessarily mean super experienced. To paraphrase another post, right people have a "knack" for the field, an insight into how what they do affects the larger business, and a passion to reach those goals. The business focus means they are often opinionated and will push back on your agenda for various reasons. Treat this as an opportunity to review the agenda with a fresh set of eyes, as they might be right.
Got a good team? Next is not screwing them up with process. Throw a bunch of good developers into 10 hours of meetings every week and they won't perform no matter how good they are. Require five sign offs on every change and they're going to perform slowly.
Next, don't screw them up with poor management. Are their goals clear? Do they know what targets to hit? They might individually do a great job, but if you send them off on a wild goose chase, it won't help your business. Or if it's not clear what success looks like, what they deliver might not be what is needed. Changing goalposts will kill them too as there will be no predictability.
Next, don't screw them up with poor infrastructure. Fail to pay attention to your dev tooling / deployment / etc., and they might be the fastest, most efficient coders in the world, but they'll be waiting an hour twiddling their thumbs between each build. Your budget for developer infrastructure is actually part of your development budget.
With all of these things in place, now and only now can we start discussing the virtues that lead to higher performance:
The team should communicate well and cover for each other's weaknesses. The leader / most senior person on the team should have good communication skills with management, the ability to mentor more junior members, and should be looked up to by the rest of the team for his or her competency. The team should make decisions collaboratively, but with the team lead resolving stalemates so that the team doesn't get stuck in analysis paralysis. And perhaps the most important asset the team can have: their values should be aligned with high performance: delivering quality output, delighting customers, supporting each other, a sense of responsibility for what they build, and a growth mindset.
Clearly there are a lot of factors here that have to be nailed, which is why cultivating such a team is difficult. The most important items are likely the people, the culture, and clear communication from management - given enough freedom, a team of good people who feel a sense of responsibility to make things better and have a well-defined goal will often build up their own infrastructure and process to achieve that goal.