Developing software as a team is a completely different sport than developing software alone. Developing software alone even happens when people think they work as a team. They just split up the tasks so that each individual contributor owns their part of the codebase.
Developing software as a team really means much more time is spent on discussion, writing documentation, reviewing code and explaining concepts than actually writing code. The benefit of this is: Everyone in the team has a good understanding of the code base and can contribute. The disadvantage: Not everyone likes this style of work and is comfortable with so many non conding tasks.