Concept: Collective Code Ownership
This concept explains the value of an atmosphere where any team member can change any piece of code in the system.
Relationships
Related Elements
Main Description

With collective code ownership, any member of the team can change any piece of code in the system at any time. There should not be a policy or norm that one person is responsible for one part of the code base so that others are not allowed to modify it.

Fostering an environment where any developer might be expected to modify any piece of code to implement some functionality, fix a bug, or improve the solution leads to a more collaborative team experience. Developers will become familiar with more of the code and benefit from the experience of others. It drives a high-performance team and removes hurdles so that changes can be made by those who need them when they need them. No one person can become the gatekeeper or bottleneck for changes to some subsystem within the code base.

Collective code ownership works best if there are coding standards in place so that there are not problems, where one developer's style is significantly different than another's (see Concept: Coding Standard). It is also critical that there are developer tests in place to ensure that work on a unit of code does not break it.