| <?xml version="1.0" encoding="UTF-8"?> |
| <org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.3/uma.ecore" epf:version="1.0.0" xmi:id="-YP0i7TC6QNgemddcj1iE7g" name="collective_ownership,9.300699588493279E-306" guid="-YP0i7TC6QNgemddcj1iE7g" changeDate="2006-11-13T14:36:27.348-0800" version="1.0.0"> |
| <mainDescription><a id="XE_xp__collective_ownership" name="XE_xp__collective_ownership"></a><a id="XE_collective_ownership__practice_of" |
| name="XE_collective_ownership__practice_of"></a><a id="XE_engineering_practices__collective_ownership" |
| name="XE_engineering_practices__collective_ownership"></a> |
| <h3> |
| Description |
| </h3> |
| <p> |
| The practice of collective ownership states that any member of the team can change any piece of code in the system at |
| any time. |
| </p> |
| <p> |
| 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. |
| </p> |
| <h3> |
| Benefits |
| </h3> |
| <ul> |
| <li> |
| <b>Shared knowledge of the code</b>: allows programmers to become familiar with more of the code and benefit from |
| the experience of others. |
| </li> |
| <li> |
| <b>Simpler code</b>: causes complex code to be found and refactored more quickly as many pairs of eyes read the |
| same code. |
| </li> |
| <li> |
| <b>Get things done quickly</b>: removes hurdles so changes can be made by those that need them when they need them. |
| </li> |
| </ul></mainDescription> |
| </org.eclipse.epf.uma:ContentDescription> |