February 8, 2021•260 words
What kind of ownership mode does your software team use?
This is the mode where all changes to an area of code go through the owner. This mode probably benefits the individual the most as they have total control over their domain.
I'm not a fan of this simply because there's no redundancy in place if the owner goes on vacation or leaves the team. It can also mean owners are less inclined to keep their code well documented and easy for others to understand.
This is the mode where everyone is empowered to make changes anywhere in the code base as if they were an owner.
People are busy enough as it is, having to figure out who is responsible for fixing / triaging bugs will tend to leave these issues left unaddressed for a long time.
I'm also not a fan of this as projects get more and more complex, it's unrealistic to expect everyone is a collective expert in all areas.
This is breadth and depth of ownership. Everyone should be able to jump in and out of projects pretty easily. But the ultimate decision of whether or not a feature gets added to code is up to the owner.
An easy way to achieve this is to get into the habit of offering to pair with others for 45 minutes to an hour every few days. This way we can all get a sense of what others are doing and build that breadth that's missing in strong ownership.