Concept: Collective Ownership
Related Elements
Main Description


The practice of collective ownership states that any member of the team can change any piece of code in the system at any time.

Having a good suite of tests and being able to integrate continuously is critical to ensuring that this practice works well. Without the tests, it would be impossible to know that a critical piece of the system was modified improperly because of inappropriate understanding. Integrating frequently and testing ensures that such problems are caught and fixed quickly. Used with pair programming, collective code ownership is an effective way to spread the knowledge of the system across the entire team.


  • Shared knowledge of the code: allows programmers to become familiar with more of the code and benefit from the experience of others.
  • Simpler code: causes complex code to be found and refactored more quickly as many pairs of eyes read the same code.
  • Get things done quickly: removes hurdles so changes can be made by those that need them when they need them.