From my understanding collective ownership will solve common problems with the antiquated such as quality, failure due to absence and knowledge-sharing.
However, there are some things that I don't understand.
- Is the team a democracy? If so, what if the majority are wrong?
- Why choose technical correctness over "people correctness"? i.e. What's technically correct may not be most motivational/enjoyable choice for the people working on the project. An unhappy team is more likely to create bad quality than a motivated team.
- What about the individual's creativity, understanding, exploration and experimentation? These are likely to be neglected if the only decisions that get made are based on a mutual agreement.
- How is rogue activity handled? For example, if 99% of a project is done and the entire team except one person goes on holiday the next day, what stops that one person from changing things that were already agreed on during pair programming sessions, just before delivering the last 1%?
- Won't code production time be massively increased? If the entire team has to learn all code that gets produced then technically only one thing can be produced at a time.
Edit: Added point 4 and 5.