Do you need customer support or technical assistance? Click here to submit a support ticket...

TOPIC: PMI-ACP Prepcast - L02.02.4

PMI-ACP Prepcast - L02.02.4 2 years 3 months ago #27644

  • Jason Welsh
  • Jason Welsh's Avatar Topic Author
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Posts: 1
  • Thank you received: 0
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?

PMI-ACP Prepcast - L02.02.4 2 years 3 months ago #27678

  • Billy MacDonald
  • Billy MacDonald's Avatar
  • Offline
  • Moderator
  • Moderator
  • Posts: 66
  • Karma: 1
  • Thank you received: 12
Hi Jason
That’s a great question and thanks for taking time to post it. This is my take on it, for what it’s worth although I see your point.
CI is a major reason it speeds up dev. Having a shared master and merging several times a day can allow multiple people to all work on the code at once. Another reason code ownership is shared is to break down any hierarchy or silos that may prevent devs from freely making changes where multiple people or teams share a code base. We want everyone to feel empowered.
what I also get from ‘shared code ownership’ isn’t really the code at all but the delivery of value that the code brings. If you have a situation where the best method isn’t agreed you’d expect conversation, rather than re-writes. Waste is the enemy of Agile teams so the method should be agreed upon so everyone can move forward. If people are re-writing I can see the delivery of value being impacted, and that’s a shared responsibility.
Also, what does that team have in their Working Agreement or Team Charter in respect to coding disputes? There’s a lot of work on “the team” in scrum/SAFe/XP that can help with these things.

PMI-ACP Prepcast - L02.02.4 2 years 3 months ago #27679

  • Anonymous
  • Anonymous's Avatar
  • Visitor
  • Visitor
Thanks, that makes sense
I suppose a focus on communication and teamwork can minimize the risk of this happening
Moderators: Yolanda MabutasJohn Paul BugarinBilly MacDonaldSameer Menda

Training for Project Management Professional (PMP)®, PMI Agile Certified Practitioner (PMI-ACP)®, and Certified Associate in Project Management (CAPM)®