This explains why there are so many dysfunctional software teams. It's much harder to make people care and support each other than it is to twist other more objective knobs.
What Google Learned From Its Quest to Build the Perfect Team. What matters is not who is on the team, but how the team interacts. What's important is not who leads it, who is on it, how many people or on it, or where it is. What's most important important is almost antithetical to they hyper-geek ethos: psychological safety. Everyone feels like they have the opportunity to speak up and everyone feels like they are being listened to. Team members should be sensitive to non-verbal queues. Team members feel like they can fail openly. Next is dependability, do people do what they say they will do? Structure and clarity. Have a shared understanding of what everyone's job is. Meaning. The work should be personally meaningful to every person on the team. Impact. Team members need to think that their work matters. Those last two are trouble. Meaning and Impact are deep existential considerations and most development jobs have no chance of reaching so high a bar.