I truly believe that the best teams consist of members who are very individualistic. What I mean about that is that they care about their craft only. They get the freedom and resources to perform their craft to the maximum.
I don't believe that somebody can create truly amazing and innovative if they need to care about other aspects of a project. If I'm the software engineer of the project, I wouldn't want to receive responsibilities in other aspects in marketing, design, or sales. I mean it would be similar to hire a carpenter to fix your pipes. Are you stupid?
Well, but what if they do have the skill for it?
If you are okay with average results, you can go for it. Some goals can be achieved with average results. But as the saying goes. You can't expect abnormal outcomes without abnormal work.
I'm one of the offenders though. If I see incompetent work in another field, I would try to create a competent one. Even sometimes when I know I'm not skilled enough for the job.
But I believe that in a team everybody needs a specific role to play and they need to be competent or exceptional at their role. They also need to stay in their role and maximize their output as much as possible. You can't expect exceptional work when somebody has multiple responsibilities.
When everybody knows their role and is competent (or exceptional) at it, great work will be done. Once all the output comes together of all the roles, that's when the magic happens.
That's when you discover solutions you've never seen before.
That's when you the championship.
That's when you create an empire.
That's when you can change the world.