blob: 23cdb737d433e40caef3511c5a7eb7ee010aa205 [file] [log] [blame]
<?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>&lt;a id=&quot;XE_xp__collective_ownership&quot; name=&quot;XE_xp__collective_ownership&quot;&gt;&lt;/a&gt;&lt;a id=&quot;XE_collective_ownership__practice_of&quot;
name=&quot;XE_collective_ownership__practice_of&quot;&gt;&lt;/a&gt;&lt;a id=&quot;XE_engineering_practices__collective_ownership&quot;
name=&quot;XE_engineering_practices__collective_ownership&quot;&gt;&lt;/a&gt;
&lt;h3&gt;
Description
&lt;/h3&gt;
&lt;p&gt;
The practice of collective ownership states that any member of the team can change any piece of code in the system at
any time.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;h3&gt;
Benefits
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Shared knowledge of the code&lt;/b&gt;: allows programmers to become familiar with more of the code and benefit from
the experience of others.
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Simpler code&lt;/b&gt;: causes complex code to be found and refactored more quickly as many pairs of eyes read the
same code.
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Get things done quickly&lt;/b&gt;: removes hurdles so changes can be made by those that need them when they need them.
&lt;/li&gt;
&lt;/ul&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>