We've all worked in good teams where everybody does their job well within the boundaries of their mission. Most of the times profiles are very similar and that makes it averse to changes. Efficiency happens as a consequence of specificity.
In a new project though you can't afford to have similar profiles. A good team is one that mixes people's competencies and responsibilities. It must be ready to deal with any situation and learn to become better.
If you want to be future proof, work with people you don't know the trade of and evaluate how well the team performs as a whole. You'll be surprised how much a heterogeneous group of people can be effective if people have complementary skills and varied experiences.