Industrial XP -> Collective Ownership

Collective Ownership

Anyone can change anything at anytime -- Kent Beck

One of the biggest threats to a team's success is politics. Politics at the technical level happen when turf is clearly established. Recognized as an anti-pattern in the book, “Software for your Head”, turf is dangerous as it can send teams spiraling toward disaster while engaged in turf-wars.

Collective Ownership elliminates turf. Everyone on the team owns all of the system. Whoever is best equipped to work on any part of the system is empowered to act. This means that the team shares code collectively. If a defect needs fixing, the first person who knows how to fix it and wants to do so goes ahead. There is no attempt to find someone responsible for the defect.

To aid this practice, teams follow Continuous Integration, Pairing, Story Test-Driven Development and Coding Standard. As programmers work in pairs, at any point, two people will know about a part of the system. Frequently rotating pairs helps diffuse knowledge across the team. After a point, it would be impossible to associate one programmer with any portion of the system, as everyone on the team has worked on it at some point.

Continuous Integration requires team guidelines to be setup that will enable different pairs to integrate their work quickly, giving them confidence to believe in Collective Ownership of code. A Coding Standard should exist so people can easily read all of the code.

Story Test-Driven Development is critical to Collective Ownership – it helps identify defects introduced into a working system due to new modifications. The instant feedback from automated tests provides courage to developers to modify unfamiliar parts of the system.

The design of a system is improved when there are many collaborating minds. Defects and poor designs are easier to acknowledge and correct when blame is shared across the team and not by any individual. Good suggestions are easier to accept when the credit goes to the project community.

Further Reading

Collective Code Ownership, on ExtremeProgramming.org

Industrial XP logo
 
Values & Practices
·
·
· Continuous Risk Management
· Project Chartering
· Project Community
· Test-Driven Management
· Sustainable Pace
· Planning Game
· Storytelling
· Storytesting
· Frequent Releases
· Small Teams
· Sitting Together
· Continuous Learning
· Iterative Usability
· Evolutionary Design
·
· Refactoring
· Domain-Driven Design
· Pairing
· Continuous Integration
· Collective Ownership
· Coding Standard
· Retrospectives



 
Send mail to webmaster@industriallogic.com with questions or comments about this web site.
Copyright © 2004 Industrial Logic, Inc. All Rights Reserved.