Guide to Collective Code Ownership - PSM I
What is Collective Code Ownership?
Collective Code Ownership is a principle in Agile and Scrum methodologies. It essentially means that code is not owned by an individual but by the entire team. Every team member has full access to the codebase and can make changes as required.
Why is it Important?
Collective Code Ownership promotes shared knowledge of the code among the team, ensuring there are no knowledge silos based on individual ownership of code modules. Consequently, the application can evolve quickly and without ‘waiting time’ for a certain developer. This improves team productivity and project velocity.
How it Works?
Any team member can modify any system part, although the developers are expected to communicate, collaborate and respect other team members' changes. This promotes shared understanding of the code and minimizes the risks associated with developer absence.
Exam Tips: Answering Questions on Collective Code Ownership
1. Understanding the Concept: Make sure you understand the basic principle of Collective Code Ownership; that code isn’t owned by an individual but by the whole team.
2. Implications: Understand the implications of Collective Code Ownership - how it dissolves knowledge silos, improves productivity and facilitates faster decision making.
3. Application: Be prepared to discuss how Collective Code Ownership is implemented, in terms of team interaction and respect for each other's work.
4. Avoid Pitfalls: Be aware of potential misconceptions; Collective Code Ownership is not a reason for avoiding individual responsibility or accountability. While the codebase is open to all team members, it is vital to maintain quality and not undermine the code structure or integrity.