Is individual code ownership important?
- by Jim Puls
I'm in the midst of an argument with some coworkers over whether team ownership of the entire codebase is better than individual ownership of components of it.
I'm a huge proponent of assigning every member of the team a roughly equal share of the codebase. It lets people take pride in their creation, gives the bug screeners an obvious first place to assign incoming tickets, and helps to alleviate "broken window syndrome".
It also concentrates knowledge of specific functionality with one (or two) team members making bug fixes much easier.
Most of all, it puts the final say on major decisions with one person who has a lot of input instead of with a committee.
I'm not advocating for requiring permission if somebody else wants to change your code; maybe have the code review always be to the owner, sure. Nor am I suggesting building knowledge silos: there should be nothing exclusive about this ownership.
But when suggesting this to my coworkers, I got a ton of pushback, certainly much more than I expected.
So I ask the community: what are your opinions on working with a team on a large codebase? Is there something I'm missing about vigilantly maintaining collective ownership?