In the PMI-ACP prepcast course - L02.02.4 the notion is put forth that having collective code ownership speeds up the development process. I'm struggling to rationalize this notion. If you have individual code ownership, then your programmer puts forth their best effort and then makes changes as they work through the testing and validation process. Having collective code ownership means that one person could make a change to the code and then another programmer could change it back because they view different methodologies as optimal based on their coding experience. I've experienced this while coding automation machines. One programmer feels there is an optimal way of coding a motion routine... while another programmer believes another method is optimal. You could end up with a cycle whereby you actually waste resources changing code that works and is optimal for both. Also, I've seen this happen where programmers feel different methods of sequencing are optimal... if they're totally empowered to just change the code because they believe their method is optimal... then you could end up with it being changed... then changed back... then changed... then changed back...
So... wouldn't collective code ownership actually slow the development process because instead of having a champion own the code?
I understand how it could improve quality... but, typically the more people you have involved in a process or a deliverable it creates more discussion and more modification and more opportunity for conflict... which would actually slow the process, not speed it up?
Just looking for some feedback on how having more people involved speeds up a process?
thanks,