diff --git a/Scrum French/.cvsignore b/Scrum French/.cvsignore
deleted file mode 100644
index b30de62..0000000
--- a/Scrum French/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.lock
-.project
diff --git a/Scrum French/Scrum/about.html b/Scrum French/Scrum/about.html
deleted file mode 100644
index 6040025..0000000
--- a/Scrum French/Scrum/about.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-<span style="font-weight: bold; font-family: Arial Narrow;">Claude Aubry</span><br/>
-<span style="font-weight: bold; color: rgb(255, 102, 0); font-family: Arial Narrow;">Consultant M&eacute;thodes Agiles</span><span style="font-family: Arial Narrow;">
-</span>
-<br/><small style="font-family: Arial Narrow;">
-<span style="color: rgb(102, 102, 102);">Mobile : 06 60 646 946</span>
-<br/>
-<a href="http://scrum.aubryconseil.com">Blog</a> -&nbsp;
-<a href="http://www.aubryconseil.com/">Web</a>
\ No newline at end of file
diff --git a/Scrum French/Scrum/customcategories/Intro.xmi b/Scrum French/Scrum/customcategories/Intro.xmi
deleted file mode 100644
index f1b1dcb..0000000
--- a/Scrum French/Scrum/customcategories/Intro.xmi
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-juIDa_fXi2K1BE5NTblPow"
-    name="new_custom_category,_s8y1UABREdu3o4yroaI-tA" guid="-juIDa_fXi2K1BE5NTblPow"
-    changeDate="2006-12-04T12:46:12.515-0800">
-  <mainDescription>Ce site décrit l'utilisation de Scrum</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/customcategories/Scrum Elements.xmi b/Scrum French/Scrum/customcategories/Scrum Elements.xmi
deleted file mode 100644
index 1c3b9f5..0000000
--- a/Scrum French/Scrum/customcategories/Scrum Elements.xmi
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-zS9h38tmK4L-U9kbgkpGKQ"
-    name="Eléments de Scrum,_nF6fgALYEduFv7wnrO7SvQ" guid="-zS9h38tmK4L-U9kbgkpGKQ"
-    changeDate="2006-07-16T06:44:25.338-0700"/>
diff --git a/Scrum French/Scrum/deliveryprocesses/Scrum/content.xmi b/Scrum French/Scrum/deliveryprocesses/Scrum/content.xmi
deleted file mode 100644
index 4353206..0000000
--- a/Scrum French/Scrum/deliveryprocesses/Scrum/content.xmi
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma:DeliveryProcessDescription xmi:id="-16dzhVoCex78V2iCDZVx0w"
-      name="Scrum,_9llsAQAvEdubGMceRDupFQ" guid="-16dzhVoCex78V2iCDZVx0w">
-    <mainDescription>La production d’une version du logiciel (&lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/guidances/termdefinitions/Release_A7C0A48E.html&quot; guid=&quot;_AIB9gIHrEduFs9jH8xc4xw&quot;>Release&lt;/a>) se fait en&#xD;
-général en quelques mois. Les fonctionnalités demandées pour la release sont collectées dans le backlog de produit et&#xD;
-classées par priorité. Le directeur de produit est responsable de l’insertion des changements dans ce backlog.&amp;nbsp; &lt;br />&#xD;
-La release est produite par une série d’itérations de 2 à 4 semaines appelées des &lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/guidances/termdefinitions/Sprint_494C0C24.html&quot; guid=&quot;_kftWoIHqEduFs9jH8xc4xw&quot;>Sprint&lt;/a>s. Le contenu&#xD;
-d’un Sprint est défini par l’équipe avec le propriétaire de produit, en tenant compte des priorités et de la capacité de&#xD;
-l’équipe. L’équipe définit les tâches nécessaires pour réaliser les fonctionnalités sélectionnées pour le Sprint.&amp;nbsp;&#xD;
-&lt;br />&#xD;
-Pendant un sprint, des points de contrôle sur l’avancement sont effectués lors des mêlées quotidiennes. Cela permet au&#xD;
-ScrumMaster de déterminer l’avancement par rapport aux engagements du Sprint et de conseiller des ajustements pour assurer&#xD;
-le succès du Sprint.&amp;nbsp; &lt;br />&#xD;
-A la fin de chaque Sprint, l’équipe produit un &lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/workproducts/Product%20increment_9A9BD82A.html&quot; guid=&quot;_tCmYEP-xEdqLnajTSLeAsA&quot;>Incrément de&#xD;
-produit&lt;/a>&amp;nbsp;potentiellement utilisable, dont l’évaluation permet d’ajuster le backlog pour le Sprint suivant.</mainDescription>
-    <keyConsiderations>&lt;p>&#xD;
-    Scrum contribue à renforcer l’esprit d’équipe dans les projets,&amp;nbsp; avec une collection de pratiques proches de&#xD;
-    celles que l’on trouve dans des sports collectifs en particulier le rugby.&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br /></keyConsiderations>
-    <purpose>.</purpose>
-    <howtoStaff>Une équipe Scrum est composée de 3 à 10 personnes.</howtoStaff>
-    <scope>Scrum ne décrit pas toutes les disciplines du développement de logiciel (analyse, conception, codage, test) et doit être&#xD;
-considéré, plutôt qu’un processus complet, comme un pattern de processus qui est à utiliser pour la gestion de projet et la&#xD;
-gestion des exigences. &lt;br />&#xD;
-Scrum ne fournit pas d’aide pour la réalisation des activités techniques du développement.</scope>
-    <estimatingTechnique>&lt;p>&#xD;
-    Il est conseillé de pratiquer une estimation basée sur les points (story points), associés aux éléments du backlog.&#xD;
-&lt;/p></estimatingTechnique>
-  </org.eclipse.epf.uma:DeliveryProcessDescription>
-  <org.eclipse.epf.uma:ActivityDescription xmi:id="-WiMYK8iwLeOO-sSBRBjbNQ" name="Phase de préparation,_37TdkAL_EduOAKqB9I73uw"
-      guid="-WiMYK8iwLeOO-sSBRBjbNQ">
-    <mainDescription>&lt;p>&#xD;
-    Scrum ne prend pas en compte tous les aspects de préparation d'un projet. Seules sont présentées les taches spécifiques&#xD;
-    de Scrum plus une qui regroupe tous les travaux pouvant etre réalisés&#xD;
-&lt;/p></mainDescription>
-  </org.eclipse.epf.uma:ActivityDescription>
-  <org.eclipse.epf.uma:DescriptorDescription xmi:id="-EpBaHVCIYCqqGX_wv7dlYA" name="Travaux quotidiens,_nXmKUANlEduYd-55D-Aiqg"
-      guid="-EpBaHVCIYCqqGX_wv7dlYA">
-    <refinedDescription>Scrum ne propose rien pour la réalisation de ces tâches techniques de conception, codage et test mais se conjugue bien avec&#xD;
-l’utilisation des techniques XP (binômage, développement dirigé par les tests…). &lt;br />&#xD;
-Les tâches ne sont pas assignées par le ScrumMaster mais choisies par les membres de l’équipe au fur et à mesure. &lt;br />&#xD;
-L’équipe met à jour, chaque fois que c’est nécessaire, l’estimation du reste à faire sur les tâches du &lt;br />&#xD;
-backlog du sprint.</refinedDescription>
-  </org.eclipse.epf.uma:DescriptorDescription>
-  <org.eclipse.epf.uma:DescriptorDescription xmi:id="-EOwIzNPjfNIjzJ3TRAgeWQ" name="Sprint de release,_zbM2QIGBEduKE9hnyImx1Q"
-      guid="-EOwIzNPjfNIjzJ3TRAgeWQ">
-    <keyConsiderations>Essayer de ne pas modifier de code lors du dernier sprint, c'est trop tard et risqué.</keyConsiderations>
-    <usageGuidance>Il est optionnel. Cela dépend de la façon dont le produit est mis à disposition de ses utilisateurs finals. On en devrait&#xD;
-dérouler ce sprint optionnel que des travaux qu'il est impossible de faire avant, dans les sprints &quot;normaux&quot;.</usageGuidance>
-    <refinedDescription>&lt;p>&#xD;
-    Les tâches effectuées pendant ce sprint dépendent fortement du type de déploiement du logiciel.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    On peut y trouver des travaux portant sur :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        mise en production à chaud,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        packaging du produit,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        mise à disposition par téléchargement en ligne,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        documentation technique,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        formation des utilisateurs,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        marketing du produit.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></refinedDescription>
-  </org.eclipse.epf.uma:DescriptorDescription>
-  <org.eclipse.epf.uma:DescriptorDescription xmi:id="-MupkaQeHNEmiF7Lnl3VirQ" name="Sprint backlog,_glbG2wMAEduOAKqB9I73uw"
-      guid="-MupkaQeHNEmiF7Lnl3VirQ">
-    <usageGuidance>Un par sprint</usageGuidance>
-  </org.eclipse.epf.uma:DescriptorDescription>
-</xmi:XMI>
diff --git a/Scrum French/Scrum/deliveryprocesses/Scrum/diagram.xmi b/Scrum French/Scrum/deliveryprocesses/Scrum/diagram.xmi
deleted file mode 100644
index b50f17a..0000000
--- a/Scrum French/Scrum/deliveryprocesses/Scrum/diagram.xmi
+++ /dev/null
@@ -1,1267 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmlns:org.eclipse.epf.diagram.model="http://www.eclipse.org/epf/diagram/1.0.0/diagram.ecore" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML">
-  <uml:Activity xmi:id="_6SVeUDoqEdy0TfEP3Pazog" name="Scrum">
-    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SVeUToqEdy0TfEP3Pazog" source="uma_element">
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SVeUjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_9llsAQAvEdubGMceRDupFQ"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SVeUzoqEdy0TfEP3Pazog" key="type" value="Activity"/>
-    </eAnnotations>
-    <node xmi:type="uml:InitialNode" xmi:id="_6SoZSToqEdy0TfEP3Pazog" name="" outgoing="_6S7UMToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityFinalNode" xmi:id="_6SyKSzoqEdy0TfEP3Pazog" name="" incoming="_6TFFOToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:StructuredActivityNode" xmi:id="_6SyKVzoqEdy0TfEP3Pazog" name="Phase de préparation" outgoing="_6S7UPDoqEdy0TfEP3Pazog" incoming="_6S7UMToqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SyKWDoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SyKWToqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_37TdkAL_EduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SyKWjoqEdy0TfEP3Pazog" key="type" value="Phase"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:StructuredActivityNode" xmi:id="_6SyKZDoqEdy0TfEP3Pazog" name="Phase des sprints" outgoing="_6TFFOToqEdy0TfEP3Pazog" incoming="_6S7UPDoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SyKZToqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SyKZjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_NSW6sQMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SyKZzoqEdy0TfEP3Pazog" key="type" value="Phase"/>
-      </eAnnotations>
-    </node>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6S7UMToqEdy0TfEP3Pazog" name="" source="_6SoZSToqEdy0TfEP3Pazog" target="_6SyKVzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6S7UPDoqEdy0TfEP3Pazog" name="" source="_6SyKVzoqEdy0TfEP3Pazog" target="_6SyKZDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TFFOToqEdy0TfEP3Pazog" name="" source="_6SyKZDoqEdy0TfEP3Pazog" target="_6SyKSzoqEdy0TfEP3Pazog"/>
-  </uml:Activity>
-  <notation:Diagram xmi:id="_6SVeVDoqEdy0TfEP3Pazog" type="AD" element="_6SVeUDoqEdy0TfEP3Pazog" name="Scrum" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6SeoQDoqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6SeoQzoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SeoRDoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SeoRToqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SeoRjoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6SeoQToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="les sprints successifs qui constituent la release" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SoZQDoqEdy0TfEP3Pazog" x="299" y="87" width="86"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6SoZQToqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6SoZRDoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SoZRToqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SoZRjoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SoZRzoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6SoZQjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="Phase initiale avant le premier sprint" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SoZSDoqEdy0TfEP3Pazog" x="134" y="89" width="72"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6SyKQDoqEdy0TfEP3Pazog" type="1004" element="_6SoZSToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6SyKRjoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6SyKRzoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SyKSDoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6SyKSToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6SyKQToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6SyKQjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6SyKQzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6SyKRDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SyKSjoqEdy0TfEP3Pazog" x="39" y="38" width="20"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6SyKTDoqEdy0TfEP3Pazog" type="1001" element="_6SyKSzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6SyKUjoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6SyKUzoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6SyKVDoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6SyKVToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6SyKTToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6SyKTjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6SyKTzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6SyKUDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SyKVjoqEdy0TfEP3Pazog" x="456" y="36" width="24" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6SyKWzoqEdy0TfEP3Pazog" type="1010" element="_6SyKVzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6SyKYToqEdy0TfEP3Pazog" type="4009"/>
-      <children xmi:type="notation:Node" xmi:id="_6SyKYjoqEdy0TfEP3Pazog" type="4009"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6SyKXDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6SyKXToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6SyKXjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6SyKXzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SyKYzoqEdy0TfEP3Pazog" x="112" y="25" width="109"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6SyKaDoqEdy0TfEP3Pazog" type="1010" element="_6SyKZDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6SyKbjoqEdy0TfEP3Pazog" type="4009"/>
-      <children xmi:type="notation:Node" xmi:id="_6SyKbzoqEdy0TfEP3Pazog" type="4009"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6SyKaToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6SyKajoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6SyKazoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6SyKbDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6S7UMDoqEdy0TfEP3Pazog" x="295" y="25" width="92"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6SVeVToqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6SVeVjoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6SVeVzoqEdy0TfEP3Pazog"/>
-    <edges xmi:type="notation:Edge" xmi:id="_6S7UMjoqEdy0TfEP3Pazog" type="3001" element="_6S7UMToqEdy0TfEP3Pazog" source="_6SyKQDoqEdy0TfEP3Pazog" target="_6SyKWzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6S7UNzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6S7UODoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6S7UOToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6S7UOjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6S7UMzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6S7UNDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6S7UNToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6S7UOzoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6S7UPToqEdy0TfEP3Pazog" type="3001" element="_6S7UPDoqEdy0TfEP3Pazog" source="_6SyKWzoqEdy0TfEP3Pazog" target="_6SyKaDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TFFNDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFNToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TFFNjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFNzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TFFMDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TFFMToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TFFMjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TFFODoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TFFOjoqEdy0TfEP3Pazog" type="3001" element="_6TFFOToqEdy0TfEP3Pazog" source="_6SyKaDoqEdy0TfEP3Pazog" target="_6SyKTDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TFFPzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFQDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TFFQToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFQjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TFFOzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TFFPDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TFFPToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TFFQzoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-  </notation:Diagram>
-  <uml:Activity xmi:id="_6TFFRDoqEdy0TfEP3Pazog" name="Preparation Phase">
-    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6TFFRToqEdy0TfEP3Pazog" source="uma_element">
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TFFRjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_37TdkAL_EduOAKqB9I73uw"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TFFRzoqEdy0TfEP3Pazog" key="type" value="Phase"/>
-    </eAnnotations>
-    <node xmi:type="uml:InitialNode" xmi:id="_6TFFTDoqEdy0TfEP3Pazog" name="" outgoing="_6TOPWzoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ForkNode" xmi:id="_6TFFWDoqEdy0TfEP3Pazog" name="" outgoing="_6TOPZzoqEdy0TfEP3Pazog _6TOPczoqEdy0TfEP3Pazog" incoming="_6TOPWzoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:JoinNode" xmi:id="_6TOPIDoqEdy0TfEP3Pazog" name="" outgoing="_6TOPfzoqEdy0TfEP3Pazog" incoming="_6TYALzoqEdy0TfEP3Pazog _6TYAOzoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityFinalNode" xmi:id="_6TOPKDoqEdy0TfEP3Pazog" name="" incoming="_6TYAJDoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6TOPNDoqEdy0TfEP3Pazog" name="Planifier la release" outgoing="_6TYAJDoqEdy0TfEP3Pazog" incoming="_6TOPfzoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6TOPNToqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPNjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_zYT-EQMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPNzoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6TOPQToqEdy0TfEP3Pazog" name="Produire le backlog de produit initial" outgoing="_6TYALzoqEdy0TfEP3Pazog" incoming="_6TOPczoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6TOPQjoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPQzoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_7FGsMANkEduYd-55D-Aiqg"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPRDoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6TOPTjoqEdy0TfEP3Pazog" name="Travaux de préparation" outgoing="_6TYAOzoqEdy0TfEP3Pazog" incoming="_6TOPZzoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6TOPTzoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPUDoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_O6XmcANlEduYd-55D-Aiqg"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6TOPUToqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TOPWzoqEdy0TfEP3Pazog" name="" source="_6TFFTDoqEdy0TfEP3Pazog" target="_6TFFWDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TOPZzoqEdy0TfEP3Pazog" name="" source="_6TFFWDoqEdy0TfEP3Pazog" target="_6TOPTjoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TOPczoqEdy0TfEP3Pazog" name="" source="_6TFFWDoqEdy0TfEP3Pazog" target="_6TOPQToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TOPfzoqEdy0TfEP3Pazog" name="" source="_6TOPIDoqEdy0TfEP3Pazog" target="_6TOPNDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TYAJDoqEdy0TfEP3Pazog" name="" source="_6TOPNDoqEdy0TfEP3Pazog" target="_6TOPKDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TYALzoqEdy0TfEP3Pazog" name="" source="_6TOPQToqEdy0TfEP3Pazog" target="_6TOPIDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6TYAOzoqEdy0TfEP3Pazog" name="" source="_6TOPTjoqEdy0TfEP3Pazog" target="_6TOPIDoqEdy0TfEP3Pazog"/>
-  </uml:Activity>
-  <notation:Diagram xmi:id="_6TFFSDoqEdy0TfEP3Pazog" type="AD" element="_6TFFRDoqEdy0TfEP3Pazog" name="Preparation Phase" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6TFFTToqEdy0TfEP3Pazog" type="1004" element="_6TFFTDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TFFUzoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFVDoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TFFVToqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TFFVjoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TFFTjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TFFTzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TFFUDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TFFUToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TFFVzoqEdy0TfEP3Pazog" x="187" y="-6" width="20"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TFFWToqEdy0TfEP3Pazog" type="1003" element="_6TFFWDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TFFWjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TFFWzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TFFXDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TFFXToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TFFXzoqEdy0TfEP3Pazog" x="162" y="55" width="81" height="5"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TOPIToqEdy0TfEP3Pazog" type="1006" element="_6TOPIDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPIjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TOPIzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TOPJDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPJToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TOPJzoqEdy0TfEP3Pazog" x="152" y="171" width="100" height="5"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TOPKToqEdy0TfEP3Pazog" type="1001" element="_6TOPKDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPLzoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPMDoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TOPMToqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPMjoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPKjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TOPKzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TOPLDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPLToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TOPMzoqEdy0TfEP3Pazog" x="190" y="282" width="24" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TOPODoqEdy0TfEP3Pazog" type="1009" element="_6TOPNDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPPjoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6TOPPzoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPOToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TOPOjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TOPOzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPPDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TOPQDoqEdy0TfEP3Pazog" x="158" y="214" width="93"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TOPRToqEdy0TfEP3Pazog" type="1009" element="_6TOPQToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPSzoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6TOPTDoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPRjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TOPRzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TOPSDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPSToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TOPTToqEdy0TfEP3Pazog" x="14" y="94" width="177"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6TOPUjoqEdy0TfEP3Pazog" type="1009" element="_6TOPTjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPWDoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6TOPWToqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPUzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TOPVDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6TOPVToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPVjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6TOPWjoqEdy0TfEP3Pazog" x="255" y="90" width="119"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6TFFSToqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6TFFSjoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6TFFSzoqEdy0TfEP3Pazog"/>
-    <edges xmi:type="notation:Edge" xmi:id="_6TOPXDoqEdy0TfEP3Pazog" type="3001" element="_6TOPWzoqEdy0TfEP3Pazog" source="_6TFFTToqEdy0TfEP3Pazog" target="_6TFFWToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPYToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPYjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TOPYzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPZDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TOPXToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPXjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPXzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TOPZjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TOPZToqEdy0TfEP3Pazog" id="(0.44444445,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TOPaDoqEdy0TfEP3Pazog" type="3001" element="_6TOPZzoqEdy0TfEP3Pazog" source="_6TFFWToqEdy0TfEP3Pazog" target="_6TOPUjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPbToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPbjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TOPbzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPcDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TOPaToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPajoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPazoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TOPcjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TOPcToqEdy0TfEP3Pazog" id="(0.8271605,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TOPdDoqEdy0TfEP3Pazog" type="3001" element="_6TOPczoqEdy0TfEP3Pazog" source="_6TFFWToqEdy0TfEP3Pazog" target="_6TOPRToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPeToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPejoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TOPezoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPfDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TOPdToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPdjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPdzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TOPfjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TOPfToqEdy0TfEP3Pazog" id="(0.20987654,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TOPgDoqEdy0TfEP3Pazog" type="3001" element="_6TOPfzoqEdy0TfEP3Pazog" source="_6TOPIToqEdy0TfEP3Pazog" target="_6TOPODoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TOPhToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TOPhjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TYAIDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYAIToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TOPgToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TOPgjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TOPgzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TYAIzoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TYAIjoqEdy0TfEP3Pazog" id="(0.49,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TYAJToqEdy0TfEP3Pazog" type="3001" element="_6TYAJDoqEdy0TfEP3Pazog" source="_6TOPODoqEdy0TfEP3Pazog" target="_6TOPKToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TYAKjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYAKzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TYALDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYALToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TYAJjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TYAJzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TYAKDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TYALjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TYAMDoqEdy0TfEP3Pazog" type="3001" element="_6TYALzoqEdy0TfEP3Pazog" source="_6TOPRToqEdy0TfEP3Pazog" target="_6TOPIToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TYANToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYANjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TYANzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYAODoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TYAMToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TYAMjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TYAMzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TYAOjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TYAOToqEdy0TfEP3Pazog" id="(0.42,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6TYAPDoqEdy0TfEP3Pazog" type="3001" element="_6TYAOzoqEdy0TfEP3Pazog" source="_6TOPUjoqEdy0TfEP3Pazog" target="_6TOPIToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6TYAQToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYAQjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6TYAQzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6TYARDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6TYAPToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6TYAPjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6TYAPzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6TYARjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6TYARToqEdy0TfEP3Pazog" id="(0.54,0.0)"/>
-    </edges>
-  </notation:Diagram>
-  <org.eclipse.epf.diagram.model:ActivityDetailDiagram xmi:id="_6ThxKToqEdy0TfEP3Pazog">
-    <linkedElement xmi:type="org.eclipse.epf.uma:Phase" href="uma://_9llsAAAvEdubGMceRDupFQ#_37TdkAL_EduOAKqB9I73uw"/>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:RoleTaskComposite" xmi:id="_6ThxKjoqEdy0TfEP3Pazog">
-      <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEsAMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:RoleNode" xmi:id="_6ThxKzoqEdy0TfEP3Pazog" name="Directeur Produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEsAMAEduOAKqB9I73uw"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6ThxLDoqEdy0TfEP3Pazog" incomingConnections="_6ThxMToqEdy0TfEP3Pazog" name="Planifier la release">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYT-EQMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6ThxLToqEdy0TfEP3Pazog" target="_6ThxMzoqEdy0TfEP3Pazog"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6ThxLjoqEdy0TfEP3Pazog" name="Produire le backlog de produit initial">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_7FGsMANkEduYd-55D-Aiqg"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6ThxLzoqEdy0TfEP3Pazog" target="_6ThxNToqEdy0TfEP3Pazog"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6ThxMDoqEdy0TfEP3Pazog" type="1">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYT-EQMAEduOAKqB9I73uw"/>
-      <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6ThxMToqEdy0TfEP3Pazog" target="_6ThxLDoqEdy0TfEP3Pazog"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6ThxMjoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEtAMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6ThxMzoqEdy0TfEP3Pazog" incomingConnections="_6ThxLToqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYT-EQMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6ThxNDoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEtAMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6ThxNToqEdy0TfEP3Pazog" incomingConnections="_6ThxLzoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_7FGsMANkEduYd-55D-Aiqg"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6ThxNjoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEtAMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:RoleTaskComposite" xmi:id="_6ThxNzoqEdy0TfEP3Pazog">
-      <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEsgMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:RoleNode" xmi:id="_6ThxODoqEdy0TfEP3Pazog" name="Equipe Scrum">
-        <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_zYaEsgMAEduOAKqB9I73uw"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6ThxOToqEdy0TfEP3Pazog" name="Travaux de préparation">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_O6XmcANlEduYd-55D-Aiqg"/>
-      </nodes>
-    </nodes>
-  </org.eclipse.epf.diagram.model:ActivityDetailDiagram>
-  <notation:Diagram xmi:id="_6ThxOjoqEdy0TfEP3Pazog" type="ADD" element="_6ThxKToqEdy0TfEP3Pazog" name="Preparation Phase" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6ThxPjoqEdy0TfEP3Pazog" type="1001" element="_6ThxKjoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxPzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxQDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxQToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxQjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxRDoqEdy0TfEP3Pazog" x="30" y="88" width="316" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6ThxRToqEdy0TfEP3Pazog" type="1002" element="_6ThxMDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxRjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxRzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxSDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxSToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxSzoqEdy0TfEP3Pazog" x="127" y="1" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6ThxTDoqEdy0TfEP3Pazog" type="1002" element="_6ThxMzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxTToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxTjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxTzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxUDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxUjoqEdy0TfEP3Pazog" x="127" y="175" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6ThxUzoqEdy0TfEP3Pazog" type="1002" element="_6ThxNToqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxVDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxVToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxVjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxVzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxWToqEdy0TfEP3Pazog" x="220" y="175" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6ThxWjoqEdy0TfEP3Pazog" type="1001" element="_6ThxNzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxWzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxXDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxXToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxXjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxYDoqEdy0TfEP3Pazog" x="30" y="283" width="239" height="53"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6ThxOzoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6ThxPDoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxPToqEdy0TfEP3Pazog"/>
-  </notation:Diagram>
-  <uml:Activity xmi:id="_6ThxYToqEdy0TfEP3Pazog" name="Sprint Phase">
-    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6ThxYjoqEdy0TfEP3Pazog" source="uma_element">
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ThxYzoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_NSW6sQMAEduOAKqB9I73uw"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ThxZDoqEdy0TfEP3Pazog" key="type" value="Phase"/>
-    </eAnnotations>
-    <node xmi:type="uml:InitialNode" xmi:id="_6ThxaToqEdy0TfEP3Pazog" name="" outgoing="_6Tq7TDoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityFinalNode" xmi:id="_6ThxdToqEdy0TfEP3Pazog" name="" incoming="_6T0sKToqEdy0TfEP3Pazog _6T0sQToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:DecisionNode" xmi:id="_6Tq7EDoqEdy0TfEP3Pazog" name=" " outgoing="_6T0sEToqEdy0TfEP3Pazog _6T0sHToqEdy0TfEP3Pazog _6T0sKToqEdy0TfEP3Pazog" incoming="_6T0sNToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:StructuredActivityNode" xmi:id="_6Tq7MjoqEdy0TfEP3Pazog" name="Sprint" outgoing="_6T0sNToqEdy0TfEP3Pazog" incoming="_6Tq7TDoqEdy0TfEP3Pazog _6T0sEToqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Tq7MzoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Tq7NDoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_SoXWEQMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Tq7NToqEdy0TfEP3Pazog" key="type" value="Iteration"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6Tq7PzoqEdy0TfEP3Pazog" name="Travaux de livraison" outgoing="_6T0sQToqEdy0TfEP3Pazog" incoming="_6T0sHToqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Tq7QDoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Tq7QToqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_zbM2QIGBEduKE9hnyImx1Q"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Tq7QjoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6Tq7TDoqEdy0TfEP3Pazog" name="" source="_6ThxaToqEdy0TfEP3Pazog" target="_6Tq7MjoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6T0sEToqEdy0TfEP3Pazog" name="" source="_6Tq7EDoqEdy0TfEP3Pazog" target="_6Tq7MjoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6T0sHToqEdy0TfEP3Pazog" name="" source="_6Tq7EDoqEdy0TfEP3Pazog" target="_6Tq7PzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6T0sKToqEdy0TfEP3Pazog" name="" source="_6Tq7EDoqEdy0TfEP3Pazog" target="_6ThxdToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6T0sNToqEdy0TfEP3Pazog" name="" source="_6Tq7MjoqEdy0TfEP3Pazog" target="_6Tq7EDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6T0sQToqEdy0TfEP3Pazog" name="" source="_6Tq7PzoqEdy0TfEP3Pazog" target="_6ThxdToqEdy0TfEP3Pazog"/>
-  </uml:Activity>
-  <notation:Diagram xmi:id="_6ThxZToqEdy0TfEP3Pazog" type="AD" element="_6ThxYToqEdy0TfEP3Pazog" name="Sprint Phase" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6ThxajoqEdy0TfEP3Pazog" type="1004" element="_6ThxaToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6ThxcDoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6ThxcToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6ThxcjoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6ThxczoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxazoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxbDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxbToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxbjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxdDoqEdy0TfEP3Pazog" x="94" y="62" width="19"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6ThxdjoqEdy0TfEP3Pazog" type="1001" element="_6ThxdToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6ThxfDoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6ThxfToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6ThxfjoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6ThxfzoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6ThxdzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxeDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6ThxeToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6ThxejoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ThxgDoqEdy0TfEP3Pazog" x="613" y="60" width="26" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7EToqEdy0TfEP3Pazog" type="1005" element="_6Tq7EDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7FzoqEdy0TfEP3Pazog" type="4004"/>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7GDoqEdy0TfEP3Pazog" type="4004"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6Tq7EjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6Tq7EzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6Tq7FDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6Tq7FToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7GToqEdy0TfEP3Pazog" x="343" y="60" width="43" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7GjoqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7HToqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7HjoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7HzoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7IDoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6Tq7GzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="livraison à préparer" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7IToqEdy0TfEP3Pazog" x="377" y="102" width="69"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7IjoqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7JToqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7JjoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7JzoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7KDoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6Tq7IzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="encore un sprint" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7KToqEdy0TfEP3Pazog" x="237" width="79"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7KjoqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7LToqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7LjoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7LzoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7MDoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6Tq7KzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="fin de release" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7MToqEdy0TfEP3Pazog" x="457" y="54" width="66"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7NjoqEdy0TfEP3Pazog" type="1011" element="_6Tq7MjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7PDoqEdy0TfEP3Pazog" type="4010"/>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7PToqEdy0TfEP3Pazog" type="4010"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6Tq7NzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6Tq7ODoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6Tq7OToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6Tq7OjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7PjoqEdy0TfEP3Pazog" x="204" y="49" width="40"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6Tq7QzoqEdy0TfEP3Pazog" type="1009" element="_6Tq7PzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7SToqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7SjoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6Tq7RDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6Tq7RToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6Tq7RjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6Tq7RzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Tq7SzoqEdy0TfEP3Pazog" x="457" y="104" width="82"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6ThxZjoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6ThxZzoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6ThxaDoqEdy0TfEP3Pazog"/>
-    <edges xmi:type="notation:Edge" xmi:id="_6Tq7TToqEdy0TfEP3Pazog" type="3001" element="_6Tq7TDoqEdy0TfEP3Pazog" source="_6ThxajoqEdy0TfEP3Pazog" target="_6Tq7NjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6Tq7UjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6Tq7UzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6Tq7VDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6Tq7VToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6Tq7TjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6Tq7TzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6Tq7UDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sEDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6T0sEjoqEdy0TfEP3Pazog" type="3001" element="_6T0sEToqEdy0TfEP3Pazog" source="_6Tq7EToqEdy0TfEP3Pazog" target="_6Tq7NjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T0sFzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sGDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T0sGToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sGjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6T0sEzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sFDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sFToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sHDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[-1, -43, 139, -55]$[-142, -43, -2, -55]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6T0sGzoqEdy0TfEP3Pazog" id="(0.4883721,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6T0sHjoqEdy0TfEP3Pazog" type="3001" element="_6T0sHToqEdy0TfEP3Pazog" source="_6Tq7EToqEdy0TfEP3Pazog" target="_6Tq7QzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T0sIzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sJDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T0sJToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sJjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6T0sHzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sIDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sIToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sKDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[-1, 50, -135, -1]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6T0sJzoqEdy0TfEP3Pazog" id="(0.4883721,0.9583333)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6T0sKjoqEdy0TfEP3Pazog" type="3001" element="_6T0sKToqEdy0TfEP3Pazog" source="_6Tq7EToqEdy0TfEP3Pazog" target="_6ThxdjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T0sLzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sMDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T0sMToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sMjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6T0sKzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sLDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sLToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sNDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[190, 0, -51, -1]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6T0sMzoqEdy0TfEP3Pazog" id="(0.9767442,0.45833334)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6T0sNjoqEdy0TfEP3Pazog" type="3001" element="_6T0sNToqEdy0TfEP3Pazog" source="_6Tq7NjoqEdy0TfEP3Pazog" target="_6Tq7EToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T0sOzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sPDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T0sPToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sPjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6T0sNzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sODoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sOToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sQDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6T0sPzoqEdy0TfEP3Pazog" id="(0.0,0.45833334)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6T0sQjoqEdy0TfEP3Pazog" type="3001" element="_6T0sQToqEdy0TfEP3Pazog" source="_6Tq7QzoqEdy0TfEP3Pazog" target="_6ThxdjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T0sRzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sSDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T0sSToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T0sSjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6T0sQzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sRDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sRToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6T0sSzoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[128, -1, 0, 61]$[0, 0, 0, 0]"/>
-    </edges>
-  </notation:Diagram>
-  <uml:Activity xmi:id="_6T0sTDoqEdy0TfEP3Pazog" name="Sprint (n)">
-    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6T0sTToqEdy0TfEP3Pazog" source="uma_element">
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T0sTjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_SoXWEQMAEduOAKqB9I73uw"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T0sTzoqEdy0TfEP3Pazog" key="type" value="Iteration"/>
-    </eAnnotations>
-    <node xmi:type="uml:InitialNode" xmi:id="_6T0sVDoqEdy0TfEP3Pazog" name="" outgoing="_6UHnKjoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityFinalNode" xmi:id="_6T92BToqEdy0TfEP3Pazog" name="" incoming="_6URYFzoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:DecisionNode" xmi:id="_6T92EToqEdy0TfEP3Pazog" name=" " outgoing="_6UHnNToqEdy0TfEP3Pazog _6UHnQToqEdy0TfEP3Pazog" incoming="_6URYLToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ForkNode" xmi:id="_6T92GzoqEdy0TfEP3Pazog" name="" outgoing="_6UHnTjoqEdy0TfEP3Pazog _6UHnWjoqEdy0TfEP3Pazog _6UHnZjoqEdy0TfEP3Pazog" incoming="_6UHncjoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:MergeNode" xmi:id="_6T92KzoqEdy0TfEP3Pazog" name=" " outgoing="_6UHncjoqEdy0TfEP3Pazog" incoming="_6UHnQToqEdy0TfEP3Pazog _6URYCzoqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:JoinNode" xmi:id="_6T92NToqEdy0TfEP3Pazog" name="" outgoing="_6UHnfzoqEdy0TfEP3Pazog" incoming="_6UHnizoqEdy0TfEP3Pazog _6UHnlzoqEdy0TfEP3Pazog _6URYOToqEdy0TfEP3Pazog"/>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6T92RToqEdy0TfEP3Pazog" name="Gérer les problèmes" outgoing="_6UHnizoqEdy0TfEP3Pazog" incoming="_6UHnWjoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6T92RjoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92RzoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0AMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92SDoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6T92UjoqEdy0TfEP3Pazog" name="Mettre à jour le backlog de produit" outgoing="_6UHnlzoqEdy0TfEP3Pazog" incoming="_6UHnTjoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6T92UzoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92VDoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0QMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92VToqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6T92XzoqEdy0TfEP3Pazog" name="Planifier le sprint" outgoing="_6URYCzoqEdy0TfEP3Pazog" incoming="_6UHnKjoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6T92YDoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92YToqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0wMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92YjoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6T92bDoqEdy0TfEP3Pazog" name="Rétrospective" outgoing="_6URYFzoqEdy0TfEP3Pazog" incoming="_6URYIjoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6T92bToqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92bjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1AMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6T92bzoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6UHnAzoqEdy0TfEP3Pazog" name="Faire la revue du sprint" outgoing="_6URYIjoqEdy0TfEP3Pazog" incoming="_6UHnNToqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6UHnBDoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnBToqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1QMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnBjoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6UHnEDoqEdy0TfEP3Pazog" name="Mêlée quotidienne" outgoing="_6URYLToqEdy0TfEP3Pazog" incoming="_6UHnfzoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6UHnEToqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnEjoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1gMAEduOAKqB9I73uw"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnEzoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <node xmi:type="uml:ActivityParameterNode" xmi:id="_6UHnHToqEdy0TfEP3Pazog" name="Travaux quotidiens" outgoing="_6URYOToqEdy0TfEP3Pazog" incoming="_6UHnZjoqEdy0TfEP3Pazog">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6UHnHjoqEdy0TfEP3Pazog" source="uma_element">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnHzoqEdy0TfEP3Pazog" key="uri" value="uma://_9llsAAAvEdubGMceRDupFQ#_nXmKUANlEduYd-55D-Aiqg"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UHnIDoqEdy0TfEP3Pazog" key="type" value="Task"/>
-      </eAnnotations>
-    </node>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnKjoqEdy0TfEP3Pazog" name="" source="_6T0sVDoqEdy0TfEP3Pazog" target="_6T92XzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnNToqEdy0TfEP3Pazog" name="" source="_6T92EToqEdy0TfEP3Pazog" target="_6UHnAzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnQToqEdy0TfEP3Pazog" name="" source="_6T92EToqEdy0TfEP3Pazog" target="_6T92KzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnTjoqEdy0TfEP3Pazog" name="" source="_6T92GzoqEdy0TfEP3Pazog" target="_6T92UjoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnWjoqEdy0TfEP3Pazog" name="" source="_6T92GzoqEdy0TfEP3Pazog" target="_6T92RToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnZjoqEdy0TfEP3Pazog" name="" source="_6T92GzoqEdy0TfEP3Pazog" target="_6UHnHToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHncjoqEdy0TfEP3Pazog" name="" source="_6T92KzoqEdy0TfEP3Pazog" target="_6T92GzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnfzoqEdy0TfEP3Pazog" name="" source="_6T92NToqEdy0TfEP3Pazog" target="_6UHnEDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnizoqEdy0TfEP3Pazog" name="" source="_6T92RToqEdy0TfEP3Pazog" target="_6T92NToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6UHnlzoqEdy0TfEP3Pazog" name="" source="_6T92UjoqEdy0TfEP3Pazog" target="_6T92NToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6URYCzoqEdy0TfEP3Pazog" name="" source="_6T92XzoqEdy0TfEP3Pazog" target="_6T92KzoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6URYFzoqEdy0TfEP3Pazog" name="" source="_6T92bDoqEdy0TfEP3Pazog" target="_6T92BToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6URYIjoqEdy0TfEP3Pazog" name="" source="_6UHnAzoqEdy0TfEP3Pazog" target="_6T92bDoqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6URYLToqEdy0TfEP3Pazog" name="" source="_6UHnEDoqEdy0TfEP3Pazog" target="_6T92EToqEdy0TfEP3Pazog"/>
-    <edge xmi:type="uml:ControlFlow" xmi:id="_6URYOToqEdy0TfEP3Pazog" name="" source="_6UHnHToqEdy0TfEP3Pazog" target="_6T92NToqEdy0TfEP3Pazog"/>
-  </uml:Activity>
-  <notation:Diagram xmi:id="_6T0sUDoqEdy0TfEP3Pazog" type="AD" element="_6T0sTDoqEdy0TfEP3Pazog" name="Sprint (n)" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6T0sVToqEdy0TfEP3Pazog" type="1004" element="_6T0sVDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92ADoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T92AToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92AjoqEdy0TfEP3Pazog" type="4003">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T92AzoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T0sVjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T0sVzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T0sWDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T0sWToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92BDoqEdy0TfEP3Pazog" x="9" y="15" width="20"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92BjoqEdy0TfEP3Pazog" type="1001" element="_6T92BToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92DDoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T92DToqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92DjoqEdy0TfEP3Pazog" type="4001">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6T92DzoqEdy0TfEP3Pazog" y="5"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92BzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92CDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92CToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92CjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92EDoqEdy0TfEP3Pazog" x="531" y="342" width="24" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92EjoqEdy0TfEP3Pazog" type="1005" element="_6T92EToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92GDoqEdy0TfEP3Pazog" type="4004"/>
-      <children xmi:type="notation:Node" xmi:id="_6T92GToqEdy0TfEP3Pazog" type="4004"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92EzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92FDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92FToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92FjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92GjoqEdy0TfEP3Pazog" x="206" y="274" width="48" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92HDoqEdy0TfEP3Pazog" type="1003" element="_6T92GzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92HToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92HjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92HzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92IDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92IjoqEdy0TfEP3Pazog" x="180" y="106" width="100" height="5"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92IzoqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6T92JjoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92JzoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92KDoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92KToqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6T92JDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="date de fin de sprint atteinte" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92KjoqEdy0TfEP3Pazog" x="154" y="297" width="69"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92LDoqEdy0TfEP3Pazog" type="1002" element="_6T92KzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92MjoqEdy0TfEP3Pazog" type="4002"/>
-      <children xmi:type="notation:Node" xmi:id="_6T92MzoqEdy0TfEP3Pazog" type="4002"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92LToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92LjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92LzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92MDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92NDoqEdy0TfEP3Pazog" x="206" y="66" width="48" height="24"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92NjoqEdy0TfEP3Pazog" type="1006" element="_6T92NToqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92NzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92ODoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92OToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92OjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92PDoqEdy0TfEP3Pazog" x="180" y="198" width="100" height="5"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92PToqEdy0TfEP3Pazog" type="Text">
-      <children xmi:type="notation:Node" xmi:id="_6T92QDoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92QToqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92QjoqEdy0TfEP3Pazog" type="DiagramName">
-        <element xsi:nil="true"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6T92QzoqEdy0TfEP3Pazog" type="Description">
-        <element xsi:nil="true"/>
-      </children>
-      <styles xmi:type="notation:ShapeStyle" xmi:id="_6T92PjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8" description="encore des jours dans le sprint" lineColor="0"/>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92RDoqEdy0TfEP3Pazog" x="289" y="266" width="165"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92SToqEdy0TfEP3Pazog" type="1009" element="_6T92RToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92TzoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6T92UDoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92SjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92SzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92TDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92TToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92UToqEdy0TfEP3Pazog" x="322" y="134" width="103"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92VjoqEdy0TfEP3Pazog" type="1009" element="_6T92UjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92XDoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6T92XToqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92VzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92WDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92WToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92WjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92XjoqEdy0TfEP3Pazog" x="19" y="127" width="136"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92YzoqEdy0TfEP3Pazog" type="1009" element="_6T92XzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6T92aToqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6T92ajoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92ZDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92ZToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92ZjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92ZzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6T92azoqEdy0TfEP3Pazog" x="190" y="3" width="83"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6T92cDoqEdy0TfEP3Pazog" type="1009" element="_6T92bDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnADoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6UHnAToqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6T92cToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T92cjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6T92czoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6T92dDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UHnAjoqEdy0TfEP3Pazog" x="346" y="332" width="71"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UHnBzoqEdy0TfEP3Pazog" type="1009" element="_6UHnAzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnDToqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6UHnDjoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnCDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UHnCToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UHnCjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnCzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UHnDzoqEdy0TfEP3Pazog" x="175" y="332" width="117"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UHnFDoqEdy0TfEP3Pazog" type="1009" element="_6UHnEDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnGjoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6UHnGzoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnFToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UHnFjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UHnFzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnGDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UHnHDoqEdy0TfEP3Pazog" x="187" y="217" width="91"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UHnIToqEdy0TfEP3Pazog" type="1009" element="_6UHnHToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnJzoqEdy0TfEP3Pazog" type="4008"/>
-      <children xmi:type="notation:Node" xmi:id="_6UHnKDoqEdy0TfEP3Pazog" type="4008"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnIjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UHnIzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UHnJDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnJToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UHnKToqEdy0TfEP3Pazog" x="184" y="134" width="97"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6T0sUToqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6T0sUjoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6T0sUzoqEdy0TfEP3Pazog"/>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnKzoqEdy0TfEP3Pazog" type="3001" element="_6UHnKjoqEdy0TfEP3Pazog" source="_6T0sVToqEdy0TfEP3Pazog" target="_6T92YzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnMDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnMToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnMjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnMzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnLDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnLToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnLjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnNDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnNjoqEdy0TfEP3Pazog" type="3001" element="_6UHnNToqEdy0TfEP3Pazog" source="_6T92EjoqEdy0TfEP3Pazog" target="_6UHnBzoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnOzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnPDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnPToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnPjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnNzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnODoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnOToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnQDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnPzoqEdy0TfEP3Pazog" id="(0.47916666,0.9583333)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnQjoqEdy0TfEP3Pazog" type="3001" element="_6UHnQToqEdy0TfEP3Pazog" source="_6T92EjoqEdy0TfEP3Pazog" target="_6T92LDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnRzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnSDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnSToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnSjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnQzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnRDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnRToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnTToqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[238, 0, 238, 208]$[239, -209, 239, -1]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnSzoqEdy0TfEP3Pazog" id="(0.9791667,0.45833334)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnTDoqEdy0TfEP3Pazog" id="(0.9791667,0.45833334)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnTzoqEdy0TfEP3Pazog" type="3001" element="_6UHnTjoqEdy0TfEP3Pazog" source="_6T92HDoqEdy0TfEP3Pazog" target="_6T92VjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnVDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnVToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnVjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnVzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnUDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnUToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnUjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnWToqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnWDoqEdy0TfEP3Pazog" id="(0.47,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnWzoqEdy0TfEP3Pazog" type="3001" element="_6UHnWjoqEdy0TfEP3Pazog" source="_6T92HDoqEdy0TfEP3Pazog" target="_6T92SToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnYDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnYToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnYjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnYzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnXDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnXToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnXjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnZToqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnZDoqEdy0TfEP3Pazog" id="(0.5,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnZzoqEdy0TfEP3Pazog" type="3001" element="_6UHnZjoqEdy0TfEP3Pazog" source="_6T92HDoqEdy0TfEP3Pazog" target="_6UHnIToqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnbDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnbToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnbjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnbzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnaDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnaToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnajoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHncToqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHncDoqEdy0TfEP3Pazog" id="(0.5,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnczoqEdy0TfEP3Pazog" type="3001" element="_6UHncjoqEdy0TfEP3Pazog" source="_6T92LDoqEdy0TfEP3Pazog" target="_6T92HDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHneDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHneToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnejoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnezoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHndDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHndToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHndjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnfjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnfDoqEdy0TfEP3Pazog" id="(0.47916666,0.9583333)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnfToqEdy0TfEP3Pazog" id="(0.46,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHngDoqEdy0TfEP3Pazog" type="3001" element="_6UHnfzoqEdy0TfEP3Pazog" source="_6T92NjoqEdy0TfEP3Pazog" target="_6UHnFDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnhToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnhjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnhzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHniDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHngToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHngjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHngzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnijoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHniToqEdy0TfEP3Pazog" id="(0.44,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6UHnjDoqEdy0TfEP3Pazog" type="3001" element="_6UHnizoqEdy0TfEP3Pazog" source="_6T92SToqEdy0TfEP3Pazog" target="_6T92NjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6UHnkToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnkjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6UHnkzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6UHnlDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6UHnjToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UHnjjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UHnjzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6UHnljoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6UHnlToqEdy0TfEP3Pazog" id="(0.48,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYADoqEdy0TfEP3Pazog" type="3001" element="_6UHnlzoqEdy0TfEP3Pazog" source="_6T92VjoqEdy0TfEP3Pazog" target="_6T92NjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYBToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYBjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYBzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYCDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYAToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYAjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYAzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYCjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6URYCToqEdy0TfEP3Pazog" id="(0.38,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYDDoqEdy0TfEP3Pazog" type="3001" element="_6URYCzoqEdy0TfEP3Pazog" source="_6T92YzoqEdy0TfEP3Pazog" target="_6T92LDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYEToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYEjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYEzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYFDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYDToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYDjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYDzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYFjoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6URYFToqEdy0TfEP3Pazog" id="(0.47916666,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYGDoqEdy0TfEP3Pazog" type="3001" element="_6URYFzoqEdy0TfEP3Pazog" source="_6T92cDoqEdy0TfEP3Pazog" target="_6T92BjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYHToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYHjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYHzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYIDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYGToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYGjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYGzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYIToqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYIzoqEdy0TfEP3Pazog" type="3001" element="_6URYIjoqEdy0TfEP3Pazog" source="_6UHnBzoqEdy0TfEP3Pazog" target="_6T92cDoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYKDoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYKToqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYKjoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYKzoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYJDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYJToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYJjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYLDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYLjoqEdy0TfEP3Pazog" type="3001" element="_6URYLToqEdy0TfEP3Pazog" source="_6UHnFDoqEdy0TfEP3Pazog" target="_6T92EjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYMzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYNDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYNToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYNjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYLzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYMDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYMToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYODoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6URYNzoqEdy0TfEP3Pazog" id="(0.47916666,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Edge" xmi:id="_6URYOjoqEdy0TfEP3Pazog" type="3001" element="_6URYOToqEdy0TfEP3Pazog" source="_6UHnIToqEdy0TfEP3Pazog" target="_6T92NjoqEdy0TfEP3Pazog">
-      <children xmi:type="notation:Node" xmi:id="_6URYPzoqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYQDoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_6URYQToqEdy0TfEP3Pazog" type="4012">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_6URYQjoqEdy0TfEP3Pazog" y="40"/>
-      </children>
-      <styles xmi:type="notation:RoutingStyle" xmi:id="_6URYOzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FontStyle" xmi:id="_6URYPDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6URYPToqEdy0TfEP3Pazog" lineColor="0"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6URYRDoqEdy0TfEP3Pazog" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6URYQzoqEdy0TfEP3Pazog" id="(0.5,0.0)"/>
-    </edges>
-  </notation:Diagram>
-  <org.eclipse.epf.diagram.model:ActivityDetailDiagram xmi:id="_6UaiDjoqEdy0TfEP3Pazog">
-    <linkedElement xmi:type="org.eclipse.epf.uma:Iteration" href="uma://_9llsAAAvEdubGMceRDupFQ#_SoXWEQMAEduOAKqB9I73uw"/>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:RoleTaskComposite" xmi:id="_6UaiDzoqEdy0TfEP3Pazog">
-      <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1wMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:RoleNode" xmi:id="_6UaiEDoqEdy0TfEP3Pazog" name="ScrumMaster">
-        <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1wMAEduOAKqB9I73uw"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiEToqEdy0TfEP3Pazog" name="Gérer les problèmes">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0AMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiEjoqEdy0TfEP3Pazog" target="_6UaiFToqEdy0TfEP3Pazog"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiEzoqEdy0TfEP3Pazog" incomingConnections="_6UaiNToqEdy0TfEP3Pazog" name="Mêlée quotidienne">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1gMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiFDoqEdy0TfEP3Pazog" target="_6UaiNzoqEdy0TfEP3Pazog"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiFToqEdy0TfEP3Pazog" incomingConnections="_6UaiEjoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0AMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiFjoqEdy0TfEP3Pazog" name="Backlog du sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2wMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:RoleTaskComposite" xmi:id="_6UaiFzoqEdy0TfEP3Pazog">
-      <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2AMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:RoleNode" xmi:id="_6UaiGDoqEdy0TfEP3Pazog" name="Directeur Produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2AMAEduOAKqB9I73uw"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiGToqEdy0TfEP3Pazog" incomingConnections="_6UaiHDoqEdy0TfEP3Pazog" name="Mettre à jour le backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0QMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiGjoqEdy0TfEP3Pazog" target="_6UaiHjoqEdy0TfEP3Pazog"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiGzoqEdy0TfEP3Pazog" type="1">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0QMAEduOAKqB9I73uw"/>
-      <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiHDoqEdy0TfEP3Pazog" target="_6UaiGToqEdy0TfEP3Pazog"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiHToqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3AMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiHjoqEdy0TfEP3Pazog" incomingConnections="_6UaiGjoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0QMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiHzoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3AMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:RoleTaskComposite" xmi:id="_6UaiIDoqEdy0TfEP3Pazog">
-      <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2gMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:RoleNode" xmi:id="_6UaiIToqEdy0TfEP3Pazog" name="Equipe Scrum">
-        <linkedElement xmi:type="org.eclipse.epf.uma:RoleDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2gMAEduOAKqB9I73uw"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiIjoqEdy0TfEP3Pazog" incomingConnections="_6UaiKToqEdy0TfEP3Pazog" name="Planifier le sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0wMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiIzoqEdy0TfEP3Pazog" target="_6UaiKzoqEdy0TfEP3Pazog"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiJDoqEdy0TfEP3Pazog" name="Rétrospective">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1AMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiJToqEdy0TfEP3Pazog" target="_6UaiLToqEdy0TfEP3Pazog"/>
-      </nodes>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:TaskNode" xmi:id="_6UaiJjoqEdy0TfEP3Pazog" incomingConnections="_6UaiMDoqEdy0TfEP3Pazog" name="Faire la revue du sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1QMAEduOAKqB9I73uw"/>
-        <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiJzoqEdy0TfEP3Pazog" target="_6UaiMjoqEdy0TfEP3Pazog"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiKDoqEdy0TfEP3Pazog" type="1">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0wMAEduOAKqB9I73uw"/>
-      <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiKToqEdy0TfEP3Pazog" target="_6UaiIjoqEdy0TfEP3Pazog"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiKjoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3AMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiKzoqEdy0TfEP3Pazog" incomingConnections="_6UaiIzoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG0wMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiLDoqEdy0TfEP3Pazog" name="Backlog du sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2wMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiLToqEdy0TfEP3Pazog" incomingConnections="_6UaiJToqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1AMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiLjoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3AMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiLzoqEdy0TfEP3Pazog" type="1">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1QMAEduOAKqB9I73uw"/>
-      <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiMDoqEdy0TfEP3Pazog" target="_6UaiJjoqEdy0TfEP3Pazog"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiMToqEdy0TfEP3Pazog" name="Incrément de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3QMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiMjoqEdy0TfEP3Pazog" incomingConnections="_6UaiJzoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1QMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiMzoqEdy0TfEP3Pazog" name="Backlog de produit">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG3AMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiNDoqEdy0TfEP3Pazog" type="1">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1gMAEduOAKqB9I73uw"/>
-      <outgoingConnections xmi:type="org.eclipse.epf.diagram.model:Link" xmi:id="_6UaiNToqEdy0TfEP3Pazog" target="_6UaiEzoqEdy0TfEP3Pazog"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiNjoqEdy0TfEP3Pazog" name="Backlog du sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2wMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-    <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductComposite" xmi:id="_6UaiNzoqEdy0TfEP3Pazog" incomingConnections="_6UaiFDoqEdy0TfEP3Pazog" type="2">
-      <linkedElement xmi:type="org.eclipse.epf.uma:TaskDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG1gMAEduOAKqB9I73uw"/>
-      <nodes xmi:type="org.eclipse.epf.diagram.model:WorkProductDescriptorNode" xmi:id="_6UaiODoqEdy0TfEP3Pazog" name="Backlog du sprint">
-        <linkedElement xmi:type="org.eclipse.epf.uma:WorkProductDescriptor" href="uma://_9llsAAAvEdubGMceRDupFQ#_glbG2wMAEduOAKqB9I73uw"/>
-      </nodes>
-    </nodes>
-  </org.eclipse.epf.diagram.model:ActivityDetailDiagram>
-  <notation:Diagram xmi:id="_6UaiOToqEdy0TfEP3Pazog" type="ADD" element="_6UaiDjoqEdy0TfEP3Pazog" name="Sprint (n)" measurementUnit="Pixel">
-    <children xmi:type="notation:Node" xmi:id="_6UaiPToqEdy0TfEP3Pazog" type="1001" element="_6UaiDzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiPjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiPzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiQDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiQToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiQzoqEdy0TfEP3Pazog" x="30" y="88" width="338" height="53"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiRDoqEdy0TfEP3Pazog" type="1002" element="_6UaiFToqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiRToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiRjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiRzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiSDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiSjoqEdy0TfEP3Pazog" x="137" y="161" width="72" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiSzoqEdy0TfEP3Pazog" type="1001" element="_6UaiFzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiTDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiTToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiTjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiTzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiUToqEdy0TfEP3Pazog" x="30" y="356" width="222" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiUjoqEdy0TfEP3Pazog" type="1002" element="_6UaiGzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiUzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiVDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiVToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiVjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiWDoqEdy0TfEP3Pazog" x="142" y="269" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiWToqEdy0TfEP3Pazog" type="1002" element="_6UaiHjoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiWjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiWzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiXDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiXToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiXzoqEdy0TfEP3Pazog" x="142" y="443" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiYDoqEdy0TfEP3Pazog" type="1001" element="_6UaiIDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiYToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiYjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiYzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiZDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiZjoqEdy0TfEP3Pazog" x="30" y="638" width="374" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiZzoqEdy0TfEP3Pazog" type="1002" element="_6UaiKDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiaDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiaToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaiajoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaiazoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaibToqEdy0TfEP3Pazog" x="289" y="551" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaibjoqEdy0TfEP3Pazog" type="1002" element="_6UaiKzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaibzoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaicDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaicToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaicjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaidDoqEdy0TfEP3Pazog" x="292" y="725" width="72" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaidToqEdy0TfEP3Pazog" type="1002" element="_6UaiLToqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaidjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaidzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaieDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaieToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiezoqEdy0TfEP3Pazog" x="121" y="725" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaifDoqEdy0TfEP3Pazog" type="1002" element="_6UaiLzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaifToqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaifjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaifzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaigDoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaigjoqEdy0TfEP3Pazog" x="216" y="565" width="63" height="53"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaigzoqEdy0TfEP3Pazog" type="1002" element="_6UaiMjoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaihDoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaihToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaihjoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaihzoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaiiToqEdy0TfEP3Pazog" x="209" y="725" width="78" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaiijoqEdy0TfEP3Pazog" type="1002" element="_6UaiNDoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaiizoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaijDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UaijToqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UaijjoqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UaikDoqEdy0TfEP3Pazog" x="249" y="1" width="72" height="67"/>
-    </children>
-    <children xmi:type="notation:Node" xmi:id="_6UaikToqEdy0TfEP3Pazog" type="1002" element="_6UaiNzoqEdy0TfEP3Pazog">
-      <styles xmi:type="notation:FontStyle" xmi:id="_6UaikjoqEdy0TfEP3Pazog" fontName="Arial" fontHeight="8"/>
-      <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaikzoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:FillStyle" xmi:id="_6UailDoqEdy0TfEP3Pazog"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6UailToqEdy0TfEP3Pazog" lineColor="0"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UailzoqEdy0TfEP3Pazog" x="249" y="161" width="72" height="67"/>
-    </children>
-    <styles xmi:type="notation:PageStyle" xmi:id="_6UaiOjoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:GuideStyle" xmi:id="_6UaiOzoqEdy0TfEP3Pazog"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_6UaiPDoqEdy0TfEP3Pazog"/>
-  </notation:Diagram>
-</xmi:XMI>
diff --git a/Scrum French/Scrum/deliveryprocesses/Scrum/model.xmi b/Scrum French/Scrum/deliveryprocesses/Scrum/model.xmi
deleted file mode 100644
index 4062e5a..0000000
--- a/Scrum French/Scrum/deliveryprocesses/Scrum/model.xmi
+++ /dev/null
@@ -1,251 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:org.eclipse.epf.uma.resourcemanager="http:///org/eclipse/epf/uma/resourcemanager.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma.resourcemanager:ResourceManager xmi:id="_9m1CIAAvEdubGMceRDupFQ"
-      guid="_9m1CIAAvEdubGMceRDupFQ">
-    <resourceDescriptors xmi:id="_9m1CIQAvEdubGMceRDupFQ" id="-16dzhVoCex78V2iCDZVx0w"
-        uri="content.xmi"/>
-    <resourceDescriptors xmi:id="_-d2LQQMEEduOAKqB9I73uw" id="-WiMYK8iwLeOO-sSBRBjbNQ"
-        uri="content.xmi"/>
-    <resourceDescriptors xmi:id="_8N5DwANlEduYd-55D-Aiqg" id="-EpBaHVCIYCqqGX_wv7dlYA"
-        uri="content.xmi"/>
-    <resourceDescriptors xmi:id="_iCOP4IGPEduKE9hnyImx1Q" id="-EOwIzNPjfNIjzJ3TRAgeWQ"
-        uri="content.xmi"/>
-    <resourceDescriptors xmi:id="_tObbkLPBEduk5O8SjA21Fg" id="-MupkaQeHNEmiF7Lnl3VirQ"
-        uri="content.xmi"/>
-  </org.eclipse.epf.uma.resourcemanager:ResourceManager>
-  <org.eclipse.epf.uma:ProcessComponent xmi:id="_9llsAAAvEdubGMceRDupFQ" name="Scrum"
-      guid="_9llsAAAvEdubGMceRDupFQ">
-    <childPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_37NW8AL_EduOAKqB9I73uw"
-        name="Preparation Phase" guid="_37NW8AL_EduOAKqB9I73uw">
-      <processElements xsi:type="org.eclipse.epf.uma:Phase" xmi:id="_37TdkAL_EduOAKqB9I73uw"
-          name="Preparation Phase" guid="_37TdkAL_EduOAKqB9I73uw" briefDescription="Cette phase initiale permet de préparer tout ce qui est nécessaire avant de commencer la série des sprints"
-          presentationName="Phase de préparation" isOptional="true" superActivities="_9llsAQAvEdubGMceRDupFQ"
-          breakdownElements="_zYT-EQMAEduOAKqB9I73uw _zYaEsAMAEduOAKqB9I73uw _zYaEsgMAEduOAKqB9I73uw _zYaEswMAEduOAKqB9I73uw _zYaEtAMAEduOAKqB9I73uw _7FGsMANkEduYd-55D-Aiqg _7FGsMQNkEduYd-55D-Aiqg _O6XmcANlEduYd-55D-Aiqg">
-        <presentation xmi:id="-WiMYK8iwLeOO-sSBRBjbNQ" href="uma://-16dzhVoCex78V2iCDZVx0w#-WiMYK8iwLeOO-sSBRBjbNQ"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_zYT-EQMAEduOAKqB9I73uw"
-          name="Plan release" guid="_zYT-EQMAEduOAKqB9I73uw" presentationName="Planifier la release"
-          superActivities="_37TdkAL_EduOAKqB9I73uw" linkToPredecessor="_2vOSsAMEEduOAKqB9I73uw _MEJPgAPOEdubhrgDuRb4fA _MEPWIAPOEdubhrgDuRb4fA"
-          additionallyPerformedBy="_zYaEswMAEduOAKqB9I73uw _zYaEsgMAEduOAKqB9I73uw"
-          mandatoryInput="_zYaEtAMAEduOAKqB9I73uw" output="_zYaEtAMAEduOAKqB9I73uw"
-          performedPrimarilyBy="_zYaEsAMAEduOAKqB9I73uw">
-        <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_ho-aIP_BEdqtbrr0B1TG-A"/>
-        <selectedSteps href="uma://-3f4axrWBKHGv74oKN2x-gQ#_8qN08APJEdubhrgDuRb4fA"/>
-        <selectedSteps href="uma://-3f4axrWBKHGv74oKN2x-gQ#_BuXEQAPKEdubhrgDuRb4fA"/>
-        <selectedSteps href="uma://-3f4axrWBKHGv74oKN2x-gQ#_EaLKQAPKEdubhrgDuRb4fA"/>
-        <selectedSteps href="uma://-3f4axrWBKHGv74oKN2x-gQ#_HDZ2UAPKEdubhrgDuRb4fA"/>
-        <selectedSteps href="uma://-3f4axrWBKHGv74oKN2x-gQ#_I71XkAPKEdubhrgDuRb4fA"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_zYaEsAMAEduOAKqB9I73uw"
-          name="Product Owner" guid="_zYaEsAMAEduOAKqB9I73uw" presentationName="Directeur Produit"
-          superActivities="_37TdkAL_EduOAKqB9I73uw" responsibleFor="_zYaEtAMAEduOAKqB9I73uw">
-        <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_ICJyYPpaEdqsc-f87sBK8A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_zYaEsgMAEduOAKqB9I73uw"
-          name="Team" guid="_zYaEsgMAEduOAKqB9I73uw" presentationName="Equipe Scrum"
-          hasMultipleOccurrences="true" superActivities="_37TdkAL_EduOAKqB9I73uw">
-        <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_9apLsPpaEdqsc-f87sBK8A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_zYaEswMAEduOAKqB9I73uw"
-          name="ScrumMaster" guid="_zYaEswMAEduOAKqB9I73uw" presentationName="ScrumMaster"
-          superActivities="_37TdkAL_EduOAKqB9I73uw">
-        <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_t1K9kPpYEdqsc-f87sBK8A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkProductDescriptor" xmi:id="_zYaEtAMAEduOAKqB9I73uw"
-          name="Product Backlog" guid="_zYaEtAMAEduOAKqB9I73uw" presentationName="Backlog de produit"
-          superActivities="_37TdkAL_EduOAKqB9I73uw">
-        <WorkProduct xsi:type="org.eclipse.epf.uma:Artifact" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_5ABscPpYEdqsc-f87sBK8A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_2vOSsAMEEduOAKqB9I73uw"
-          guid="_2vOSsAMEEduOAKqB9I73uw" linkType="finishToFinish"/>
-      <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_7FGsMANkEduYd-55D-Aiqg"
-          name="Initiate Product Backlog" guid="_7FGsMANkEduYd-55D-Aiqg" presentationName="Produire le backlog de produit initial"
-          superActivities="_37TdkAL_EduOAKqB9I73uw" additionallyPerformedBy="_7FGsMQNkEduYd-55D-Aiqg _zYaEsgMAEduOAKqB9I73uw"
-          output="_zYaEtAMAEduOAKqB9I73uw" performedPrimarilyBy="_zYaEsAMAEduOAKqB9I73uw">
-        <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_BGFMoANkEduYd-55D-Aiqg"/>
-        <selectedSteps href="uma://-mi1O4H7RRm0YqlUNyp8TJg#_pWL_gAPJEdubhrgDuRb4fA"/>
-        <selectedSteps href="uma://-mi1O4H7RRm0YqlUNyp8TJg#_u0Z7sAPJEdubhrgDuRb4fA"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_7FGsMQNkEduYd-55D-Aiqg"
-          name="StakeHolder" guid="_7FGsMQNkEduYd-55D-Aiqg" presentationName="Intervenant"
-          isPlanned="false" hasMultipleOccurrences="true" superActivities="_37TdkAL_EduOAKqB9I73uw">
-        <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_Qqmp8P_AEdqtbrr0B1TG-A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_O6XmcANlEduYd-55D-Aiqg"
-          name="Preparation work" guid="_O6XmcANlEduYd-55D-Aiqg" presentationName="Travaux de préparation"
-          isPlanned="true" hasMultipleOccurrences="true" superActivities="_37TdkAL_EduOAKqB9I73uw"
-          performedPrimarilyBy="_zYaEsgMAEduOAKqB9I73uw"/>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_MEJPgAPOEdubhrgDuRb4fA"
-          guid="_MEJPgAPOEdubhrgDuRb4fA" linkType="finishToFinish" pred="_7FGsMANkEduYd-55D-Aiqg"/>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_MEPWIAPOEdubhrgDuRb4fA"
-          guid="_MEPWIAPOEdubhrgDuRb4fA" linkType="finishToFinish" pred="_O6XmcANlEduYd-55D-Aiqg"/>
-    </childPackages>
-    <childPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_NSW6sAMAEduOAKqB9I73uw"
-        name="Sprint Phase" guid="_NSW6sAMAEduOAKqB9I73uw">
-      <childPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_SoXWEAMAEduOAKqB9I73uw"
-          name="Sprint (n)" guid="_SoXWEAMAEduOAKqB9I73uw">
-        <processElements xsi:type="org.eclipse.epf.uma:Iteration" xmi:id="_SoXWEQMAEduOAKqB9I73uw"
-            name="Sprint (n)" guid="_SoXWEQMAEduOAKqB9I73uw" briefDescription="Déroulement d'un sprint (itération)"
-            presentationName="Sprint" isPlanned="false" superActivities="_NSW6sQMAEduOAKqB9I73uw"
-            isRepeatable="true" breakdownElements="_glbG0AMAEduOAKqB9I73uw _glbG0QMAEduOAKqB9I73uw _glbG0wMAEduOAKqB9I73uw _glbG1AMAEduOAKqB9I73uw _glbG1QMAEduOAKqB9I73uw _glbG1gMAEduOAKqB9I73uw _glbG1wMAEduOAKqB9I73uw _glbG2AMAEduOAKqB9I73uw _glbG2QMAEduOAKqB9I73uw _glbG2gMAEduOAKqB9I73uw _glbG2wMAEduOAKqB9I73uw _glbG3AMAEduOAKqB9I73uw _glbG3QMAEduOAKqB9I73uw _nXmKUANlEduYd-55D-Aiqg"/>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG0AMAEduOAKqB9I73uw"
-            name="Manage problems" guid="_glbG0AMAEduOAKqB9I73uw" presentationName="Gérer les problèmes"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" isOngoing="true" optionalInput="_glbG2wMAEduOAKqB9I73uw"
-            output="_glbG2wMAEduOAKqB9I73uw" performedPrimarilyBy="_glbG1wMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_Xpd5gP_AEdqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-mZfAV7RcWJlp5idlHzeEcA#_LCxqQAB6EduSVaTQTBfIHA"/>
-          <selectedSteps href="uma://-mZfAV7RcWJlp5idlHzeEcA#_PIKyUAB6EduSVaTQTBfIHA"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG0QMAEduOAKqB9I73uw"
-            name="Update product backlog" guid="_glbG0QMAEduOAKqB9I73uw" presentationName="Mettre à jour le backlog de produit"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" isOngoing="true" additionallyPerformedBy="_glbG2QMAEduOAKqB9I73uw _glbG2gMAEduOAKqB9I73uw"
-            mandatoryInput="_glbG3AMAEduOAKqB9I73uw" output="_glbG3AMAEduOAKqB9I73uw"
-            performedPrimarilyBy="_glbG2AMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_STkWYP_BEdqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-XdgedeazfFRGDxMY3Fnh5g#_c3HaQAPKEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-XdgedeazfFRGDxMY3Fnh5g#_fkXDoAPKEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-XdgedeazfFRGDxMY3Fnh5g#_k-kCgAPKEdubhrgDuRb4fA"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG0wMAEduOAKqB9I73uw"
-            name="Plan sprint" guid="_glbG0wMAEduOAKqB9I73uw" presentationName="Planifier le sprint"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" additionallyPerformedBy="_glbG2AMAEduOAKqB9I73uw"
-            mandatoryInput="_glbG3AMAEduOAKqB9I73uw" output="_glbG2wMAEduOAKqB9I73uw"
-            performedPrimarilyBy="_glbG2gMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_4LOggPpaEdqsc-f87sBK8A"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_TJNsUP--Edqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_p4C0sP--Edqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_worbAP--Edqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_xvy5UAPKEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_DxNQUAPLEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-NRwwk6YGAtu25V3Lc04G6w#_Iq14wAPLEdubhrgDuRb4fA"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG1AMAEduOAKqB9I73uw"
-            name="Retrospective" guid="_glbG1AMAEduOAKqB9I73uw" presentationName="Rétrospective"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" linkToPredecessor="_O0710AMCEduOAKqB9I73uw"
-            additionallyPerformedBy="_glbG2AMAEduOAKqB9I73uw _glbG1wMAEduOAKqB9I73uw _glbG2QMAEduOAKqB9I73uw"
-            output="_glbG3AMAEduOAKqB9I73uw" performedPrimarilyBy="_glbG2gMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_J_sRIP_AEdqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-S4qXwp40l_8eCcyyI7o-3A#_lwzeABGPEduHloEV5-Zv-w"/>
-          <selectedSteps href="uma://-S4qXwp40l_8eCcyyI7o-3A#_noL2YBGPEduHloEV5-Zv-w"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG1QMAEduOAKqB9I73uw"
-            name="Review sprint" guid="_glbG1QMAEduOAKqB9I73uw" presentationName="Faire la revue du sprint"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" isEventDriven="true" additionallyPerformedBy="_glbG2AMAEduOAKqB9I73uw _glbG1wMAEduOAKqB9I73uw _glbG2QMAEduOAKqB9I73uw"
-            mandatoryInput="_glbG3QMAEduOAKqB9I73uw" output="_glbG3AMAEduOAKqB9I73uw"
-            performedPrimarilyBy="_glbG2gMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_MRrRYPpbEdqsc-f87sBK8A"/>
-          <selectedSteps href="uma://-zoJryMCuHfxWP7Q5Er195Q#_XL6VgAPLEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-zoJryMCuHfxWP7Q5Er195Q#_ZgJB8APLEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-zoJryMCuHfxWP7Q5Er195Q#_cBouUAPLEdubhrgDuRb4fA"/>
-          <selectedSteps href="uma://-zoJryMCuHfxWP7Q5Er195Q#_hrswoHoYEduJVrY6eKG_mw"/>
-          <selectedSteps href="uma://-zoJryMCuHfxWP7Q5Er195Q#_d776UHoYEduJVrY6eKG_mw"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_glbG1gMAEduOAKqB9I73uw"
-            name="Scrum daily meeting" guid="_glbG1gMAEduOAKqB9I73uw" presentationName="Mêlée quotidienne"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" isRepeatable="true" isEventDriven="true"
-            linkToPredecessor="_34UPdAzNEduDObTFE5q79g _34UPdQzNEduDObTFE5q79g _34UPdgzNEduDObTFE5q79g"
-            additionallyPerformedBy="_glbG2gMAEduOAKqB9I73uw _glbG2AMAEduOAKqB9I73uw"
-            mandatoryInput="_glbG2wMAEduOAKqB9I73uw" output="_glbG2wMAEduOAKqB9I73uw"
-            performedPrimarilyBy="_glbG1wMAEduOAKqB9I73uw">
-          <Task href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_d09LYP_AEdqtbrr0B1TG-A"/>
-          <selectedSteps href="uma://-vDOuVl_xPKipKd90HQNZng#_oUrlcBGOEduHloEV5-Zv-w"/>
-          <selectedSteps href="uma://-vDOuVl_xPKipKd90HQNZng#_r0KkEBGOEduHloEV5-Zv-w"/>
-          <selectedSteps href="uma://-vDOuVl_xPKipKd90HQNZng#_vZkkgBGOEduHloEV5-Zv-w"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_glbG1wMAEduOAKqB9I73uw"
-            name="ScrumMaster" guid="_glbG1wMAEduOAKqB9I73uw" presentationName="ScrumMaster"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" responsibleFor="_glbG2wMAEduOAKqB9I73uw">
-          <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_t1K9kPpYEdqsc-f87sBK8A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_glbG2AMAEduOAKqB9I73uw"
-            name="Product Owner" guid="_glbG2AMAEduOAKqB9I73uw" presentationName="Directeur Produit"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" responsibleFor="_glbG3AMAEduOAKqB9I73uw">
-          <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_ICJyYPpaEdqsc-f87sBK8A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_glbG2QMAEduOAKqB9I73uw"
-            name="StakeHolder" guid="_glbG2QMAEduOAKqB9I73uw" presentationName="Intervenant"
-            isPlanned="false" hasMultipleOccurrences="true" superActivities="_SoXWEQMAEduOAKqB9I73uw">
-          <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_Qqmp8P_AEdqtbrr0B1TG-A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_glbG2gMAEduOAKqB9I73uw"
-            name="Team" guid="_glbG2gMAEduOAKqB9I73uw" presentationName="Equipe Scrum"
-            hasMultipleOccurrences="true" superActivities="_SoXWEQMAEduOAKqB9I73uw">
-          <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_9apLsPpaEdqsc-f87sBK8A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkProductDescriptor" xmi:id="_glbG2wMAEduOAKqB9I73uw"
-            name="Sprint backlog" guid="_glbG2wMAEduOAKqB9I73uw" presentationName="Backlog du sprint"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw">
-          <presentation xmi:id="-MupkaQeHNEmiF7Lnl3VirQ" href="uma://-16dzhVoCex78V2iCDZVx0w#-MupkaQeHNEmiF7Lnl3VirQ"/>
-          <WorkProduct xsi:type="org.eclipse.epf.uma:Artifact" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_Dzw70PpZEdqsc-f87sBK8A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkProductDescriptor" xmi:id="_glbG3AMAEduOAKqB9I73uw"
-            name="Product Backlog" guid="_glbG3AMAEduOAKqB9I73uw" presentationName="Backlog de produit"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" activityEntryState="courant"
-            activityExitState="mis à jour">
-          <WorkProduct xsi:type="org.eclipse.epf.uma:Artifact" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_5ABscPpYEdqsc-f87sBK8A"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkProductDescriptor" xmi:id="_glbG3QMAEduOAKqB9I73uw"
-            name="Product" guid="_glbG3QMAEduOAKqB9I73uw" presentationName="Incrément de produit"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw">
-          <WorkProduct xsi:type="org.eclipse.epf.uma:Artifact" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_tCmYEP-xEdqLnajTSLeAsA"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_O0710AMCEduOAKqB9I73uw"
-            guid="_O0710AMCEduOAKqB9I73uw" linkType="finishToFinish" pred="_glbG1QMAEduOAKqB9I73uw"/>
-        <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_nXmKUANlEduYd-55D-Aiqg"
-            name="Daily work" guid="_nXmKUANlEduYd-55D-Aiqg" briefDescription="L'équipe réalise les taches du backlog pour arriver au but du sprint"
-            presentationName="Travaux quotidiens" isPlanned="true" hasMultipleOccurrences="true"
-            superActivities="_SoXWEQMAEduOAKqB9I73uw" mandatoryInput="_glbG2wMAEduOAKqB9I73uw"
-            output="_glbG3QMAEduOAKqB9I73uw">
-          <presentation xmi:id="-EpBaHVCIYCqqGX_wv7dlYA" href="uma://-16dzhVoCex78V2iCDZVx0w#-EpBaHVCIYCqqGX_wv7dlYA"/>
-        </processElements>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_34UPdAzNEduDObTFE5q79g"
-            guid="_34UPdAzNEduDObTFE5q79g" linkType="finishToFinish" pred="_glbG0QMAEduOAKqB9I73uw"/>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_34UPdQzNEduDObTFE5q79g"
-            guid="_34UPdQzNEduDObTFE5q79g" linkType="finishToFinish" pred="_nXmKUANlEduYd-55D-Aiqg"/>
-        <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_34UPdgzNEduDObTFE5q79g"
-            guid="_34UPdgzNEduDObTFE5q79g" linkType="finishToFinish" pred="_glbG0AMAEduOAKqB9I73uw"/>
-      </childPackages>
-      <processElements xsi:type="org.eclipse.epf.uma:Phase" xmi:id="_NSW6sQMAEduOAKqB9I73uw"
-          name="Sprint Phase" guid="_NSW6sQMAEduOAKqB9I73uw" briefDescription="Cette phase consiste à dérouler les sprints les uns après les autres "
-          presentationName="Phase des sprints" isPlanned="false" superActivities="_9llsAQAvEdubGMceRDupFQ"
-          linkToPredecessor="_9MP9UAMAEduOAKqB9I73uw" breakdownElements="_SoXWEQMAEduOAKqB9I73uw _zbM2QIGBEduKE9hnyImx1Q _MpXRYIGOEduKE9hnyImx1Q _RHd0YIGOEduKE9hnyImx1Q"/>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_9MP9UAMAEduOAKqB9I73uw"
-          guid="_9MP9UAMAEduOAKqB9I73uw" linkType="finishToFinish" pred="_37TdkAL_EduOAKqB9I73uw"/>
-      <processElements xsi:type="org.eclipse.epf.uma:TaskDescriptor" xmi:id="_zbM2QIGBEduKE9hnyImx1Q"
-          name="Sprint de release" guid="_zbM2QIGBEduKE9hnyImx1Q" briefDescription="Ce dernier sprint permet de préparer la livraison du produit."
-          presentationName="Travaux de livraison" isPlanned="true" isOptional="true"
-          superActivities="_NSW6sQMAEduOAKqB9I73uw" isRepeatable="true" mandatoryInput="_RHd0YIGOEduKE9hnyImx1Q"
-          output="_RHd0YIGOEduKE9hnyImx1Q" performedPrimarilyBy="_MpXRYIGOEduKE9hnyImx1Q">
-        <presentation xmi:id="-EOwIzNPjfNIjzJ3TRAgeWQ" href="uma://-16dzhVoCex78V2iCDZVx0w#-EOwIzNPjfNIjzJ3TRAgeWQ"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_MpXRYIGOEduKE9hnyImx1Q"
-          name="Team" guid="_MpXRYIGOEduKE9hnyImx1Q" presentationName="Equipe Scrum"
-          hasMultipleOccurrences="true" superActivities="_NSW6sQMAEduOAKqB9I73uw">
-        <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_9apLsPpaEdqsc-f87sBK8A"/>
-      </processElements>
-      <processElements xsi:type="org.eclipse.epf.uma:WorkProductDescriptor" xmi:id="_RHd0YIGOEduKE9hnyImx1Q"
-          name="Product increment" guid="_RHd0YIGOEduKE9hnyImx1Q" presentationName="Incrément de produit"
-          superActivities="_NSW6sQMAEduOAKqB9I73uw">
-        <WorkProduct xsi:type="org.eclipse.epf.uma:Artifact" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_tCmYEP-xEdqLnajTSLeAsA"/>
-      </processElements>
-    </childPackages>
-    <processElements xsi:type="org.eclipse.epf.uma:WorkOrder" xmi:id="_E1ptMIF9EduKE9hnyImx1Q"
-        guid="_E1ptMIF9EduKE9hnyImx1Q" linkType="finishToFinish" pred="_NSW6sQMAEduOAKqB9I73uw"/>
-    <processElements xsi:type="org.eclipse.epf.uma:RoleDescriptor" xmi:id="_XJr8krPCEduk5O8SjA21Fg"
-        name="Product Owner" guid="_XJr8krPCEduk5O8SjA21Fg" suppressed="true" presentationName="Directeur Produit"
-        superActivities="_9llsAQAvEdubGMceRDupFQ">
-      <Role href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_ICJyYPpaEdqsc-f87sBK8A"/>
-    </processElements>
-    <process xsi:type="org.eclipse.epf.uma:DeliveryProcess" xmi:id="_9llsAQAvEdubGMceRDupFQ"
-        name="Scrum" guid="_9llsAQAvEdubGMceRDupFQ" briefDescription="Les phases, les sprints et les tâches à dérouler lors de la production d'une release."
-        presentationName="Release" isRepeatable="true" breakdownElements="_37TdkAL_EduOAKqB9I73uw _NSW6sQMAEduOAKqB9I73uw _XJr8krPCEduk5O8SjA21Fg">
-      <presentation xmi:id="-16dzhVoCex78V2iCDZVx0w" href="uma://-16dzhVoCex78V2iCDZVx0w#-16dzhVoCex78V2iCDZVx0w"/>
-      <concepts href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_XtRuYP-zEdqLnajTSLeAsA"/>
-      <defaultContext href="uma://_hDRYYPpYEdqsc-f87sBK8A#_IqDLgP_OEdqtbrr0B1TG-A"/>
-      <validContext href="uma://_hDRYYPpYEdqsc-f87sBK8A#_IqDLgP_OEdqtbrr0B1TG-A"/>
-    </process>
-  </org.eclipse.epf.uma:ProcessComponent>
-</xmi:XMI>
diff --git a/Scrum French/Scrum/deliveryprocesses/resources/csm.jpg b/Scrum French/Scrum/deliveryprocesses/resources/csm.jpg
deleted file mode 100644
index 18cd417..0000000
--- a/Scrum French/Scrum/deliveryprocesses/resources/csm.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.gif b/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.gif
deleted file mode 100644
index e7d73b3..0000000
--- a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.gif
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.jpg b/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.jpg
deleted file mode 100644
index bc69128..0000000
--- a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.png b/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.png
deleted file mode 100644
index a91525c..0000000
--- a/Scrum French/Scrum/deliveryprocesses/resources/icescrum_simple.png
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/disciplines/Scrum activities.xmi b/Scrum French/Scrum/disciplines/Scrum activities.xmi
deleted file mode 100644
index c5bf433..0000000
--- a/Scrum French/Scrum/disciplines/Scrum activities.xmi
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-4wqJQ0qXLYZ8kCnpDu--tA"
-    name="Scrum activities,_6sdMAAL-EduOAKqB9I73uw" guid="-4wqJQ0qXLYZ8kCnpDu--tA"
-    changeDate="2006-12-03T01:43:16.000-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    L'application de Scrum concerne essentiellement&amp;nbsp;les disciplines habituelles de gestion de projet et de gestion des&#xD;
-    exigences.&#xD;
-&lt;/p></mainDescription>
-  <keyConsiderations>Une bonne partie de ces activités est effectuée collectivement,&amp;nbsp;en équipe.</keyConsiderations>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/concepts/Presentation Scrum.xmi b/Scrum French/Scrum/guidances/concepts/Presentation Scrum.xmi
deleted file mode 100644
index d0aaef4..0000000
--- a/Scrum French/Scrum/guidances/concepts/Presentation Scrum.xmi
+++ /dev/null
@@ -1,85 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-MSO8KF-0IlKZJGnSwwTNZA"
-    name="new_concept,_3WivIBTQEduFIr9xNbwGyQ" guid="-MSO8KF-0IlKZJGnSwwTNZA" changeDate="2006-12-02T23:21:54.843-0800"
-    version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Scrum est un processus léger et itératif de gestion de projets, qui fait partie de la famille des &lt;a&#xD;
-    title=&quot;Méthode agile&quot; href=&quot;http://fr.wikipedia.org/wiki/M%E9thode_agile&quot;>méthodes agiles&lt;/a>, qui partage les valeurs&#xD;
-    définies dans le Manifeste Agile et qui en reprend les principes fondamentaux.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Résumé&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Scrum peut se résumer ainsi :&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;quote&quot;>&#xD;
-    Scrum conduit à montrer souvent et régulièrement (toutes les 2 à 4 semaines, selon la durée du &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../../Scrum/guidances/termdefinitions/Sprint_494C0C24.html&quot; guid=&quot;_kftWoIHqEduFs9jH8xc4xw&quot;>Sprint&lt;/a>) un&#xD;
-    produit (partiel) qui fonctionne. Le métier identifie les exigences et définit leur priorité. L'équipe s'organise&#xD;
-    elle-même pour déterminer la meilleure façon de produire les exigences les plus prioritaires. A chaque fin de sprint,&#xD;
-    tout le monde peut voir fonctionner le produit actuel et contribuer à prendre une décision sur ce qu'on fait&amp;nbsp;:&#xD;
-    soit le livrer dans l'état, soit continuer à l'améliorer pendant&amp;nbsp;un sprint&amp;nbsp;supplémentaire avant de se reposer&#xD;
-    la question.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Origine&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Le terme Scrum est emprunté au rugby et signifie mêlée. Ce processus s'articule en effet autour d'une équipe soudée,&#xD;
-    qui cherche à atteindre un but, comme c'est le cas au rugby quand le pack déploie sa force collective pour avancer avec&#xD;
-    le ballon pendant une mêlée.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Scrum insiste particulièrement sur l’aspect social et collectif du développement. Le but de Scrum est d'améliorer la&#xD;
-    qualité et la productivité, avec une approche empirique, en s'appuyant sur l'autonomie de l'équipe.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Empirisme&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Un processus empirique, donc basé sur l'expérience, nécessite une bonne visibilité, des inspections fréquentes et des&#xD;
-    adaptations aux plans. Cela se décline dans Scrum par les 2 cycles de régulation&amp;nbsp;:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        lors de mêlées quotidiennes, on tient compte de l'expérience du jour passé pour adapter le planning des jours&#xD;
-        restant dans le sprint.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        lors des revues de sprint, on tient compte de l'expérience du sprint passé pour adapter le planning de la release,&#xD;
-        portant sur les sprints à venir.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Les tâches d'un sprint ne sont pas définies de façon très précise : pas de date de début, pas de date de fin, pas de&#xD;
-    dépendance. Scrum considère que ce n'est pas prévisible. L'empirisme de Scrum consiste à s'appuyer continuellement sur&#xD;
-    l'analyse de l'état courant du projet pour contrôler le processus et réduire les risques.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Portée&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Scrum ne décrit pas toutes les disciplines du développement (analyse, conception, codage, test) et doit être considéré,&#xD;
-    plutôt qu’un processus complet, comme un pattern de processus qui est&amp;nbsp;concerne la gestion de projet et la gestion&#xD;
-    des exigences. Scrum ne fournit pas d’aide pour la réalisation des activités techniques du développement. C'est à&#xD;
-    l'équipe de définir elle-même ce qu'elle à faire.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Diffusion&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Scrum existe depuis les années 90 et connaît une popularité croissante depuis quelques années. Il a été utilisé sur des&#xD;
-    centaines de projets dans le monde, mais est pour l’instant peu introduit en France. Depuis 3 ans, un processus de&#xD;
-    certification a été mis en place. En novembre 2006, plus de 7000 personnes avaient obtenu la certification ScrumMaster.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &amp;nbsp;&lt;img height=&quot;56&quot; alt=&quot;ScrumMaster&quot; src=&quot;./resources/csm.jpg&quot; width=&quot;179&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pour plus d'informations sur Scrum, voir &lt;a href=&quot;http://fr.wikipedia.org/wiki/Scrum&quot;&#xD;
-    target=&quot;_blank&quot;>http://fr.wikipedia.org/wiki/Scrum&lt;/a>&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/concepts/Produit, release et sprint.xmi b/Scrum French/Scrum/guidances/concepts/Produit, release et sprint.xmi
deleted file mode 100644
index 6d50a17..0000000
--- a/Scrum French/Scrum/guidances/concepts/Produit, release et sprint.xmi
+++ /dev/null
@@ -1,40 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-BPz1k8sC6CCyJ2yZCc1p2Q"
-    name="Produit, release et sprint,_XtRuYP-zEdqLnajTSLeAsA" guid="-BPz1k8sC6CCyJ2yZCc1p2Q"
-    changeDate="2006-12-01T15:54:40.221-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Une &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/guidances/termdefinitions/Release_A7C0A48E.html&quot;&#xD;
-    guid=&quot;_AIB9gIHrEduFs9jH8xc4xw&quot;>Release&lt;/a>&amp;nbsp;est constituée d'une série de &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../../Scrum/guidances/termdefinitions/Sprint_494C0C24.html&quot; guid=&quot;_kftWoIHqEduFs9jH8xc4xw&quot;>Sprint&lt;/a>s et&#xD;
-    dure en général quelques mois. Pendant la vie d'un produit, on déroule plusieurs releases.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;img height=&quot;115&quot; alt=&quot;release et sprints&quot; src=&quot;./resources/release.jpg&quot; width=&quot;600&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Une release a les attributs suivants :&#xD;
-&lt;/p>&#xD;
-&lt;ul class=&quot;noindent&quot;>&#xD;
-    &lt;li>&#xD;
-        le but&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        le type, à choisir entre &quot;à date fixée&quot; et &quot;sans date fixée&quot;(par défaut). Dans le cas où on choisit à date fixée,&#xD;
-        la date est fournie.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        la durée, en nombre de jours, définie pour les sprints&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        le nombre de sprints&amp;nbsp;prévus&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Le &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/guidances/reports/Release%20Planning_ED85F1BB.html&quot;&#xD;
-    guid=&quot;_Z2NzkIGWEduKE9hnyImx1Q&quot;>Planning de la release&lt;/a>&amp;nbsp;constitue un niveau de planification du projet : il&#xD;
-    montre de façon &quot;grosses mailles&quot; les items qu'il est prévu de réaliser au cours des sprints de cette release.&lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/concepts/Travail collaboratif.xmi b/Scrum French/Scrum/guidances/concepts/Travail collaboratif.xmi
deleted file mode 100644
index 79d39ed..0000000
--- a/Scrum French/Scrum/guidances/concepts/Travail collaboratif.xmi
+++ /dev/null
@@ -1,136 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-dU_t9olFRQIyOBZQvMndKg"
-    name="new_concept,_OUjj0AEZEduzRosbOajx7w" guid="-dU_t9olFRQIyOBZQvMndKg" changeDate="2006-12-04T12:17:26.750-0800">
-  <mainDescription>&lt;p>&#xD;
-    Le collectif prend forme à travers des réunions. Scrum impose 5 types de réunions :&amp;nbsp;&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Réunion pour &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/tasks/Plan%20sprint_122255F4.html&quot;&#xD;
-        guid=&quot;_4LOggPpaEdqsc-f87sBK8A&quot;>Planifier le sprint&lt;/a>&amp;nbsp;(1ème partie, sélection du sous-ensemble du backlog))&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Réunion pour &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/tasks/Plan%20sprint_122255F4.html&quot;&#xD;
-        guid=&quot;_4LOggPpaEdqsc-f87sBK8A&quot;>Planifier le sprint&lt;/a>nt (2ème&amp;nbsp;partie, planification du sprint)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/tasks/Scrum%20daily%20meeting_391727BD.html&quot;&#xD;
-        guid=&quot;_d09LYP_AEdqtbrr0B1TG-A&quot;>Mêlée quotidienne&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Réunion pour &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/tasks/Review%20sprint_E6CEA738.html&quot;&#xD;
-        guid=&quot;_MRrRYPpbEdqsc-f87sBK8A&quot;>Faire la revue du sprint&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/tasks/Retrospective_E3220062.html&quot;&#xD;
-        guid=&quot;_J_sRIP_AEdqtbrr0B1TG-A&quot;>Rétrospective&lt;/a>&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    Le tableau ci-dessous montre la participation des rôles Scrum à ces réunions :&lt;br />&#xD;
-&lt;/p>&#xD;
-&lt;table cellspacing=&quot;2&quot; cellpadding=&quot;2&quot; width=&quot;180&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-            &lt;/th>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-                1&#xD;
-            &lt;/th>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-                2&#xD;
-            &lt;/th>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-                3&#xD;
-            &lt;/th>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-                4&#xD;
-            &lt;/th>&#xD;
-            &lt;th scope=&quot;col&quot;>&#xD;
-                5&#xD;
-            &lt;/th>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;th scope=&quot;row&quot;>&#xD;
-                &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/roles/ScrumMaster_FB66563.html&quot;&#xD;
-                guid=&quot;_t1K9kPpYEdqsc-f87sBK8A&quot;>ScrumMaster&lt;/a>&#xD;
-            &lt;/th>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Animation&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Animation&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Animation&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;th scope=&quot;row&quot;>&#xD;
-                &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/roles/Product%20Owner_D991557B.html&quot;&#xD;
-                guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a>&#xD;
-            &lt;/th>&#xD;
-            &lt;td>&#xD;
-                Animation&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Souhaitée&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Souhaitée&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Souhaitée&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;th scope=&quot;row&quot;>&#xD;
-                Equipe&#xD;
-            &lt;/th>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Animation&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Obligatoire&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;th scope=&quot;row&quot;>&#xD;
-                Intervenant&#xD;
-            &lt;/th>&#xD;
-            &lt;td>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Possible&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                Souhaitée&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/concepts/resources/clip_image001.png b/Scrum French/Scrum/guidances/concepts/resources/clip_image001.png
deleted file mode 100644
index 32678ac..0000000
--- a/Scrum French/Scrum/guidances/concepts/resources/clip_image001.png
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/guidances/concepts/resources/clip_image002.gif b/Scrum French/Scrum/guidances/concepts/resources/clip_image002.gif
deleted file mode 100644
index aa6b057..0000000
--- a/Scrum French/Scrum/guidances/concepts/resources/clip_image002.gif
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/guidances/concepts/resources/csm.jpg b/Scrum French/Scrum/guidances/concepts/resources/csm.jpg
deleted file mode 100644
index 18cd417..0000000
--- a/Scrum French/Scrum/guidances/concepts/resources/csm.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/guidances/concepts/resources/release.jpg b/Scrum French/Scrum/guidances/concepts/resources/release.jpg
deleted file mode 100644
index a270cd4..0000000
--- a/Scrum French/Scrum/guidances/concepts/resources/release.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/guidances/examples/resources/demo_banque_2.JPG b/Scrum French/Scrum/guidances/examples/resources/demo_banque_2.JPG
deleted file mode 100644
index 046308b..0000000
--- a/Scrum French/Scrum/guidances/examples/resources/demo_banque_2.JPG
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/guidances/reports/Release Burndown Chart.xmi b/Scrum French/Scrum/guidances/reports/Release Burndown Chart.xmi
deleted file mode 100644
index bb5897d..0000000
--- a/Scrum French/Scrum/guidances/reports/Release Burndown Chart.xmi
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-pJuF9iKbSQx7TIwHNBVTgg"
-    name="Release Burndown Chart,_vKqe8PpaEdqsc-f87sBK8A" guid="-pJuF9iKbSQx7TIwHNBVTgg"
-    changeDate="2006-12-03T06:16:09.515-0800">
-  <mainDescription>&lt;p>&#xD;
-    C'est un &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/guidances/termdefinitions/Burndown%20Chart_F0B781FC.html&quot;&#xD;
-    guid=&quot;_X5rREILYEduLd8CaF_IcMA&quot;>Graphe de tendance&lt;/a>&amp;nbsp;pour une release :&amp;nbsp;il montre la tendance dans&#xD;
-    l'avancement de la release par une présentation graphique du reste à faire à la fin de chaque sprint passé.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/reports/Release Planning.xmi b/Scrum French/Scrum/guidances/reports/Release Planning.xmi
deleted file mode 100644
index a541c74..0000000
--- a/Scrum French/Scrum/guidances/reports/Release Planning.xmi
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-EmLqiNX2WnmsfEtxNiuyTQ"
-    name="new_report,_Z2NzkIGWEduKE9hnyImx1Q" guid="-EmLqiNX2WnmsfEtxNiuyTQ" changeDate="2006-12-01T15:51:59.549-0800">
-  <mainDescription>&lt;p>&#xD;
-    Il est dérivé du backlog de produit : c'est un sous-ensemble contenant uniquement les éléments prévus dans la release&#xD;
-    et associés aux sprints prévus dans la release.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/reports/Sprint Burndown Chart.xmi b/Scrum French/Scrum/guidances/reports/Sprint Burndown Chart.xmi
deleted file mode 100644
index 98e0f1f..0000000
--- a/Scrum French/Scrum/guidances/reports/Sprint Burndown Chart.xmi
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-qVeT6_sAspmZjCYQLOrhbg"
-    name="Sprint Burndown Chart,_jC4NwPpaEdqsc-f87sBK8A" guid="-qVeT6_sAspmZjCYQLOrhbg"
-    changeDate="2006-12-03T06:17:51.046-0800">
-  <mainDescription>&lt;p>&#xD;
-    C'est un &lt;a class=&quot;elementLink&quot; href=&quot;./../../../Scrum/guidances/termdefinitions/Burndown%20Chart_F0B781FC.html&quot;&#xD;
-    guid=&quot;_X5rREILYEduLd8CaF_IcMA&quot;>Graphe de tendance&lt;/a>&amp;nbsp;pour un sprint :&amp;nbsp;il montre la tendance dans&#xD;
-    l'avancement du sprint par une présentation graphique du reste à faire à la fin de chaque jour passé.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/roadmaps/Application.xmi b/Scrum French/Scrum/guidances/roadmaps/Application.xmi
deleted file mode 100644
index bcacef1..0000000
--- a/Scrum French/Scrum/guidances/roadmaps/Application.xmi
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-IPxNSDzXKWa-H_kJ2PMtYA"
-    name="new_roadmap,_6Jox0IRuEduo75chJsIcXg" guid="-IPxNSDzXKWa-H_kJ2PMtYA" changeDate="2006-12-05T07:29:34.781-0800">
-  <mainDescription>&lt;p>&#xD;
-    Le&amp;nbsp;Manifeste Agile proclame que &quot;les outils et les processus sont utiles, mais que&amp;nbsp;les personnes et les&#xD;
-    interactions qu'elles ont entre elles sont plus importantes&quot; pour la réussite du projet. Il faut garder ce principe à&#xD;
-    l'esprit lors de l'application de Scrum. Il convient également de respecter les&amp;nbsp;caractéristiques de Scrum comme :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        l'approche empirique basée sur la régulation,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        la planification adaptative plutôt que prédictive,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        l'auto-gestion de l'équipe pour faire ce qu'elle a à faire.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    De plus, Scrum ne décrit pas les activités d'ingénierie nécessaires à la réalisation du produit.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    L'application de Scrum décrite ci-dessous&amp;nbsp;doit être lue et utilisée&amp;nbsp;à l'aune de ces principes agiles. Elle&#xD;
-    montre comment les éléments de Scrum sont utilisés lors du déroulement d'une période de temps,&amp;nbsp;ou cycle de vie.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ce cycle de vie ne représente pas toute la vie d'un produit, mais porte uniquement sur la production d'une &lt;a&#xD;
-    class=&quot;elementLink&quot; href=&quot;./../../../Scrum/guidances/termdefinitions/Release_A7C0A48E.html&quot;&#xD;
-    guid=&quot;_AIB9gIHrEduFs9jH8xc4xw&quot;>Release&lt;/a>. Le guide &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../../Scrum/guidances/concepts/Produit,%20release%20et%20sprint_6CF0007C.html&quot;&#xD;
-    guid=&quot;_XtRuYP-zEdqLnajTSLeAsA&quot;>Produit, release et sprint&lt;/a>&amp;nbsp;replace cette période dans un contexte plus large.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/supportingmaterials/Copyright.xmi b/Scrum French/Scrum/guidances/supportingmaterials/Copyright.xmi
deleted file mode 100644
index 2856d82..0000000
--- a/Scrum French/Scrum/guidances/supportingmaterials/Copyright.xmi
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-03XtfjRMEs23qIdCSSQiNQ"
-    name="new_supporting_material,_N8zs0AEGEduzRosbOajx7w" guid="-03XtfjRMEs23qIdCSSQiNQ"
-    changeDate="2007-02-03T11:40:46.906-0800" version="1.0.0">
-  <mainDescription>Ce programme et le matériel qui l'accompagne sont mis à disposition selon les termes de la licence &quot;&lt;a&#xD;
-href=&quot;http://www.eclipse.org/org/documents/epl-v10.php&quot; target=&quot;_blank&quot;>Eclipse Public License v1.0&lt;/a>&quot; qui régit cette&#xD;
-distribution.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/supportingmaterials/Introduction.xmi b/Scrum French/Scrum/guidances/supportingmaterials/Introduction.xmi
deleted file mode 100644
index 7ae111e..0000000
--- a/Scrum French/Scrum/guidances/supportingmaterials/Introduction.xmi
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-WfzsSn3X35gSHQZ2kqtoVw"
-    name="Introduction,_wz30kABREdu3o4yroaI-tA" guid="-WfzsSn3X35gSHQZ2kqtoVw" changeDate="2006-12-04T12:23:34.453-0800">
-  <mainDescription>&lt;p>&#xD;
-    Ce plugin, réalisé&amp;nbsp;avec&amp;nbsp;&lt;a href=&quot;http://www.eclipse.org/epf/&quot; target=&quot;_blank&quot;>EPF&lt;/a> (Eclipse&amp;nbsp;Process&#xD;
-    Framework)&amp;nbsp;présente :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        une introduction à &lt;a class=&quot;elementLink&quot;&#xD;
-        href=&quot;./../../../Scrum/guidances/concepts/Presentation%20Scrum_247E97BA.html&quot;&#xD;
-        guid=&quot;_3WivIBTQEduFIr9xNbwGyQ&quot;>Scrum&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        les notions principales de Scrum (&lt;a class=&quot;elementLink&quot;&#xD;
-        href=&quot;./../../../Scrum/customcategories/Scrum%20Elements_E2F327EA.html&quot;&#xD;
-        guid=&quot;_nF6fgALYEduFv7wnrO7SvQ&quot;>Eléments&lt;/a>),&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        une façon de les appliquer (&lt;a class=&quot;elementLink&quot;&#xD;
-        href=&quot;./../../../Scrum/customcategories/Cycle%20de%20vie%20Scrum_9F309DD3.html&quot;&#xD;
-        guid=&quot;_7BSBkABCEduYUKPFgCzFuA&quot;>Cycle de vie&lt;/a>) qui est à adapter à chaque projet.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/supportingmaterials/Scrum references.xmi b/Scrum French/Scrum/guidances/supportingmaterials/Scrum references.xmi
deleted file mode 100644
index 45bffb6..0000000
--- a/Scrum French/Scrum/guidances/supportingmaterials/Scrum references.xmi
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-cfa6bdUgQuboNpJRKaCLAw"
-    name="Scrum referencesl,_PTGe4IRvEduo75chJsIcXg" guid="-cfa6bdUgQuboNpJRKaCLAw"
-    changeDate="2006-12-05T06:45:31.406-0800">
-  <mainDescription>&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ken Schwaber&amp;nbsp;: &lt;a href=&quot;http://softpro.stores.yahoo.net/0-7356-1993-x.html&quot; target=&quot;_blank&quot;>Agile Project&#xD;
-        Management with Scrum.&lt;/a>&amp;nbsp;&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Mike Cohn&amp;nbsp;: &lt;a&#xD;
-        href=&quot;http://www.amazon.fr/exec/obidos/ASIN/0131479415/sr=8-1/qid=1152998855/ref=sr_1_1/402-4433368-7461703?_encoding=UTF8&amp;amp;s=gateway&amp;amp;v=glance&quot;&#xD;
-         target=&quot;_blank&quot;>Agile Estimating and Planning&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Burndown Chart.xmi b/Scrum French/Scrum/guidances/termdefinitions/Burndown Chart.xmi
deleted file mode 100644
index 734b6df..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Burndown Chart.xmi
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-KQ4Jzjy6YgAr_2NXa4J67g"
-    name="new_term_definition,_X5rREILYEduLd8CaF_IcMA" guid="-KQ4Jzjy6YgAr_2NXa4J67g">
-  <mainDescription>Représentation graphique du reste à faire dans une période, actualisée aussi souvent que possible.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Release.xmi b/Scrum French/Scrum/guidances/termdefinitions/Release.xmi
deleted file mode 100644
index 461ac67..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Release.xmi
+++ /dev/null
@@ -1,9 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-XPyPmZTAVbnvJVuOLvYpXw"
-    name="Release,_AIB9gIHrEduFs9jH8xc4xw" guid="-XPyPmZTAVbnvJVuOLvYpXw" changeDate="2006-12-02T01:53:51.187-0800"
-    version="1.0.0">
-  <mainDescription>Une release correspond à la livraison d'une version. Par habitude, on parle de release pour considérer la période de temps&#xD;
-qui va du début du travail sur cette version jusqu'à sa livraison et qui passe par une série de sprints successifs.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Sprint.xmi b/Scrum French/Scrum/guidances/termdefinitions/Sprint.xmi
deleted file mode 100644
index a839690..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Sprint.xmi
+++ /dev/null
@@ -1,9 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-fcoz1Nm_QnX6xtLg5YWdVg"
-    name="new_term_definition,_kftWoIHqEduFs9jH8xc4xw" guid="-fcoz1Nm_QnX6xtLg5YWdVg"
-    changeDate="2006-12-02T01:51:49.500-0800">
-  <mainDescription>Un sprint est un bloc de temps aboutissant à créer un incrément du produit. C'est le terme utilisé dans Scrum pour&#xD;
-itération.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Theme.xmi b/Scrum French/Scrum/guidances/termdefinitions/Theme.xmi
deleted file mode 100644
index 3cc4a45..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Theme.xmi
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-GKfSarwQLoaHhoT71FQI8Q"
-    name="new_term_definition,_aeYKoIKlEduQgtHqedKdMA" guid="-GKfSarwQLoaHhoT71FQI8Q"
-    changeDate="2006-12-03T00:09:30.312-0800">
-  <mainDescription>Un thème constitue un regroupement fonctionnel d'exigences.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Timebox.xmi b/Scrum French/Scrum/guidances/termdefinitions/Timebox.xmi
deleted file mode 100644
index 38c3fef..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Timebox.xmi
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-tHVOELWOQDI7i0M2rlMufQ"
-    name="new_term_definition,_3qdXkILXEduLd8CaF_IcMA" guid="-tHVOELWOQDI7i0M2rlMufQ"
-    changeDate="2006-12-03T06:11:12.609-0800">
-  <mainDescription>Une période de temps à échéance fixée et intangible même si tous les objectifs ne sont pas atteints.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/guidances/termdefinitions/Velocity.xmi b/Scrum French/Scrum/guidances/termdefinitions/Velocity.xmi
deleted file mode 100644
index 71b2adb..0000000
--- a/Scrum French/Scrum/guidances/termdefinitions/Velocity.xmi
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-PeP4fADValHXs2Z2Z8zJ1w"
-    name="new_term_definition,_HQEP8ILXEduLd8CaF_IcMA" guid="-PeP4fADValHXs2Z2Z8zJ1w"
-    changeDate="2007-01-29T00:14:31.140-0800" version="1.0.0">
-  <mainDescription>La vélocité est la mesure de la capacité de l'équipe pendant un sprint.</mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/plugin.xmi b/Scrum French/Scrum/plugin.xmi
deleted file mode 100644
index b1236f3..0000000
--- a/Scrum French/Scrum/plugin.xmi
+++ /dev/null
@@ -1,346 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:org.eclipse.epf.uma.resourcemanager="http:///org/eclipse/epf/uma/resourcemanager.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma.resourcemanager:ResourceManager xmi:id="_5AUAUPpYEdqsc-f87sBK8A"
-      guid="_5AUAUPpYEdqsc-f87sBK8A">
-    <subManagers xmi:id="_9m1CIAAvEdubGMceRDupFQ" href="uma://_9llsAAAvEdubGMceRDupFQ#_9m1CIAAvEdubGMceRDupFQ"/>
-    <resourceDescriptors xmi:id="_5AUAUfpYEdqsc-f87sBK8A" id="-Y3SFEe-A-lRF8TaEn9vKNQ"
-        uri="roles/ScrumMaster.xmi"/>
-    <resourceDescriptors xmi:id="_N_XCIf-0EdqLnajTSLeAsA" id="-CgLjZ6Bwc0EyYyQCjzlw7g"
-        uri="rolesets/Scrum%20Roles.xmi"/>
-    <resourceDescriptors xmi:id="_aziTsP--Edqtbrr0B1TG-A" id="-NRwwk6YGAtu25V3Lc04G6w"
-        uri="tasks/Plan%20sprint%202.xmi"/>
-    <resourceDescriptors xmi:id="_9lx5QAAvEdubGMceRDupFQ" id="_9llsAAAvEdubGMceRDupFQ"
-        uri="deliveryprocesses/Scrum/model.xmi"/>
-    <resourceDescriptors xmi:id="_qJ7PoABSEdu3o4yroaI-tA" id="-juIDa_fXi2K1BE5NTblPow"
-        uri="customcategories/Intro.xmi"/>
-    <resourceDescriptors xmi:id="_OY10sABaEdu3o4yroaI-tA" id="-WfzsSn3X35gSHQZ2kqtoVw"
-        uri="guidances/supportingmaterials/Introduction.xmi"/>
-    <resourceDescriptors xmi:id="_hhv8QAB7EduSVaTQTBfIHA" id="-35iKPqDM2F2PjKWQLCW4tA"
-        uri="roles/Product%20Owner.xmi"/>
-    <resourceDescriptors xmi:id="_hh2C4AB7EduSVaTQTBfIHA" id="-mZfAV7RcWJlp5idlHzeEcA"
-        uri="tasks/Manage%20problems.xmi"/>
-    <resourceDescriptors xmi:id="_rosG4AEGEduzRosbOajx7w" id="-03XtfjRMEs23qIdCSSQiNQ"
-        uri="guidances/supportingmaterials/Copyright.xmi"/>
-    <resourceDescriptors xmi:id="_kTIcUAELEduzRosbOajx7w" id="-eSc2tcV1h17HBw_s8ROEVw"
-        uri="workproducttypes/Backlogs.xmi"/>
-    <resourceDescriptors xmi:id="_K5MbwAEPEduzRosbOajx7w" id="-Of1SdnAQ9nmsL5DFvD2Uug"
-        uri="workproducts/Product%20Backlog.xmi"/>
-    <resourceDescriptors xmi:id="_K5MbwQEPEduzRosbOajx7w" id="-LVZG5zK2YjEGXO3SwDmqug"
-        uri="roles/Team.xmi"/>
-    <resourceDescriptors xmi:id="_K5YpAAEPEduzRosbOajx7w" id="-u0-b4PNo9XzOh1-dv_aaKA"
-        uri="roles/StakeHolder.xmi"/>
-    <resourceDescriptors xmi:id="_AaX3AAEQEduzRosbOajx7w" id="-8V2DOvzUhvtqwWvTOHMB5g"
-        uri="workproducts/Sprint%20backlog.xmi"/>
-    <resourceDescriptors xmi:id="_A0kNwQESEduzRosbOajx7w" id="-zoJryMCuHfxWP7Q5Er195Q"
-        uri="tasks/Review%20sprint.xmi"/>
-    <resourceDescriptors xmi:id="_A0qUYAESEduzRosbOajx7w" id="-vDOuVl_xPKipKd90HQNZng"
-        uri="tasks/Scrum%20daily%20meeting.xmi"/>
-    <resourceDescriptors xmi:id="_A0qUYQESEduzRosbOajx7w" id="-XdgedeazfFRGDxMY3Fnh5g"
-        uri="tasks/Update%20product%20backlog.xmi"/>
-    <resourceDescriptors xmi:id="_wj_I8AEWEduzRosbOajx7w" id="-S4qXwp40l_8eCcyyI7o-3A"
-        uri="tasks/Retrospective.xmi"/>
-    <resourceDescriptors xmi:id="_WYwq0QEZEduzRosbOajx7w" id="-dU_t9olFRQIyOBZQvMndKg"
-        uri="guidances/concepts/Travail%20collaboratif.xmi"/>
-    <resourceDescriptors xmi:id="_pWgXYAL_EduOAKqB9I73uw" id="-4wqJQ0qXLYZ8kCnpDu--tA"
-        uri="disciplines/Scrum%20activities.xmi"/>
-    <resourceDescriptors xmi:id="_PitjwQOwEduJnc8byNAQ9Q" id="-zS9h38tmK4L-U9kbgkpGKQ"
-        uri="customcategories/Scrum%20Elements.xmi"/>
-    <resourceDescriptors xmi:id="_XQS7sAPKEdubhrgDuRb4fA" id="-3f4axrWBKHGv74oKN2x-gQ"
-        uri="tasks/Plan%20release.xmi"/>
-    <resourceDescriptors xmi:id="_XQZCUAPKEdubhrgDuRb4fA" id="-mi1O4H7RRm0YqlUNyp8TJg"
-        uri="tasks/Initiate%20Product%20Backlog.xmi"/>
-    <resourceDescriptors xmi:id="_E6ZVsBTREduFIr9xNbwGyQ" id="-MSO8KF-0IlKZJGnSwwTNZA"
-        uri="guidances/concepts/Presentation%20Scrum.xmi"/>
-    <resourceDescriptors xmi:id="_ZllqMDwUEdun48PxFCzHCw" id="-BPz1k8sC6CCyJ2yZCc1p2Q"
-        uri="guidances/concepts/Produit,%20release%20et%20sprint.xmi"/>
-    <resourceDescriptors xmi:id="_tO6jEHpCEdug1NkGFo_hTg" id="-6aCUL_kawJFNBtfH_sRXkw"
-        uri="workproducts/Product%20increment.xmi"/>
-    <resourceDescriptors xmi:id="_5nqe4IGJEduKE9hnyImx1Q" id="-KC1R73i9f6P7ZT4pgBOLzA"
-        uri="workproducts/Product%20Backlog%20Item.xmi"/>
-    <resourceDescriptors xmi:id="_74nh8YGWEduKE9hnyImx1Q" id="-EmLqiNX2WnmsfEtxNiuyTQ"
-        uri="guidances/reports/Release%20Planning.xmi"/>
-    <resourceDescriptors xmi:id="_U_2y4IHpEdu3SZQ-Dp1OAA" id="-6UJtuFO3WFBFpJOFeV1QMQ"
-        uri="workproducts/Sprint%20Backlog%20Item.xmi"/>
-    <resourceDescriptors xmi:id="_1MHpkIHqEduFs9jH8xc4xw" id="-fcoz1Nm_QnX6xtLg5YWdVg"
-        uri="guidances/termdefinitions/Sprint.xmi"/>
-    <resourceDescriptors xmi:id="_DD7t8IHrEduFs9jH8xc4xw" id="-XPyPmZTAVbnvJVuOLvYpXw"
-        uri="guidances/termdefinitions/Release.xmi"/>
-    <resourceDescriptors xmi:id="_mmlSkIKlEduQgtHqedKdMA" id="-GKfSarwQLoaHhoT71FQI8Q"
-        uri="guidances/termdefinitions/Theme.xmi"/>
-    <resourceDescriptors xmi:id="_P8d_YILXEduLd8CaF_IcMA" id="-PeP4fADValHXs2Z2Z8zJ1w"
-        uri="guidances/termdefinitions/Velocity.xmi"/>
-    <resourceDescriptors xmi:id="_IbymwILYEduLd8CaF_IcMA" id="-tHVOELWOQDI7i0M2rlMufQ"
-        uri="guidances/termdefinitions/Timebox.xmi"/>
-    <resourceDescriptors xmi:id="_tOn1YILYEduLd8CaF_IcMA" id="-KQ4Jzjy6YgAr_2NXa4J67g"
-        uri="guidances/termdefinitions/Burndown%20Chart.xmi"/>
-    <resourceDescriptors xmi:id="_-wFhAILYEduLd8CaF_IcMA" id="-pJuF9iKbSQx7TIwHNBVTgg"
-        uri="guidances/reports/Release%20Burndown%20Chart.xmi"/>
-    <resourceDescriptors xmi:id="_LCa1UILZEduLd8CaF_IcMA" id="-qVeT6_sAspmZjCYQLOrhbg"
-        uri="guidances/reports/Sprint%20Burndown%20Chart.xmi"/>
-    <resourceDescriptors xmi:id="_egmj0IRvEduo75chJsIcXg" id="-cfa6bdUgQuboNpJRKaCLAw"
-        uri="guidances/supportingmaterials/Scrum%20references.xmi"/>
-    <resourceDescriptors xmi:id="_cpeaYYSAEduo75chJsIcXg" id="-IPxNSDzXKWa-H_kJ2PMtYA"
-        uri="guidances/roadmaps/Application.xmi"/>
-  </org.eclipse.epf.uma.resourcemanager:ResourceManager>
-  <org.eclipse.epf.uma:MethodPlugin xmi:id="_mQ3eoPpYEdqsc-f87sBK8A" name="Scrum"
-      guid="_mQ3eoPpYEdqsc-f87sBK8A" briefDescription="Ce plugin porte sur l'utilisation de Scrum."
-      authors="Claude Aubry" changeDate="2006-12-05T09:52:42.109-0800" version="1.0"
-      copyrightStatement="_N8zs0AEGEduzRosbOajx7w">
-    <methodPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eofpYEdqsc-f87sBK8A"
-        name="Content" guid="_mQ3eofpYEdqsc-f87sBK8A">
-      <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eovpYEdqsc-f87sBK8A"
-          name="Categories" guid="_mQ3eovpYEdqsc-f87sBK8A">
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eo_pYEdqsc-f87sBK8A"
-            name="Domains" guid="_mQ3eo_pYEdqsc-f87sBK8A">
-          <contentElements xsi:type="org.eclipse.epf.uma:Domain" xmi:id="_AcwmAANoEduYd-55D-Aiqg"
-              name="Scrum Artefacts" guid="_AcwmAANoEduYd-55D-Aiqg" presentationName="Produits Scrum"
-              workProducts="_tCmYEP-xEdqLnajTSLeAsA _5ABscPpYEdqsc-f87sBK8A _Dzw70PpZEdqsc-f87sBK8A"/>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3epPpYEdqsc-f87sBK8A"
-            name="Disciplines" guid="_mQ3epPpYEdqsc-f87sBK8A">
-          <contentElements xsi:type="org.eclipse.epf.uma:Discipline" xmi:id="_6sdMAAL-EduOAKqB9I73uw"
-              name="Scrum activities" guid="_6sdMAAL-EduOAKqB9I73uw" briefDescription="Les activités spécifiques induites par l'application de Scrum."
-              presentationName="Activités Scrum" conceptsAndPapers="_OUjj0AEZEduzRosbOajx7w"
-              tasks="_Xpd5gP_AEdqtbrr0B1TG-A _STkWYP_BEdqtbrr0B1TG-A _ho-aIP_BEdqtbrr0B1TG-A _4LOggPpaEdqsc-f87sBK8A _J_sRIP_AEdqtbrr0B1TG-A _MRrRYPpbEdqsc-f87sBK8A _d09LYP_AEdqtbrr0B1TG-A _BGFMoANkEduYd-55D-Aiqg">
-            <presentation xmi:id="-4wqJQ0qXLYZ8kCnpDu--tA" href="uma://-4wqJQ0qXLYZ8kCnpDu--tA#-4wqJQ0qXLYZ8kCnpDu--tA"/>
-          </contentElements>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3epfpYEdqsc-f87sBK8A"
-            name="RoleSets" guid="_mQ3epfpYEdqsc-f87sBK8A">
-          <contentElements xsi:type="org.eclipse.epf.uma:RoleSet" xmi:id="_3qmmoP-zEdqLnajTSLeAsA"
-              name="Scrum Roles" guid="_3qmmoP-zEdqLnajTSLeAsA" briefDescription="Les rôles dans un projet qui applique Scrum."
-              presentationName="Rôles Scrum" conceptsAndPapers="_OUjj0AEZEduzRosbOajx7w"
-              roles="_ICJyYPpaEdqsc-f87sBK8A _t1K9kPpYEdqsc-f87sBK8A _9apLsPpaEdqsc-f87sBK8A _Qqmp8P_AEdqtbrr0B1TG-A">
-            <presentation xmi:id="-CgLjZ6Bwc0EyYyQCjzlw7g" href="uma://-CgLjZ6Bwc0EyYyQCjzlw7g#-CgLjZ6Bwc0EyYyQCjzlw7g"/>
-          </contentElements>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3epvpYEdqsc-f87sBK8A"
-            name="WP Types" guid="_mQ3epvpYEdqsc-f87sBK8A">
-          <contentElements xsi:type="org.eclipse.epf.uma:WorkProductType" xmi:id="_d-yk8ABREdu3o4yroaI-tA"
-              name="Backlogs" guid="_d-yk8ABREdu3o4yroaI-tA" briefDescription="Scrum utilise un nombre très restreint de produits de travail, essentiellement 2 listes appelées backlogs."
-              presentationName="Backlogs" workProducts="_5ABscPpYEdqsc-f87sBK8A _Dzw70PpZEdqsc-f87sBK8A">
-            <presentation xmi:id="-eSc2tcV1h17HBw_s8ROEVw" href="uma://-eSc2tcV1h17HBw_s8ROEVw#-eSc2tcV1h17HBw_s8ROEVw"/>
-          </contentElements>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3ep_pYEdqsc-f87sBK8A"
-            name="Tools" guid="_mQ3ep_pYEdqsc-f87sBK8A"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eqPpYEdqsc-f87sBK8A"
-            name="StandardCategories" guid="_mQ3eqPpYEdqsc-f87sBK8A"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eqfpYEdqsc-f87sBK8A"
-            name="CustomCategories" guid="_mQ3eqfpYEdqsc-f87sBK8A">
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3eqvpYEdqsc-f87sBK8A"
-              name="Hidden" guid="_mQ3eqvpYEdqsc-f87sBK8A">
-            <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_mQ3eq_pYEdqsc-f87sBK8A"
-                name="Catégories personnalisées" guid="_mQ3eq_pYEdqsc-f87sBK8A" categorizedElements="_7BSBkABCEduYUKPFgCzFuA _s8y1UABREdu3o4yroaI-tA _nF6fgALYEduFv7wnrO7SvQ"/>
-          </childPackages>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_7BSBkABCEduYUKPFgCzFuA"
-              name="Cycle de vie Scrum" guid="_7BSBkABCEduYUKPFgCzFuA" presentationName="Cycle de vie">
-            <categorizedElements xsi:type="org.eclipse.epf.uma:Roadmap" href="#_6Jox0IRuEduo75chJsIcXg"/>
-            <categorizedElements xsi:type="org.eclipse.epf.uma:DeliveryProcess" href="uma://_9llsAAAvEdubGMceRDupFQ#_9llsAQAvEdubGMceRDupFQ"/>
-            <categorizedElements xsi:type="org.eclipse.epf.uma:Concept" href="#_XtRuYP-zEdqLnajTSLeAsA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_s8y1UABREdu3o4yroaI-tA"
-              name="Intro" guid="_s8y1UABREdu3o4yroaI-tA" presentationName="Intro"
-              categorizedElements="_wz30kABREdu3o4yroaI-tA _3WivIBTQEduFIr9xNbwGyQ _PTGe4IRvEduo75chJsIcXg">
-            <presentation xmi:id="-juIDa_fXi2K1BE5NTblPow" href="uma://-juIDa_fXi2K1BE5NTblPow#-juIDa_fXi2K1BE5NTblPow"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_nF6fgALYEduFv7wnrO7SvQ"
-              name="Scrum Elements" guid="_nF6fgALYEduFv7wnrO7SvQ" briefDescription="Description des éléments de Scrum : rôles, réunions et backlogs, ainsi que des guides dans leur utilisation."
-              presentationName="Eléments" categorizedElements="_3qmmoP-zEdqLnajTSLeAsA _d-yk8ABREdu3o4yroaI-tA _6sdMAAL-EduOAKqB9I73uw">
-            <presentation xmi:id="-zS9h38tmK4L-U9kbgkpGKQ" href="uma://-zS9h38tmK4L-U9kbgkpGKQ#-zS9h38tmK4L-U9kbgkpGKQ"/>
-          </contentElements>
-        </childPackages>
-      </childPackages>
-      <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mQ3erPpYEdqsc-f87sBK8A"
-          name="CoreContent" guid="_mQ3erPpYEdqsc-f87sBK8A">
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_rkSgEPpYEdqsc-f87sBK8A"
-            name="Eléments de Scrum" guid="_rkSgEPpYEdqsc-f87sBK8A" briefDescription="Scrum signifie mêlée au rugby. Scrum utilise les valeurs et l'esprit du rugby et les adapte aux projets de développement. Comme le pack lors d'un ballon porté au rugby, l'équipe chargée du développement travaille de façon collective, soudée vers un objectif précis. Comme un demi de mêlée, le ScrumMaster aiguillonne les membres de l'équipe, les repositionne dans la bonne direction et donne le tempo pour assurer la réussite du projet.  Au delà de cet accent mis sur la puissance du collectif, Scrum est un processus agile qui attaque la complexité par une approche empirique. Scrum est facile à apprendre, Scrum est indépendant des méthodes et technologies utilisées : son adoption présente peu de risques. ">
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="_t1K9kPpYEdqsc-f87sBK8A"
-              name="ScrumMaster" guid="_t1K9kPpYEdqsc-f87sBK8A" briefDescription="C' est l'animateur d'une équipe Scrum."
-              presentationName="ScrumMaster" responsibleFor="_Dzw70PpZEdqsc-f87sBK8A">
-            <presentation xmi:id="-Y3SFEe-A-lRF8TaEn9vKNQ" href="uma://-Y3SFEe-A-lRF8TaEn9vKNQ#-Y3SFEe-A-lRF8TaEn9vKNQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="_5ABscPpYEdqsc-f87sBK8A"
-              name="Product Backlog" guid="_5ABscPpYEdqsc-f87sBK8A" briefDescription="Contient les exigences d'un produit"
-              presentationName="Backlog de produit" conceptsAndPapers="_XtRuYP-zEdqLnajTSLeAsA"
-              reports="_vKqe8PpaEdqsc-f87sBK8A _Z2NzkIGWEduKE9hnyImx1Q">
-            <presentation xmi:id="-Of1SdnAQ9nmsL5DFvD2Uug" href="uma://-Of1SdnAQ9nmsL5DFvD2Uug#-Of1SdnAQ9nmsL5DFvD2Uug"/>
-            <containedArtifacts xmi:id="_-D85cIGIEduKE9hnyImx1Q" name="Product Backlog Item"
-                guid="_-D85cIGIEduKE9hnyImx1Q" briefDescription="Chose à faire qui apporte de la valeur. Appelé PBI (Product Backlog Item)"
-                presentationName="Elément de backlog de produit">
-              <presentation xmi:id="-KC1R73i9f6P7ZT4pgBOLzA" href="uma://-KC1R73i9f6P7ZT4pgBOLzA#-KC1R73i9f6P7ZT4pgBOLzA"/>
-            </containedArtifacts>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="_Dzw70PpZEdqsc-f87sBK8A"
-              name="Sprint backlog" guid="_Dzw70PpZEdqsc-f87sBK8A" briefDescription="Liste des choses à faire du point de vue de l'équipe de développement."
-              presentationName="Backlog du sprint" reports="_jC4NwPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-8V2DOvzUhvtqwWvTOHMB5g" href="uma://-8V2DOvzUhvtqwWvTOHMB5g#-8V2DOvzUhvtqwWvTOHMB5g"/>
-            <containedArtifacts xmi:id="_9C78MIHnEdu3SZQ-Dp1OAA" name="Sprint Backlog Item"
-                guid="_9C78MIHnEdu3SZQ-Dp1OAA" briefDescription="C'est une tâche, un travail élémentaire à réaliser pendant le sprint."
-                presentationName="Elément de Backlog de Sprint">
-              <presentation xmi:id="-6UJtuFO3WFBFpJOFeV1QMQ" href="uma://-6UJtuFO3WFBFpJOFeV1QMQ#-6UJtuFO3WFBFpJOFeV1QMQ"/>
-            </containedArtifacts>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="_ICJyYPpaEdqsc-f87sBK8A"
-              name="Product Owner" guid="_ICJyYPpaEdqsc-f87sBK8A" briefDescription="C’est le représentant du &quot;métier&quot; dans le projet. "
-              presentationName="Directeur Produit" responsibleFor="_5ABscPpYEdqsc-f87sBK8A">
-            <presentation xmi:id="-35iKPqDM2F2PjKWQLCW4tA" href="uma://-35iKPqDM2F2PjKWQLCW4tA#-35iKPqDM2F2PjKWQLCW4tA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Report" xmi:id="_jC4NwPpaEdqsc-f87sBK8A"
-              name="Sprint Burndown Chart" guid="_jC4NwPpaEdqsc-f87sBK8A" briefDescription="Présentation de l'avancement du sprint courant."
-              presentationName="Sprint Burndown Chart" conceptsAndPapers="_XtRuYP-zEdqLnajTSLeAsA">
-            <presentation xmi:id="-qVeT6_sAspmZjCYQLOrhbg" href="uma://-qVeT6_sAspmZjCYQLOrhbg#-qVeT6_sAspmZjCYQLOrhbg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Report" xmi:id="_vKqe8PpaEdqsc-f87sBK8A"
-              name="Release Burndown Chart" guid="_vKqe8PpaEdqsc-f87sBK8A" briefDescription="Présentation de l'avancement de la release."
-              presentationName="Release Burndown Chart" conceptsAndPapers="_XtRuYP-zEdqLnajTSLeAsA">
-            <presentation xmi:id="-pJuF9iKbSQx7TIwHNBVTgg" href="uma://-pJuF9iKbSQx7TIwHNBVTgg#-pJuF9iKbSQx7TIwHNBVTgg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_4LOggPpaEdqsc-f87sBK8A"
-              name="Plan sprint" guid="_4LOggPpaEdqsc-f87sBK8A" briefDescription="Planification du court terme"
-              presentationName="Planifier le sprint" performedBy="_9apLsPpaEdqsc-f87sBK8A"
-              mandatoryInput="_5ABscPpYEdqsc-f87sBK8A" output="_Dzw70PpZEdqsc-f87sBK8A"
-              additionallyPerformedBy="_ICJyYPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-NRwwk6YGAtu25V3Lc04G6w" href="uma://-NRwwk6YGAtu25V3Lc04G6w#-NRwwk6YGAtu25V3Lc04G6w"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="_9apLsPpaEdqsc-f87sBK8A"
-              name="Team" guid="_9apLsPpaEdqsc-f87sBK8A" briefDescription="Il s'agit d'un rôle collectif. Tous les membres de l'équipe participent au travail, sans qu'on disitingue des fonctions particulières pour chacun."
-              presentationName="Equipe Scrum" responsibleFor="_tCmYEP-xEdqLnajTSLeAsA">
-            <presentation xmi:id="-LVZG5zK2YjEGXO3SwDmqug" href="uma://-LVZG5zK2YjEGXO3SwDmqug#-LVZG5zK2YjEGXO3SwDmqug"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_MRrRYPpbEdqsc-f87sBK8A"
-              name="Review sprint" guid="_MRrRYPpbEdqsc-f87sBK8A" briefDescription="Montrer ce qui a été réalisé et fonctionne. En tirer les conséquences."
-              presentationName="Faire la revue du sprint" performedBy="_9apLsPpaEdqsc-f87sBK8A"
-              mandatoryInput="_tCmYEP-xEdqLnajTSLeAsA" output="_5ABscPpYEdqsc-f87sBK8A"
-              additionallyPerformedBy="_ICJyYPpaEdqsc-f87sBK8A _t1K9kPpYEdqsc-f87sBK8A _Qqmp8P_AEdqtbrr0B1TG-A">
-            <presentation xmi:id="-zoJryMCuHfxWP7Q5Er195Q" href="uma://-zoJryMCuHfxWP7Q5Er195Q#-zoJryMCuHfxWP7Q5Er195Q"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="_tCmYEP-xEdqLnajTSLeAsA"
-              name="Product increment" guid="_tCmYEP-xEdqLnajTSLeAsA" briefDescription="Le produit partiel obtenu à la fin de chaque sprint."
-              presentationName="Incrément de produit">
-            <presentation xmi:id="-6aCUL_kawJFNBtfH_sRXkw" href="uma://-6aCUL_kawJFNBtfH_sRXkw#-6aCUL_kawJFNBtfH_sRXkw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_J_sRIP_AEdqtbrr0B1TG-A"
-              name="Retrospective" guid="_J_sRIP_AEdqtbrr0B1TG-A" briefDescription="Faire un bilan du sprint qui se termine"
-              presentationName="Rétrospective" performedBy="_9apLsPpaEdqsc-f87sBK8A"
-              output="_5ABscPpYEdqsc-f87sBK8A" additionallyPerformedBy="_ICJyYPpaEdqsc-f87sBK8A _t1K9kPpYEdqsc-f87sBK8A _Qqmp8P_AEdqtbrr0B1TG-A">
-            <presentation xmi:id="-S4qXwp40l_8eCcyyI7o-3A" href="uma://-S4qXwp40l_8eCcyyI7o-3A#-S4qXwp40l_8eCcyyI7o-3A"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="_Qqmp8P_AEdqtbrr0B1TG-A"
-              name="StakeHolder" guid="_Qqmp8P_AEdqtbrr0B1TG-A" briefDescription="Personne ne participant pas directement au projet mais ayant une influence sur celui-ci."
-              presentationName="Intervenant">
-            <presentation xmi:id="-u0-b4PNo9XzOh1-dv_aaKA" href="uma://-u0-b4PNo9XzOh1-dv_aaKA#-u0-b4PNo9XzOh1-dv_aaKA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_Xpd5gP_AEdqtbrr0B1TG-A"
-              name="Manage problems" guid="_Xpd5gP_AEdqtbrr0B1TG-A" briefDescription="Prendre en compte les événements qui surviennent à tout moment sur un projet et tenter de les régler."
-              presentationName="Gérer les problèmes" performedBy="_t1K9kPpYEdqsc-f87sBK8A"
-              output="_Dzw70PpZEdqsc-f87sBK8A" optionalInput="_Dzw70PpZEdqsc-f87sBK8A">
-            <presentation xmi:id="-mZfAV7RcWJlp5idlHzeEcA" href="uma://-mZfAV7RcWJlp5idlHzeEcA#-mZfAV7RcWJlp5idlHzeEcA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_d09LYP_AEdqtbrr0B1TG-A"
-              name="Scrum daily meeting" guid="_d09LYP_AEdqtbrr0B1TG-A" briefDescription="La régulation des activités de développement et de test se fait à travers les mêlées quotidiennes."
-              presentationName="Mêlée quotidienne" performedBy="_t1K9kPpYEdqsc-f87sBK8A"
-              mandatoryInput="_Dzw70PpZEdqsc-f87sBK8A" output="_Dzw70PpZEdqsc-f87sBK8A"
-              additionallyPerformedBy="_9apLsPpaEdqsc-f87sBK8A _ICJyYPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-vDOuVl_xPKipKd90HQNZng" href="uma://-vDOuVl_xPKipKd90HQNZng#-vDOuVl_xPKipKd90HQNZng"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_STkWYP_BEdqtbrr0B1TG-A"
-              name="Update product backlog" guid="_STkWYP_BEdqtbrr0B1TG-A" briefDescription="Prise en compte des changements de périmètre en vue de préparer les sprints suivants."
-              presentationName="Mettre à jour le backlog de produit" performedBy="_ICJyYPpaEdqsc-f87sBK8A"
-              mandatoryInput="_5ABscPpYEdqsc-f87sBK8A" output="_5ABscPpYEdqsc-f87sBK8A"
-              additionallyPerformedBy="_Qqmp8P_AEdqtbrr0B1TG-A _9apLsPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-XdgedeazfFRGDxMY3Fnh5g" href="uma://-XdgedeazfFRGDxMY3Fnh5g#-XdgedeazfFRGDxMY3Fnh5g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_ho-aIP_BEdqtbrr0B1TG-A"
-              name="Plan release" guid="_ho-aIP_BEdqtbrr0B1TG-A" briefDescription="Planification à moyen terme"
-              presentationName="Planifier la release" performedBy="_ICJyYPpaEdqsc-f87sBK8A"
-              mandatoryInput="_5ABscPpYEdqsc-f87sBK8A" output="_5ABscPpYEdqsc-f87sBK8A"
-              additionallyPerformedBy="_t1K9kPpYEdqsc-f87sBK8A _9apLsPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-3f4axrWBKHGv74oKN2x-gQ" href="uma://-3f4axrWBKHGv74oKN2x-gQ#-3f4axrWBKHGv74oKN2x-gQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="_OUjj0AEZEduzRosbOajx7w"
-              name="Travail collaboratif" guid="_OUjj0AEZEduzRosbOajx7w" presentationName="Travail collaboratif">
-            <presentation xmi:id="-dU_t9olFRQIyOBZQvMndKg" href="uma://-dU_t9olFRQIyOBZQvMndKg#-dU_t9olFRQIyOBZQvMndKg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="_XtRuYP-zEdqLnajTSLeAsA"
-              name="Produit, release et sprint" guid="_XtRuYP-zEdqLnajTSLeAsA" presentationName="Produit, release et sprint">
-            <presentation xmi:id="-BPz1k8sC6CCyJ2yZCc1p2Q" href="uma://-BPz1k8sC6CCyJ2yZCc1p2Q#-BPz1k8sC6CCyJ2yZCc1p2Q"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="_BGFMoANkEduYd-55D-Aiqg"
-              name="Initiate Product Backlog" guid="_BGFMoANkEduYd-55D-Aiqg" briefDescription="Identifier une liste d'items, les inclure dans le backlog et les classer par priorité."
-              presentationName="Elaborer le backlog de produit initial" performedBy="_ICJyYPpaEdqsc-f87sBK8A"
-              output="_5ABscPpYEdqsc-f87sBK8A" additionallyPerformedBy="_Qqmp8P_AEdqtbrr0B1TG-A _9apLsPpaEdqsc-f87sBK8A">
-            <presentation xmi:id="-mi1O4H7RRm0YqlUNyp8TJg" href="uma://-mi1O4H7RRm0YqlUNyp8TJg#-mi1O4H7RRm0YqlUNyp8TJg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="_3WivIBTQEduFIr9xNbwGyQ"
-              name="Presentation Scrum" guid="_3WivIBTQEduFIr9xNbwGyQ" briefDescription="Scrum repose sur une technique de gestion de projets qui conduit à obtenir un produit avec la plus grande valeur &quot;métier&quot; possible dans la durée la plus réduite."
-              presentationName="Scrum">
-            <presentation xmi:id="-MSO8KF-0IlKZJGnSwwTNZA" href="uma://-MSO8KF-0IlKZJGnSwwTNZA#-MSO8KF-0IlKZJGnSwwTNZA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Report" xmi:id="_Z2NzkIGWEduKE9hnyImx1Q"
-              name="Release Planning" guid="_Z2NzkIGWEduKE9hnyImx1Q" briefDescription="Plan montrant les sprints et les éléments du backlog associés à ces sprints"
-              presentationName="Planning de la release" conceptsAndPapers="_XtRuYP-zEdqLnajTSLeAsA">
-            <presentation xmi:id="-EmLqiNX2WnmsfEtxNiuyTQ" href="uma://-EmLqiNX2WnmsfEtxNiuyTQ#-EmLqiNX2WnmsfEtxNiuyTQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_kftWoIHqEduFs9jH8xc4xw"
-              name="Sprint" guid="_kftWoIHqEduFs9jH8xc4xw" presentationName="Sprint">
-            <presentation xmi:id="-fcoz1Nm_QnX6xtLg5YWdVg" href="uma://-fcoz1Nm_QnX6xtLg5YWdVg#-fcoz1Nm_QnX6xtLg5YWdVg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_AIB9gIHrEduFs9jH8xc4xw"
-              name="Release" guid="_AIB9gIHrEduFs9jH8xc4xw" presentationName="Release">
-            <presentation xmi:id="-XPyPmZTAVbnvJVuOLvYpXw" href="uma://-XPyPmZTAVbnvJVuOLvYpXw#-XPyPmZTAVbnvJVuOLvYpXw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_aeYKoIKlEduQgtHqedKdMA"
-              name="Theme" guid="_aeYKoIKlEduQgtHqedKdMA" presentationName="Thème">
-            <presentation xmi:id="-GKfSarwQLoaHhoT71FQI8Q" href="uma://-GKfSarwQLoaHhoT71FQI8Q#-GKfSarwQLoaHhoT71FQI8Q"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_HQEP8ILXEduLd8CaF_IcMA"
-              name="Velocity" guid="_HQEP8ILXEduLd8CaF_IcMA" presentationName="Vélocité">
-            <presentation xmi:id="-PeP4fADValHXs2Z2Z8zJ1w" href="uma://-PeP4fADValHXs2Z2Z8zJ1w#-PeP4fADValHXs2Z2Z8zJ1w"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_3qdXkILXEduLd8CaF_IcMA"
-              name="Timebox" guid="_3qdXkILXEduLd8CaF_IcMA" presentationName="Bloc de temps">
-            <presentation xmi:id="-tHVOELWOQDI7i0M2rlMufQ" href="uma://-tHVOELWOQDI7i0M2rlMufQ#-tHVOELWOQDI7i0M2rlMufQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:TermDefinition" xmi:id="_X5rREILYEduLd8CaF_IcMA"
-              name="Burndown Chart" guid="_X5rREILYEduLd8CaF_IcMA" presentationName="Graphe de tendance">
-            <presentation xmi:id="-KQ4Jzjy6YgAr_2NXa4J67g" href="uma://-KQ4Jzjy6YgAr_2NXa4J67g#-KQ4Jzjy6YgAr_2NXa4J67g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Roadmap" xmi:id="_6Jox0IRuEduo75chJsIcXg"
-              name="Application" guid="_6Jox0IRuEduo75chJsIcXg" briefDescription="Appliquer Scrum sans oublier les principes"
-              presentationName="Appliquer Scrum">
-            <presentation xmi:id="-IPxNSDzXKWa-H_kJ2PMtYA" href="uma://-IPxNSDzXKWa-H_kJ2PMtYA#-IPxNSDzXKWa-H_kJ2PMtYA"/>
-          </contentElements>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_SqGkoABREdu3o4yroaI-tA"
-            name="Général" guid="_SqGkoABREdu3o4yroaI-tA">
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="_wz30kABREdu3o4yroaI-tA"
-              name="Introduction" guid="_wz30kABREdu3o4yroaI-tA" briefDescription="Bienvenue dans Scrum !"
-              presentationName="Introduction">
-            <presentation xmi:id="-WfzsSn3X35gSHQZ2kqtoVw" href="uma://-WfzsSn3X35gSHQZ2kqtoVw#-WfzsSn3X35gSHQZ2kqtoVw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="_N8zs0AEGEduzRosbOajx7w"
-              name="Copyright" guid="_N8zs0AEGEduzRosbOajx7w" presentationName="Copyright">
-            <presentation xmi:id="-03XtfjRMEs23qIdCSSQiNQ" href="uma://-03XtfjRMEs23qIdCSSQiNQ#-03XtfjRMEs23qIdCSSQiNQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="_PTGe4IRvEduo75chJsIcXg"
-              name="Scrum references" guid="_PTGe4IRvEduo75chJsIcXg" presentationName="Références">
-            <presentation xmi:id="-cfa6bdUgQuboNpJRKaCLAw" href="uma://-cfa6bdUgQuboNpJRKaCLAw#-cfa6bdUgQuboNpJRKaCLAw"/>
-          </contentElements>
-        </childPackages>
-      </childPackages>
-      <childPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mQ3erfpYEdqsc-f87sBK8A"
-          name="CapabilityPatterns" guid="_mQ3erfpYEdqsc-f87sBK8A"/>
-    </methodPackages>
-    <methodPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mQ3ervpYEdqsc-f87sBK8A"
-        name="DeliveryProcesses" guid="_mQ3ervpYEdqsc-f87sBK8A">
-      <childPackages xsi:type="org.eclipse.epf.uma:ProcessComponent" xmi:id="_9llsAAAvEdubGMceRDupFQ"
-          href="uma://_9llsAAAvEdubGMceRDupFQ#_9llsAAAvEdubGMceRDupFQ"/>
-    </methodPackages>
-    <methodPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mQ3er_pYEdqsc-f87sBK8A"
-        name="ProcessContributions" guid="_mQ3er_pYEdqsc-f87sBK8A"/>
-  </org.eclipse.epf.uma:MethodPlugin>
-</xmi:XMI>
diff --git a/Scrum French/Scrum/roles/Product Owner.xmi b/Scrum French/Scrum/roles/Product Owner.xmi
deleted file mode 100644
index 87e5bba..0000000
--- a/Scrum French/Scrum/roles/Product Owner.xmi
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-35iKPqDM2F2PjKWQLCW4tA"
-    name="Product Owner,_ICJyYPpaEdqsc-f87sBK8A" guid="-35iKPqDM2F2PjKWQLCW4tA" authors="Claude Aubry"
-    changeDate="2006-12-06T00:55:24.078-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Le Directeur de produit (&lt;i>Product Owner&lt;/i>) est le représentant des clients et utilisateurs dans l'équipe.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A ce titre, il est responsable de définir les caractéristiques du produit développé par l'équipe en termes de :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;strong>fonctionnalités&lt;/strong> offertes. Plus précisément il identifie chaque exigence que doit&amp;nbsp;satisfaire&#xD;
-        le produit comme un&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
-        href=&quot;./../../Scrum/workproducts/Product%20Backlog%20Item_C561C125.html&quot; guid=&quot;_-D85cIGIEduKE9hnyImx1Q&quot;>Elément de&#xD;
-        backlog de produit&lt;/a>&amp;nbsp;(ou item). Il fournit les détails sur ces exigences quand c'est nécessaire pour&#xD;
-        l'équipe. Il est souhaitable qu'il spécifie&amp;nbsp;les tests d'acceptation (acceptance tests) de chaque exigence.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;strong>priorité&lt;/strong>. C'est lui qui définit l'ordre dans lequel ces éléments seront développés en fonction de&#xD;
-        la valeur qu'ils apportent aux clients et utilisateurs. Cela permet d'alimenter l'équipe avec un &lt;a&#xD;
-        class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Product%20Backlog_DB75BBD.html&quot;&#xD;
-        guid=&quot;_5ABscPpYEdqsc-f87sBK8A&quot;>Backlog de produit&lt;/a>&amp;nbsp;prêt pour la planification des sprints,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;strong>but&lt;/strong>. C'est lui définit l'objectif d'une release et qui prend les décisions concernant le &lt;a&#xD;
-        class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/reports/Release%20Planning_ED85F1BB.html&quot;&#xD;
-        guid=&quot;_Z2NzkIGWEduKE9hnyImx1Q&quot;>Planning de la release&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&lt;br /></mainDescription>
-  <keyConsiderations>&lt;p>&#xD;
-    Son implication est capitale pour assurer le succès du projet. En définissant sa vision sur le produit, il&amp;nbsp;donne&#xD;
-    l'impulsion à l'équipe. En promouvant à l'extérieur le résultat de chaque sprint, il fournit à l'équipe une&#xD;
-    reconnaissance qui la motive.&#xD;
-&lt;/p></keyConsiderations>
-  <skills>&lt;p>&#xD;
-    Une personne qui joue ce rôle devrait posséder les compétences suivantes :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        bonne connaissance du domaine métier,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        capacité à avoir une position respectée par tous les intervenants extérieurs (clients et utilisateurs),&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        capacité à prendre une décision au bon moment (pas trop tôt ni trop tard),&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        esprit ouvert au changement,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        facilité à communiquer avec l'équipe.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Quelqu'un qui a été Analyste Métier (Business Analyst) est un bon candidat pour ce rôle.&#xD;
-&lt;/p></skills>
-  <assignmentApproaches>&lt;p>&#xD;
-    Il n'y a qu'une seule personne qui joue ce rôle. Cette personne doit être affectée au projet (le Directeur de produit&#xD;
-    fait partie de l'équipe étendue et participe aux réunions). Le travail nécessite une affectation à plein temps ou&#xD;
-    presque.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Il est&amp;nbsp;important qu'il soit très disponible pour répondre aux questions de l'équipe, pour définir les tests&#xD;
-    fonctionnels et&amp;nbsp;donner son avis sur divers aspects du produit (l'interface homme machine d'un logiciel, par&#xD;
-    exemple).&#xD;
-&lt;/p></assignmentApproaches>
-  <synonyms>Propriétaire de produit (product owner en anglais),&amp;nbsp;Client (dans XP)</synonyms>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/Scrum French/Scrum/roles/ScrumMaster.xmi b/Scrum French/Scrum/roles/ScrumMaster.xmi
deleted file mode 100644
index 13a59d9..0000000
--- a/Scrum French/Scrum/roles/ScrumMaster.xmi
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-Y3SFEe-A-lRF8TaEn9vKNQ"
-    name="new_role,_t1K9kPpYEdqsc-f87sBK8A" guid="-Y3SFEe-A-lRF8TaEn9vKNQ" authors="Claude Aubry"
-    changeDate="2007-01-08T08:37:05.421-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Il a pour responsabilité, dans le cadre du développement d'un produit, d'aider l'équipe à travailler de façon autonome&#xD;
-    et à s'améliorer constamment.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pour cela, il effectue les travaux suivants :&amp;nbsp;&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        tâches périodiques,&amp;nbsp;dont l'objectif est de mettre en application Scrum en organisant et animant le&amp;nbsp;&lt;a&#xD;
-        class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/concepts/Travail%20collaboratif_8AECB83B.html&quot;&#xD;
-        guid=&quot;_OUjj0AEZEduzRosbOajx7w&quot;>Travail collaboratif&lt;/a>&amp;nbsp;(réunions)&amp;nbsp;: &#xD;
-        &lt;ul>&#xD;
-            &lt;li>&#xD;
-                Mêlée quotidienne.&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                Planification du sprint&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                Revue du sprint&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                Rétrospective&#xD;
-            &lt;/li>&#xD;
-        &lt;/ul>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        tâches sur évènement &#xD;
-        &lt;ul>&#xD;
-            &lt;li>&#xD;
-                éliminer les obstacles&amp;nbsp;: prendre en compte les évènements qui surviennent à tout moment sur un projet&#xD;
-                pour les régler au plus vite, tout en protégeant l’équipe des interférences extérieures&#xD;
-            &lt;/li>&#xD;
-        &lt;/ul>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        tâche de fond &#xD;
-        &lt;ul>&#xD;
-            &lt;li>&#xD;
-                faire en sorte que l’équipe reste concentrée sur le véritable objectif du projet, qui est de réaliser les&#xD;
-                éléments du Backlog en collaboration étroite avec le Directeur Produit, et soit productive .&#xD;
-            &lt;/li>&#xD;
-        &lt;/ul>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Analogies&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Le terme Scrum vient du rugby. Le poste de demi de mêlée est celui qui se rapproche le plus de l'idée de&#xD;
-        ScrumMaster.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Ken Schwaber compare le ScrumMaster à un chien de berger.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&lt;br /></mainDescription>
-  <keyConsiderations>&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ce n'est pas un chef de projet&amp;nbsp;: il ne dirige pas, il n'impose pas, il ne contraint pas.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Il fait partie de l'équipe&amp;nbsp;: il s'engage avec les autres.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Il doit régulièrement rencontrer physiquement les autres membres de l'équipe.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></keyConsiderations>
-  <skills>&lt;p>&#xD;
-    Les compétences et l'expérience souhaitées dépendent de la taille, de la complexité technique et de management. Il est&#xD;
-    préférable de posséder les compétences suivantes pour jouer&amp;nbsp;ce rôle :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        bien connaître Scrum,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        avoir des facilités de présentation, de communication et de négociation,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        guider sans imposer,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        faire preuve de qualité de meneur d'hommes et savoir motiver une équipe,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        savoir résoudre les conflits et les problèmes,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        communiquer honnêtement sur le degré d'avancement,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        garder le respect de l'objectif essentiel, qui est de livrer un produit qui remplit&amp;nbsp;ses exigences.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    En revanche il n'est pas nécessaire de :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        avoir de l'expérience du domaine de l'application (pas indispensable, mais ça peut aider),&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        avoir des compétences techniques sur le développement.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></skills>
-  <assignmentApproaches>&lt;p>&#xD;
-    Pour une équipe Scrum typique (de 6 à 10 personnes) , une seule personne joue ce rôle sur un projet.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Celui qui le joue peut, éventuellement, participer aux travaux du sprint avec les autres membres de l'équipe, mais cela&#xD;
-    doit rester limité.&#xD;
-&lt;/p></assignmentApproaches>
-  <synonyms>&lt;p>&#xD;
-    Facilitateur de processus. On désigne parfois le ScrumMaster comme une déclinaison agile du chef de projet, mais cela&#xD;
-    ne favorise pas la compréhension du rôle.&#xD;
-&lt;/p></synonyms>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/Scrum French/Scrum/roles/StakeHolder.xmi b/Scrum French/Scrum/roles/StakeHolder.xmi
deleted file mode 100644
index e01280c..0000000
--- a/Scrum French/Scrum/roles/StakeHolder.xmi
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-u0-b4PNo9XzOh1-dv_aaKA"
-    name="StakeHolder,_Qqmp8P_AEdqtbrr0B1TG-A" guid="-u0-b4PNo9XzOh1-dv_aaKA" authors="Claude Aubry"
-    changeDate="2006-12-03T00:39:26.078-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Un intervenant ne fait pas partie de l'équipe, mais il est intéressé par le produit réalisé. Il peut avoir une&#xD;
-    influence sur le déroulement du projet. Il participe à des réunions Scrum : voir sa contribution au &lt;a&#xD;
-    class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/concepts/Travail%20collaboratif_8AECB83B.html&quot;&#xD;
-    guid=&quot;_OUjj0AEZEduzRosbOajx7w&quot;>Travail collaboratif&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Dans son jargon, Scrum appelle&amp;nbsp;les personnes jouant ce rôle&amp;nbsp;des poules (chicken) et conseille de protéger&#xD;
-    l’équipe, constituée des cochons (pigs), de leur influence directe sur le projet pendant un sprint. Cela signifie que&#xD;
-    les intervenants ont des fenêtres d'intervention qui sont strictement définies afin de ne pas perturber le travail de&#xD;
-    l'équipe.&#xD;
-&lt;/p></mainDescription>
-  <synonyms>&lt;p>&#xD;
-    Partie-prenante (Stakeholder en anglais)&#xD;
-&lt;/p></synonyms>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/Scrum French/Scrum/roles/Team.xmi b/Scrum French/Scrum/roles/Team.xmi
deleted file mode 100644
index 24b87b2..0000000
--- a/Scrum French/Scrum/roles/Team.xmi
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-LVZG5zK2YjEGXO3SwDmqug"
-    name="Team,_9apLsPpaEdqsc-f87sBK8A" guid="-LVZG5zK2YjEGXO3SwDmqug" authors="Claude Aubry"
-    changeDate="2006-12-03T00:36:21.984-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Une équipe regroupe des membres qui forment un tout soudé capable de réaliser les différentes tâches sur&#xD;
-    lesquelles&amp;nbsp;elle s’engage collectivement lors de chaque sprint.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Elle possède la latitude voulue pour déterminer ce qui doit être fait afin d’atteindre le but fixé du sprint. Elle&#xD;
-    s’organise de façon autonome et planifie ses propres travaux, sans se les faire imposer.&#xD;
-&lt;/p></mainDescription>
-  <keyConsiderations>Par son approche centrée sur le collectif,&amp;nbsp;l'agilité contribue à améliorer la camaraderie dans l’équipe.</keyConsiderations>
-  <skills>L’équipe doit être capable de réaliser les différentes tâches sur lesquelles elle s'engage lors de la planification du&#xD;
-sprint. Cela signifie qu'elle doit être multi-fonctionnelle (cross-functional) pour couvrir les travaux d'analyse, de&#xD;
-conception, de codage, de test et autres.</skills>
-  <assignmentApproaches>Une équipe Scrum comprend généralement de&amp;nbsp;3 à 10 personnes.</assignmentApproaches>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/Scrum French/Scrum/roles/resources/148-le-role-de-scrummaster.html b/Scrum French/Scrum/roles/resources/148-le-role-de-scrummaster.html
deleted file mode 100644
index 83644c8..0000000
--- a/Scrum French/Scrum/roles/resources/148-le-role-de-scrummaster.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
-<head>
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-
-
-
-	
-	<meta name="MSSmartTagsPreventParsing" content="TRUE">
-	<link rel="previous" href="http://www.aubryconseil.com/dotclear/index.php/2007/01/05/146-inscription-technorati" title="Inscription Technorati">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Mes-projets" title="Mes projets">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Evenements" title="Mes événements">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Mes-conseils" title="Mes conseils">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Mes-cours" title="Mes cours">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/L-agilite-en-france" title="L'agilité en France">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/L-agilite-dans-le-monde" title="L'agilité dans le monde">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/L-agilite-en-dehors-du-logiciel" title="L'agilité en dehors du logiciel">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Mon-butinage" title="Mon butinage">
-<link rel="section" href="http://www.aubryconseil.com/dotclear/index.php/Mon-blog" title="Mon blog">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2007/01" title="janvier 2007">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/12" title="décembre 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/11" title="novembre 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/10" title="octobre 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/09" title="septembre 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/08" title="août 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/07" title="juillet 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/06" title="juin 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/05" title="mai 2006">
-<link rel="archive" href="http://www.aubryconseil.com/dotclear/index.php/2006/04" title="avril 2006">
-	<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.aubryconseil.com/dotclear/rss.php">
-	<link rel="alternate" type="application/xml" title="Atom" href="http://www.aubryconseil.com/dotclear/atom.php">
-	<meta name="DC.title" content="Scrum - Méthodes agiles"><title>Le rôle de ScrumMaster - Scrum - Méthodes agiles</title><!--
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
-<rdf:Description
-  rdf:about="http://www.aubryconseil.com/dotclear/index.php/2007/01/07/148-le-role-de-scrummaster"
-  dc:identifier="http://www.aubryconseil.com/dotclear/index.php/2007/01/07/148-le-role-de-scrummaster"
-  dc:title="Le rôle de ScrumMaster"
-  trackback:ping="http://www.aubryconseil.com/dotclear/tb.php?id=148" />
-</rdf:RDF>
--->
-	
-	
-	
-<link rel="stylesheet" type="text/css" href="148-le-role-de-scrummaster.css" media="all"></head><body>
-
-<div id="page">
-
-<div id="top">
-	<h1><a indepth="true" href="index.html">Scrum - Méthodes agiles</a></h1>
-</div>
-
-<p id="prelude"><a href="#main">Aller au contenu</a> |
-<a href="#sidebar">Aller au menu</a> |
-<a href="#search">Aller à la recherche</a></p>
-
-<div id="main">
-	<div id="content">
-			
-<div class="post">
-	<h2 class="post-title">Le rôle de ScrumMaster</h2>
-	<p class="post-info">
-<!-- 
-claude aubry,
--->
-	dimanche  7 janvier 2007 à 16:08	<span>::</span> <a indepth="true" href="mes-conseils.html">Mes conseils</a>
-	<span>::</span> <a indepth="true" href="148-le-role-de-scrummaster.html" title="Lien permanent vers : Le rôle de ScrumMaster">#148</a>
-	<span>::</span> <a href="http://www.aubryconseil.com/dotclear/rss.php?type=co&amp;post=148" title="fil RSS des commentaires de : Le rôle de ScrumMaster">rss</a>
-	</p>
-	
-	<div class="post-chapo"><p>Un résumé du rôle de ScrumMaster, l'animateur d'une équipe qui applique Scrum.</p></div>	<div class="post-content"><h5>Synonymes</h5>
-<ul>
-<li>Facilitateur de processus.</li>
-<li>On désigne parfois le ScrumMaster comme une déclinaison agile du chef de projet, mais cela ne favorise pas la compréhension du rôle <sup>[<a href="#pnote-148-1" id="rev-pnote-148-1">1</a>]</sup>.</li>
-</ul>
-<h5>Analogies</h5>
-<ul>
-<li>Le terme Scrum vient du rugby. Le poste de demi de mêlée est celui qui se rapproche le plus de l'idée de ScrumMaster.</li>
-<li>Ken Schwaber compare le ScrumMaster à un chien de berger.</li>
-</ul>
-<h5>Responsabilité</h5>
-
-<p>Il a pour responsabilité, dans le cadre du développement d'un produit, d'aider l'équipe à travailler de façon autonome et à s'améliorer constamment.</p>
-
-
-<h5>Tâches</h5>
-<ul>
-<li>tâches périodiques&nbsp;: mettre en application Scrum en organisant et animant les réunions&nbsp;:
-<ul>
-<li>Mêlée quotidienne.</li>
-<li>Planification du sprint</li>
-<li>Revue du sprint</li>
-<li>Rétrospective</li>
-</ul></li>
-<li>tâches sur évènement
-<ul>
-<li>éliminer les obstacles&nbsp;: prendre en compte les évènements qui surviennent à tout moment sur un projet pour les régler au plus vite, tout en protégeant l’équipe des interférences extérieures</li>
-</ul></li>
-<li>tâche de fond
-<ul>
-<li>faire en sorte que l’équipe reste concentrée sur le véritable objectif du projet, qui est de réaliser les éléments du Backlog en collaboration étroite avec le Directeur Produit, et soit productive .</li>
-</ul></li>
-</ul>
-
-<h5>Compétences</h5>
-
-<p>Les compétences et l'expérience souhaitées dépendent de la taille, de la complexité technique et de management. Il est préférable de posséder les compétences suivantes pour jouer ce rôle&nbsp;:</p>
-<ul>
-<li>bien connaitre Scrum,</li>
-<li>avoir des facilités de présentation, de communication et de négociation,</li>
-<li>guider sans imposer,</li>
-<li>faire preuve de qualité de meneur d'hommes et savoir motiver une équipe,</li>
-<li>savoir résoudre les conflits et les problèmes,</li>
-<li>communiquer honnêtement sur le degré d'avancement,</li>
-<li>garder le respect de l'objectif essentiel, qui est de livrer un produit qui apporte de la valeur avec une utilisation optimale des ressources.</li>
-</ul>
-
-<p>En revanche il n'est pas nécessaire de&nbsp;:</p>
-<ul>
-<li>avoir de l'expérience du domaine de l'application <sup>[<a href="#pnote-148-2" id="rev-pnote-148-2">2</a>]</sup>,</li>
-<li>avoir des compétences techniques sur le développement logiciel.</li>
-</ul>
-
-<h5>Affectation</h5>
-
-
-<p>Pour une équipe Scrum typique <sup>[<a href="#pnote-148-3" id="rev-pnote-148-3">3</a>]</sup>, une seule personne joue ce rôle sur un projet.</p>
-
-
-<p>Celui qui le joue peut, éventuellement, participer aux travaux du sprint avec les autres membres de l'équipe, mais cela doit rester limité.</p>
-
-<h5>Points clés</h5>
-<ul>
-<li>Ce n'est pas un chef de projet&nbsp;: il ne dirige pas, il n'impose pas, il ne contraint pas.</li>
-<li>Il fait partie de l'équipe&nbsp;: il s'engage avec les autres.</li>
-<li>Il doit régulièrement rencontrer physiquement les autres membres de l'équipe.</li>
-</ul>
-<div class="footnotes"><h4>Notes</h4>
-<p>[<a href="#rev-pnote-148-1" id="pnote-148-1">1</a>] voir sur ce sujet <a href="http://agilitateur.azeau.com/index.php?itemid=61" hreflang="fr">le billet de l'Agilitateur</a></p>
-<p>[<a href="#rev-pnote-148-2" id="pnote-148-2">2</a>] ce n'est pas indispensable, mais ça peut aider</p>
-<p>[<a href="#rev-pnote-148-3" id="pnote-148-3">3</a>] de 6 à 10 personnes</p></div></div>
-	
-	
-</div>
-
-<div id="trackbacks">
-	<h3 id="tb">Rétroliens</h3>
-			<p>Aucun rétrolien.</p>
-		
-		
-	
-				<p>Pour faire un rétrolien sur ce billet&nbsp;:
-		http://www.aubryconseil.com/dotclear/tb.php?id=148</p>
-	</div>
-	
-<div id="comments">
-	<h3 id="co">Commentaires</h3>
-			<p>Aucun commentaire pour le moment.</p>
-		
-		
-	
-	<h3>Ajouter un commentaire</h3>
-						<form action="http://www.aubryconseil.com/dotclear/index.php/2007/01/07/148-le-role-de-scrummaster" method="post" id="comment-form">
-<fieldset>
-			<p class="field"><label for="c_nom">Nom ou pseudo&nbsp;:</label>
-	<input name="c_nom" id="c_nom" size="30" maxlength="255" value="" type="text">
-	</p>
-
-	<p class="field"><label for="c_mail">Email (facultatif)&nbsp;:</label>
-	<input name="c_mail" id="c_mail" size="30" maxlength="255" value="" type="text">
-	</p>
-
-	<p class="field"><label for="c_site">Site Web (facultatif)&nbsp;:</label>
-	<input name="c_site" id="c_site" size="30" maxlength="255" value="http://" type="text">
-	</p>
-	
-	<p class="field"><label for="c_content">Commentaire&nbsp;:</label>
-	<textarea name="c_content" id="c_content" cols="35" rows="7"></textarea>
-	</p>
-</fieldset>
-
-<p class="form-help">Le code HTML dans le commentaire sera affiché comme du texte,
-les adresses internet seront converties automatiquement.</p>
-
-<fieldset>	
-	<p><input id="c_remember" name="c_remember" type="checkbox">
-	<label for="c_remember">Se souvenir de mes informations</label>
-	</p>
-	<p><input class="preview" name="preview" value="prévisualiser" type="submit">
-	<input class="submit" value="envoyer" type="submit">
-	<input name="redir" value="http://www.aubryconseil.com/dotclear/index.php/2007/01/07/148-le-role-de-scrummaster" type="hidden"></p>
-</fieldset>
-
-</form>
-			</div>		
-	</div>
-</div>
-	
-	<div id="sidebar">
-
-
-	<div id="presentation"><h2></h2><p>Dans ce blog ma contribution à la diffusion de Scrum à travers mes expériences en tant que <a href="http://www.aubryconseil.com/">consultant</a> et comme enseignant à l'<a href="http://www.iup-ups.ups-tlse.fr/isi/" hreflang="fr">IUP ISI</a> <br>
-Claude Aubry</p>
-	<a indepth="true" href="contact.html">Page contact</a>
-	</div>
-	
-	<div id="connexes">
-		<h2>Scrum</h2>
-		
-		<ul><li><a indepth="true" href="scrum_001.html">Introduction à Scrum</a>
-</li><li><a indepth="true" href="mon-offre-scrum.html">Essayer Scrum</a>
-</li><li><a indepth="true" href="icescrum.html">IceScrum</a>
-</li><li><a indepth="true" href="liens-scrum.html">Plus d'infos sur Scrum</a>
-</li></ul>   </div>
-   
-   
-	
-	<div id="tags">
-		<h2>Tags</h2>
-
-		<ul id="tagcloud"><li class="level-2"><a indepth="true" href="agilite.html">agilité</a> </li><li class="level-1"><a indepth="true" href="backlog.html">backlog</a> </li><li class="level-1"><a indepth="true" href="blog.html">blog</a> </li><li class="level-1"><a indepth="true" href="conference.html">conférence</a> </li><li class="level-1"><a indepth="true" href="contrat.html">contrat</a> </li><li class="level-1"><a indepth="true" href="dotclear.html">dotclear</a> </li><li class="level-1"><a indepth="true" href="epf.html">EPF</a> </li><li class="level-1"><a indepth="true" href="equipe.html">equipe</a> </li><li class="level-2"><a indepth="true" href="estimation.html">estimation</a> </li><li class="level-1"><a indepth="true" href="fac.html">fac</a> </li><li class="level-1"><a indepth="true" href="formation.html">formation</a> </li><li class="level-1"><a indepth="true" href="humour.html">humour</a> </li><li class="level-2"><a indepth="true" href="icescrum_001.html">icescrum</a> </li><li class="level-1"><a indepth="true" href="mesures.html">mesures</a> </li><li class="level-1"><a indepth="true" href="moi.html">moi</a> </li><li class="level-1"><a indepth="true" href="musique.html">musique</a> </li><li class="level-1"><a indepth="true" href="openup.html">OpenUP</a> </li><li class="level-1"><a indepth="true" href="outils.html">outils</a> </li><li class="level-2"><a indepth="true" href="planification.html">planification</a> </li><li class="level-2"><a indepth="true" href="processus.html">processus</a> </li><li class="level-1"><a indepth="true" href="presentation.html">présentation</a> </li><li class="level-1"><a indepth="true" href="release.html">release</a> </li><li class="level-1"><a indepth="true" href="rugby.html">rugby</a> </li><li class="level-1"><a indepth="true" href="retrospective.html">rétrospective</a> </li><li class="level-1"><a indepth="true" href="roles.html">rôles</a> </li><li class="level-5"><a indepth="true" href="scrum.html">scrum</a> </li><li class="level-1"><a indepth="true" href="sigmat.html">sigmat</a> </li><li class="level-1"><a indepth="true" href="tdd.html">tdd</a> </li><li class="level-1"><a indepth="true" href="techno.html">techno</a> </li><li class="level-2"><a indepth="true" href="tendances.html">tendances</a> </li><li class="level-1"><a indepth="true" href="traduction.html">traduction</a> </li><li class="level-1"><a indepth="true" href="uml.html">UML</a> </li><li class="level-2"><a indepth="true" href="user-stories.html">user stories</a> </li><li class="level-1"><a indepth="true" href="vision.html">vision</a> </li><li class="level-1"><a indepth="true" href="xp.html">xp</a> </li></ul>	</div>
-	
-	<div id="syndicate">
-   	<h2>Syndication</h2>
-	<a href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fwww.aubryconseil.com%2Fdotclear"><img src="add2netvibes.gif" alt="Add to Netvibes" height="17" width="91"></a>
-	<ul>
-		<li><a href="http://www.aubryconseil.com/dotclear/rss.php">fil rss</a></li>
-		<li><a href="http://www.aubryconseil.com/dotclear/rss.php?type=co">fil rss commentaires</a></li>
-		<li><a href="http://www.aubryconseil.com/dotclear/atom.php">fil atom</a></li>
-		<li><a href="http://www.aubryconseil.com/dotclear/atom.php?type=co">fil atom commentaires</a></li>
-	</ul>
-	</div>
-	
-	<div id="calendar">
-		<h2>Calendrier</h2>
-		<table summary="Calendrier">
-<caption><a indepth="true" href="12.html" title="décembre 2006">«</a> janvier 2007</caption><thead><tr><th scope="col"><abbr title="lundi">lun</abbr></th><th scope="col"><abbr title="mardi">mar</abbr></th><th scope="col"><abbr title="mercredi">mer</abbr></th><th scope="col"><abbr title="jeudi">jeu</abbr></th><th scope="col"><abbr title="vendredi">ven</abbr></th><th scope="col"><abbr title="samedi">sam</abbr></th><th scope="col"><abbr title="dimanche">dim</abbr></th></tr></thead>
-<tbody><tr><td><a indepth="true" href="01.html">1</a></td><td><a indepth="true" href="02.html">2</a></td><td>3</td><td><a indepth="true" href="04.html">4</a></td><td><a indepth="true" href="05.html">5</a></td><td>6</td><td class="active"><a indepth="true" href="07.html">7</a></td></tr>
-<tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr>
-<tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr>
-<tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr>
-<tr><td>29</td><td>30</td><td>31</td><td> </td><td> </td><td> </td><td> </td></tr>
-</tbody>
-</table>	</div>
-	
-	<div id="search">
-		<form action="http://www.aubryconseil.com/dotclear/index.php/" method="get">
-		
-			<h2><label for="q">Rechercher</label></h2>
-			<p class="field"><input name="q" id="q" size="10" value="" accesskey="4" type="text">
-			<input class="submit" value="ok" type="submit"></p>
-		
-		</form>
-	</div>
-	
-		<div id="selection"><h2>À retenir</h2><ul><li><a indepth="true" href="148-le-role-de-scrummaster.html">Le rôle de ScrumMaster</a></li><li><a indepth="true" href="132-le-role-de-directeur-de-produit.html">Le rôle de directeur de produit</a></li><li><a indepth="true" href="125-scrum-en-bref.html">Scrum en bref</a></li><li><a indepth="true" href="115-backlog-priorise.html">Backlog : critères pour établir les priorités</a></li><li><a indepth="true" href="99-discipline-et-agilite.html">Discipline et agilité</a></li><li><a indepth="true" href="87-duree-fixe-des-iterations.html">Durée fixe des itérations</a></li><li><a indepth="true" href="67-la-minute-ideale-du-randonneur.html">La minute idéale du randonneur</a></li><li><a indepth="true" href="58-agilite-pour-un-contrat-au-forfait.html">Agilité pour un contrat au forfait</a></li><li><a indepth="true" href="36-avant-la-premiere-iteration.html">Avant la première itération</a></li><li><a indepth="true" href="29-duree-d-une-iteration.html">Durée d'une itération</a></li></ul></div>	
-		
-	<div id="toclink">
-<h2><a indepth="true" href="toc.html">Table des matières</a></h2>
-</div>
-
-   
-
-	<div id="archives">
-		<h2>Archives</h2>
-		<ul><li><strong><a indepth="true" href="01_001.html">janvier 2007</a></strong></li><li><a indepth="true" href="12.html">décembre 2006</a></li><li><a indepth="true" href="11.html">novembre 2006</a></li><li><a indepth="true" href="10.html">octobre 2006</a></li><li><a indepth="true" href="09.html">septembre 2006</a></li><li><a indepth="true" href="08.html">août 2006</a></li><li><a indepth="true" href="07_001.html">juillet 2006</a></li><li><a indepth="true" href="06.html">juin 2006</a></li><li><a indepth="true" href="05_001.html">mai 2006</a></li><li><a indepth="true" href="04_001.html">avril 2006</a></li></ul>	</div>
-	
-	<div id="links">
-		<h2>Blogs lus régulièrement</h2>
-		<h3>Agile</h3><ul><li><a href="http://agilitateur.azeau.com/" hreflang="fr">L'Agilitateur</a></li><li><a href="http://kanemar.wordpress.com/" hreflang="EN">Kane Mar</a></li><li><a href="http://silkandspinach.net/" hreflang="EN">Silk and Spinach</a></li><li><a href="http://www.testing.com/cgi-bin/blog" hreflang="en">Exploration Through Example</a></li><li><a href="http://www.agileadvice.com/" hreflang="EN">Agile Advice</a></li><li><a href="http://theagileblog.net/" hreflang="en">On Be(come)ing Agile</a></li><li><a href="http://bossavit.com/thoughts/" hreflang="EN" rel="co-worker">Laurent Bossavit</a></li><li><a href="http://prog13.free.fr/" hreflang="fr">Avangel</a></li><li><a href="http://tcros.blogspot.com/" hreflang="fr">Thierry Cros</a></li></ul><h3>Techno</h3><ul><li><a href="http://www.dotnetguru2.org/proques/" hreflang="fr" title="Le blog de Pascal Roques">UML Guru</a></li><li><a href="http://www.inherence.fr/dotclear/" hreflang="fr">Parlons ISO 20000</a></li><li><a href="http://nauges.typepad.com/my_weblog/" hreflang="fr">Louis Naugès</a></li><li><a href="http://standblog.org/blog/" hreflang="fr">StandBlog</a></li></ul>	</div>
-	
-	<div id="categories">
-		<h2>Catégories</h2>
-		<ul><li><a indepth="true" href="mes-projets.html">Mes projets</a></li><li><a indepth="true" href="evenements.html">Mes événements</a></li><li><a indepth="true" href="mes-conseils.html">Mes conseils</a></li><li><a indepth="true" href="mes-cours.html">Mes cours</a></li><li><a indepth="true" href="l-agilite-en-france.html">L'agilité en France</a></li><li><a indepth="true" href="l-agilite-dans-le-monde.html">L'agilité dans le monde</a></li><li><a indepth="true" href="l-agilite-en-dehors-du-logiciel.html">L'agilité en dehors du logiciel</a></li><li><a indepth="true" href="mon-butinage.html">Mon butinage</a></li><li><a indepth="true" href="mon-blog.html">Mon blog</a></li></ul>	</div>
-	
-	
-	
-	
-</div><p id="footer">Le blog de Claude  Aubry est <a href="http://www.dotclear.net/">
-propulsé par DotClear</a></p>
-
-</div> 
-<!-- end #page -->
-
-<!-- Blocs en plus pour ajouter des images en tout genre si besoin -->
-<div id="block1"><span></span></div><div id="block2"><span></span></div>
-<div id="block3"><span></span></div><div id="block4"><span></span></div>
-<div id="block5"><span></span></div><div id="block6"><span></span></div>
-
-
-
-</body></html>
diff --git a/Scrum French/Scrum/rolesets/Scrum Roles.xmi b/Scrum French/Scrum/rolesets/Scrum Roles.xmi
deleted file mode 100644
index c82a1b8..0000000
--- a/Scrum French/Scrum/rolesets/Scrum Roles.xmi
+++ /dev/null
@@ -1,16 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-CgLjZ6Bwc0EyYyQCjzlw7g"
-    name="new_role_set,_3qmmoP-zEdqLnajTSLeAsA" guid="-CgLjZ6Bwc0EyYyQCjzlw7g" changeDate="2006-12-02T23:51:09.000-0800">
-  <mainDescription>&lt;p>&#xD;
-    Scrum définit uniquement 3 rôles pour les personnes qui participent aux travaux de développement. A la différence&#xD;
-    d’autres processus, il n’existe pas d’architecte, de programmeur, de testeur, d’analyste, de rédacteur. L’équipe&#xD;
-    regroupe les compétences sans distinction du rôle de chacun a priori.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Toutes les personnes ayant une influence sur&amp;nbsp;le projet sans y participer directement sont représentées par le rôle&#xD;
-    &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/StakeHolder_1207C822.html&quot;&#xD;
-    guid=&quot;_Qqmp8P_AEdqtbrr0B1TG-A&quot;>Intervenant&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/Scrum/scrum.jpg b/Scrum French/Scrum/scrum.jpg
deleted file mode 100644
index 5fe67e3..0000000
--- a/Scrum French/Scrum/scrum.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/tasks/Initiate Product Backlog.xmi b/Scrum French/Scrum/tasks/Initiate Product Backlog.xmi
deleted file mode 100644
index dddff00..0000000
--- a/Scrum French/Scrum/tasks/Initiate Product Backlog.xmi
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-mi1O4H7RRm0YqlUNyp8TJg"
-    name="Initiate Product Backlog,_BGFMoANkEduYd-55D-Aiqg" guid="-mi1O4H7RRm0YqlUNyp8TJg"
-    authors="Claude Aubry" changeDate="2006-12-03T00:00:53.343-0800" version="1.0.0">
-  <sections xmi:id="_pWL_gAPJEdubhrgDuRb4fA" name="Collecter les éléments du backlog"
-      guid="_pWL_gAPJEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Le &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot;&#xD;
-    guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a>&amp;nbsp;établit une première liste des exigences (une&#xD;
-    exigence&amp;nbsp;devient un&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/workproducts/Product%20Backlog%20Item_C561C125.html&quot; guid=&quot;_-D85cIGIEduKE9hnyImx1Q&quot;>Elément de&#xD;
-    backlog de produit&lt;/a>)&amp;nbsp;qu'il souhaite voir réalisées pour la fin de la release.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pour compléter cette liste et obtenir un backlog suffisant, il est conseillé d'organiser un workshop réunissant toute&#xD;
-    l'équipe plus des intervenants. Au cours de ce workshop, le &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot; guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur&#xD;
-    Produit&lt;/a>&amp;nbsp;présente son ébauche de backlog et chacun intervient pour proposer de nouveaux items.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Il est fréquent qu'un élément du backlog soit identifié&amp;nbsp;comme une histoire d'utilisateur (User story), technique&#xD;
-    utilisée à l'origine dans EXtreme Programming (XP) et qui s'adapte très bien&amp;nbsp;à Scrum.&#xD;
-&lt;/p>&lt;br /></sectionDescription>
-  </sections>
-  <sections xmi:id="_u0Z7sAPJEdubhrgDuRb4fA" name="Ordonner le backlog" guid="_u0Z7sAPJEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Le &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot;&#xD;
-    guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a>&amp;nbsp;ordonne les éléments du backlog selon une priorité&#xD;
-    décroissante. Pour lui, A plus prioritaire que B signifie qu'il souhaite disposer, dans un produit partiel, de l'item A&#xD;
-    avant l'item B.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Lorsque le backlog contient beaucoup d'éléments, le classement par priorité de chacun est fastidieux et délicat. C'est&#xD;
-    pourquoi il est utile de définir des &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/termdefinitions/Theme_E39DA34D.html&quot; guid=&quot;_aeYKoIKlEduQgtHqedKdMA&quot;>Thème&lt;/a>s,&#xD;
-    d'associer à&amp;nbsp;chaque élément un thème et de définir les&amp;nbsp;priorités sur les thèmes avant de passer aux éléments.&#xD;
-    Cela peut être fait lors d'une réunion à laquelle participent les &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/roles/StakeHolder_1207C822.html&quot; guid=&quot;_Qqmp8P_AEdqtbrr0B1TG-A&quot;>Intervenant&lt;/a>s, ainsi que des&#xD;
-    membres de l'équipe.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Le backlog initial doit permettre de planifier au moins les 2 ou 3 premiers sprints.&#xD;
-&lt;/p></keyConsiderations>
-  <purpose>Le but est de produire un backlog au moins suffisant pour permettre le démarrage de la série des sprints.</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Manage problems.xmi b/Scrum French/Scrum/tasks/Manage problems.xmi
deleted file mode 100644
index 69cf2d5..0000000
--- a/Scrum French/Scrum/tasks/Manage problems.xmi
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-mZfAV7RcWJlp5idlHzeEcA"
-    name="Manage problems,_Xpd5gP_AEdqtbrr0B1TG-A" guid="-mZfAV7RcWJlp5idlHzeEcA"
-    changeDate="2006-12-03T01:05:51.734-0800" version="1.0.0">
-  <sections xmi:id="_LCxqQAB6EduSVaTQTBfIHA" name="Prendre connaissance du problème"
-      guid="_LCxqQAB6EduSVaTQTBfIHA">
-    <sectionDescription>&lt;p>&#xD;
-    La réunion quotidienne est l'endroit idéal pour déceler les problèmes qu'une équipe rencontre. Elle peut même permettre&#xD;
-    de les résoudre immédiatement grâce à la collaboration de l'équipe. Cependant :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        il arrive que des problèmes urgents soient soulevés entre 2 réunions quotidiennes&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        et surtout la résolution des problèmes n'est pas faite en réunion (sauf si elle évidente)&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Suite à la mise en évidence d'un problème, par exemple lors de la réunion quotidienne,&amp;nbsp;identifier la cause du&#xD;
-    problème et les impacts sur le projet. Pour cela une communication orale, à l'initiative&amp;nbsp;du&amp;nbsp;&lt;a&#xD;
-    class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/ScrumMaster_FB66563.html&quot;&#xD;
-    guid=&quot;_t1K9kPpYEdqsc-f87sBK8A&quot;>ScrumMaster&lt;/a>,&amp;nbsp;avec la personne qui a soulevé le problème est souhaitable.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_PIKyUAB6EduSVaTQTBfIHA" name="Décider d'un plan d'action" guid="_PIKyUAB6EduSVaTQTBfIHA">
-    <sectionDescription>&lt;p>&#xD;
-    Identifier les solutions possibles.&lt;br />&#xD;
-     Une réunion avec le responsable hiérarchique est organisée si des problèmes survenant sur le projet ne peuvent pas&#xD;
-    être réglés simplement ou sont à un niveau au-dessus de son autorité.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Le &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/ScrumMaster_FB66563.html&quot;&#xD;
-    guid=&quot;_t1K9kPpYEdqsc-f87sBK8A&quot;>ScrumMaster&lt;/a>&amp;nbsp;doit s'efforcer de résoudre le problème au plus tôt, pour ne pas&#xD;
-    perturber l'avancement de l'équipe.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Cette tâche est centrée sur la résolution de ces problèmes.&#xD;
-&lt;/p></keyConsiderations>
-  <purpose>Le but est de d'éliminer les problèmes rencontrés par l'équipe pour qu'elle puisse se concentrer sur ses véritables&#xD;
-objectifs.</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Plan release.xmi b/Scrum French/Scrum/tasks/Plan release.xmi
deleted file mode 100644
index 6c50a37..0000000
--- a/Scrum French/Scrum/tasks/Plan release.xmi
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-3f4axrWBKHGv74oKN2x-gQ"
-    name="Plan release,_ho-aIP_BEdqtbrr0B1TG-A" guid="-3f4axrWBKHGv74oKN2x-gQ" changeDate="2006-12-03T00:23:18.328-0800"
-    version="1.0.0">
-  <sections xmi:id="_8qN08APJEdubhrgDuRb4fA" name="Définir les conditions de succès de la release"
-      guid="_8qN08APJEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Il existe 2 types de releases&amp;nbsp; :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        une release dirigée par la date de fin. L'objectif est de mettre en production ou à disposition des utilisateurs à&#xD;
-        une date fixée.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        une release dirigée par les fonctionnalités. La liste des exigences est connue et la release prendra fin lorsque&#xD;
-        toutes les exigences seront réalisées.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Les conditions de succès sont définies en fonction de ce type de release.&#xD;
-&lt;/p>&lt;br /></sectionDescription>
-  </sections>
-  <sections xmi:id="_BuXEQAPKEdubhrgDuRb4fA" name="Estimer les éléments du backlog"
-      guid="_BuXEQAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    L'estimation est faite pour chaque éléments. Il est préférable de travailler en premier sur les plus prioritaires.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    L'estimation est réalisée en équipe.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    La grandeur utilisée pour les estimations est de préférence le point, sans unités. Pour les valeurs utilisées pour les&#xD;
-    estimations, on utilise souvent la suite de Fibonacci (1, 2, 3, 5, 8 et 13).&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Les techniques d'estimation sont, de préférence, basées sur une approche collective de l'estimation. Il est conseillé&#xD;
-    de pratiquer le &quot;planning poker&quot; et de travailler par analogie en comparant les éléments estimés.&amp;nbsp;&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_EaLKQAPKEdubhrgDuRb4fA" name="Définir la durée des sprints" guid="_EaLKQAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Historiquement dans Scrum, la durée d'un sprint est de 30 jours. Cependant il est possible et même recommandé de faire&#xD;
-    des sprints plus courts. La durée dépend du projet et des contraintes qui s'y appliquent.&lt;br />&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_HDZ2UAPKEdubhrgDuRb4fA" name="Estimer la vélocité" guid="_HDZ2UAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    L'idéal est que l'équipe ait déjà travaillé ensemble sur un projet afin qu'on ait pu mesurer sa &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/termdefinitions/Velocity_410B5A1F.html&quot;&#xD;
-    guid=&quot;_HQEP8ILXEduLd8CaF_IcMA&quot;>Vélocité&lt;/a>&amp;nbsp;réelle. Elle sera alors utilisée pour cette release, éventuellement&#xD;
-    ajustée compte tenu de la nature du projet. Attention cependant un point n'a pas forcément la même valeur dans des&#xD;
-    projets différents.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Si ce n'est pas le cas, il faut faire une estimation de la vélocité. Le mieux est de travailler sur le contenu du&#xD;
-    premier sprint de la release et de voir ce que l'équipe pense pouvoir réaliser pendant ce premier sprint. Cela donne&#xD;
-    une vélocité estimée qui peut être utilisée pour la planification de la release. Ensuite la planification sera basée&#xD;
-    sur la vélocité mesurée dans les sprints précédents.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_I71XkAPKEdubhrgDuRb4fA" name="Associer les éléments du backlog aux sprints"
-      guid="_I71XkAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    En fonction des paramètres suivants :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        les estimations de chaque item,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        l'ordre dans lesquels les items sont classés (la priorité),&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        la vélocité estimée pour la release,&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    on affecte les items aux sprints de la release.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Il est normal d'ajuster, c'est à dire de changer légèrement l'ordre des items, ne serait-ce que pour se rapprocher le&#xD;
-    plus possible de la vélocité (en effet on ne tombe pas toujours &quot;rond&quot;).&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Il faut associer des items aux premiers sprints (les 2 ou 3 premiers), mais il n'est pas indispensable de le faire pour&#xD;
-    tous les sprints de la release.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>Il s'agit d'un travail collectif à l'initiative du directeur de produit.</keyConsiderations>
-  <purpose>&lt;p>&#xD;
-    Elaborer la planification initiale de la release permettant de lancer la série de sprints.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Plan sprint 2.xmi b/Scrum French/Scrum/tasks/Plan sprint 2.xmi
deleted file mode 100644
index 207264e..0000000
--- a/Scrum French/Scrum/tasks/Plan sprint 2.xmi
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-NRwwk6YGAtu25V3Lc04G6w"
-    name="Plan sprint,_4LOggPpaEdqsc-f87sBK8A" guid="-NRwwk6YGAtu25V3Lc04G6w" authors="Claude Aubry"
-    changeDate="2006-12-03T00:57:11.890-0800" version="1.0.0">
-  <sections xmi:id="_TJNsUP--Edqtbrr0B1TG-A" name="Définir le but du sprint" guid="_TJNsUP--Edqtbrr0B1TG-A">
-    <sectionDescription>&lt;p>&#xD;
-    Au début lors des premiers sprints de la première release d'un produit, le but est bien souvent de montrer la&#xD;
-    faisabilité de l'architecture envisagée.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ensuite, une fois que l'architecture est stabilisée, le but d'un sprint est proposé par le &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot; guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a> et&#xD;
-    discuté avec l'équipe. Il porte souvent sur un thème fonctionnel.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_xvy5UAPKEdubhrgDuRb4fA" name="Sélectionner les items" guid="_xvy5UAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Il s'agit de définir le périmètre de ce sprint. Cela est fait en associant un &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/workproducts/Product%20Backlog%20Item_C561C125.html&quot; guid=&quot;_-D85cIGIEduKE9hnyImx1Q&quot;>Elément de&#xD;
-    backlog de produit&lt;/a>&amp;nbsp;au sprint puis un autre en tenant compte de la vélocité de l'équipe.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Si un &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/reports/Release%20Planning_ED85F1BB.html&quot;&#xD;
-    guid=&quot;_Z2NzkIGWEduKE9hnyImx1Q&quot;>Planning de la release&lt;/a>&amp;nbsp;a été effectué, cette étape consiste seulement à valider&#xD;
-    collectivement le sous-ensemble du backlog prévu pour ce sprint.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_p4C0sP--Edqtbrr0B1TG-A" name="Identifier les tâches à partir des items"
-      guid="_p4C0sP--Edqtbrr0B1TG-A">
-    <sectionDescription>&lt;p>&#xD;
-    La 2ème partie de la réunion a pour objectif de définir comment l’équipe va s’arranger pour réaliser le résultat&#xD;
-    attendu du sprint.&lt;br />&#xD;
-     Pour cela, chaque &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Product%20Backlog%20Item_C561C125.html&quot;&#xD;
-    guid=&quot;_-D85cIGIEduKE9hnyImx1Q&quot;>Elément de backlog de produit&lt;/a>&amp;nbsp;sélectionné est décomposé en tâches. Cela permet&#xD;
-    à toute l’équipe de discuter et d’éclaircir des points de solution par rapport à cet item, en demandant si nécessaire&#xD;
-    au propriétaire de produit des précisions sur le comportement du produit.&lt;br />&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Normalement l'ensemble des activités du cycle de vie sont déroulées lors d'un sprint :&lt;br />&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Les exigences sélectionnées sont spécifiées&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        L'architecture est remaniée si nécessaire&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Les classes et sous-systèmes sont conçus, implémentés et testés&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Les différents composants sont intégrés et testés&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Le produit est packagé&amp;nbsp;&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Les tests d'acceptation sont passés.&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    L'importance donnée à ces activités dépend de la place du sprint dans la release.&lt;br />&#xD;
-    &lt;br />&#xD;
-     Le travail prévu dans un sprint précédent mais qui n'a pu être réalisé à cause de la réduction des objectifs devient&#xD;
-    prioritaire pour le sprint suivant.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_DxNQUAPLEdubhrgDuRb4fA" name="Estimer les tâches" guid="_DxNQUAPLEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Les taches sont estimées en heures. Il est conseillé d'avoir des tâches suffisamment fines pour qu'une estimation reste&#xD;
-    inférieure à 16 heures.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    L'estimation est faite collectivement, par l'équipe. Au cours de la discussion pour arriver à une estimation, les&#xD;
-    aspects techniques sont abordés.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_worbAP--Edqtbrr0B1TG-A" name="Attribuer les tâches" guid="_worbAP--Edqtbrr0B1TG-A">
-    <sectionDescription>Une fois que les activités du sprint ont été définies, elles seront affectées aux membres de l'équipe. Les activités&#xD;
-peuvent être réalisées par une ou plusieurs personnes. Toutes les activités doivent être prises en compte, y compris les&#xD;
-réunions de travail (hors réunions Scrum), les lectures de documents ou de code.&lt;br />&#xD;
-Il est préférable de différer l'affectation de certaines activités, qui seront prises pendant le sprint en fonction des&#xD;
-disponibilités des membres de l'équipe.</sectionDescription>
-  </sections>
-  <sections xmi:id="_Iq14wAPLEdubhrgDuRb4fA" name="Obtenir l'engagement de l'équipe"
-      guid="_Iq14wAPLEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Il est souhaitable que l'équipe s'engage collectivement sur le backlog du sprint, c'est à dire sur les éléments du&#xD;
-    backlog qu'elle estime pouvoir réaliser dans le sprint.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    La réunion de planification de sprint est un travail réalisé en groupe.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Elle est limitée dans le temps :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        durée max : limitée à 4 heures&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        durée moyenne : 2 heures&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></keyConsiderations>
-  <purpose>Le but est de planifier&amp;nbsp;le sprint&amp;nbsp;qui commence.</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Retrospective.xmi b/Scrum French/Scrum/tasks/Retrospective.xmi
deleted file mode 100644
index b79c05c..0000000
--- a/Scrum French/Scrum/tasks/Retrospective.xmi
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-S4qXwp40l_8eCcyyI7o-3A"
-    name="Retrospective,_J_sRIP_AEdqtbrr0B1TG-A" guid="-S4qXwp40l_8eCcyyI7o-3A" changeDate="2006-12-03T01:01:12.593-0800"
-    version="1.0.0">
-  <sections xmi:id="_lwzeABGPEduHloEV5-Zv-w" name="Discussion" guid="_lwzeABGPEduHloEV5-Zv-w">
-    <sectionDescription>Chaque membre de l’équipe est invité à s’exprimer sur ce qui s’est bien et mal passé dans l'application de Scrum sur le&#xD;
-projet.</sectionDescription>
-  </sections>
-  <sections xmi:id="_noL2YBGPEduHloEV5-Zv-w" name="Définir le plan d'actions" guid="_noL2YBGPEduHloEV5-Zv-w">
-    <sectionDescription>&lt;p>&#xD;
-    L’équipe discute des améliorations possibles et leur donne une priorité.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Le&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/ScrumMaster_FB66563.html&quot;&#xD;
-    guid=&quot;_t1K9kPpYEdqsc-f87sBK8A&quot;>ScrumMaster&lt;/a> ajoute les actions d’amélioration dans le backlog.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Chaque membre de l’équipe est invité à s’exprimer sur ce qui s’est bien et mal passé.&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        durée max : 2 heures&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        durée moyenne : 1 heure&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></keyConsiderations>
-  <purpose>L’objectif est d'améliorer continuellement le processus.</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Review sprint.xmi b/Scrum French/Scrum/tasks/Review sprint.xmi
deleted file mode 100644
index dfacc1d..0000000
--- a/Scrum French/Scrum/tasks/Review sprint.xmi
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-zoJryMCuHfxWP7Q5Er195Q"
-    name="Review sprint,_MRrRYPpbEdqsc-f87sBK8A" guid="-zoJryMCuHfxWP7Q5Er195Q" changeDate="2006-12-03T00:52:13.953-0800"
-    version="1.0.0">
-  <sections xmi:id="_XL6VgAPLEdubhrgDuRb4fA" name="Préparer la démonstration" guid="_XL6VgAPLEdubhrgDuRb4fA">
-    <sectionDescription>La préparation de la réunion ne doit pas excéder une heure.&lt;br /></sectionDescription>
-  </sections>
-  <sections xmi:id="_ZgJB8APLEdubhrgDuRb4fA" name="Effectuer la démonstration" guid="_ZgJB8APLEdubhrgDuRb4fA">
-    <sectionDescription>L’équipe présente le produit partiel résultat de ses travaux, sous forme de démonstration des exigences (histoires&#xD;
-d'utilisateur) réalisées. Seules les exigences complètement finies (et testées) sont présentées. Cela permet d’avoir une&#xD;
-mesure objective de l’avancement. &lt;br /></sectionDescription>
-  </sections>
-  <sections xmi:id="_cBouUAPLEdubhrgDuRb4fA" name="Evaluer les résultats du sprint"
-      guid="_cBouUAPLEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    Le&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot;&#xD;
-    guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a> et les intervenants présents (clients, utilisateurs) posent des&#xD;
-    questions à l’équipe, donnent leur impression, font des propositions et des demandes de changement. Le &lt;a&#xD;
-    class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Product%20Backlog_DB75BBD.html&quot;&#xD;
-    guid=&quot;_5ABscPpYEdqsc-f87sBK8A&quot;>Backlog de produit&lt;/a>&amp;nbsp;est enrichi avec les bugs découverts et les demandes&#xD;
-    d’évolution.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_hrswoHoYEduJVrY6eKG_mw" name="Calculer la vélocité réelle" guid="_hrswoHoYEduJVrY6eKG_mw">
-    <sectionDescription>&lt;p>&#xD;
-    La &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/termdefinitions/Velocity_410B5A1F.html&quot;&#xD;
-    guid=&quot;_HQEP8ILXEduLd8CaF_IcMA&quot;>Vélocité&lt;/a>&amp;nbsp;du sprint&amp;nbsp;est obtenue en faisant la somme de tous les points&#xD;
-    associés aux exigences considérées comme effectivement finies. Elle est comparée à celle des sprints précédents, le&#xD;
-    plus souvent à travers un &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/reports/Release%20Burndown%20Chart_C564AEDC.html&quot; guid=&quot;_vKqe8PpaEdqsc-f87sBK8A&quot;>Release&#xD;
-    Burndown Chart&lt;/a>.&amp;nbsp;&amp;nbsp;&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_d776UHoYEduJVrY6eKG_mw" name="Ajuster le plan de la release"
-      guid="_d776UHoYEduJVrY6eKG_mw">
-    <sectionDescription>&lt;p>&#xD;
-    Les conditions ont pu changer depuis la dernière planification de la release :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        des items ont pu être ajoutés ou suppirmés, les estimations modifiées,&amp;nbsp;&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        l'ordre dans lesquels les items sont classés (la priorité) a pu être modifié,&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    De plus la vélocité&amp;nbsp;moyenne a pu évoluer avec la prise de la vélocité calculée du sprint.&amp;nbsp;&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Le &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/reports/Release%20Planning_ED85F1BB.html&quot;&#xD;
-    guid=&quot;_Z2NzkIGWEduKE9hnyImx1Q&quot;>Planning de la release&lt;/a> est ajusté en tenant compte de ces nouveaux paramètres.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Travail en groupe (lors de la réunion dite de revue de sprint)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pour la réunion :&#xD;
-&lt;/p>&#xD;
-&lt;ul class=&quot;noindent&quot;>&#xD;
-    &lt;li>&#xD;
-        durée max : &amp;nbsp;2 heures&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        durée moyenne : 1 heure&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></keyConsiderations>
-  <purpose>&amp;nbsp;Le but est de montrer les exigences réalisées pendant le sprint par une démonstration du produit partiel</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Scrum daily meeting.xmi b/Scrum French/Scrum/tasks/Scrum daily meeting.xmi
deleted file mode 100644
index 7fc8cb9..0000000
--- a/Scrum French/Scrum/tasks/Scrum daily meeting.xmi
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-vDOuVl_xPKipKd90HQNZng"
-    name="Scrum daily meeting,_d09LYP_AEdqtbrr0B1TG-A" guid="-vDOuVl_xPKipKd90HQNZng"
-    changeDate="2006-12-03T01:07:26.890-0800" version="1.0.0">
-  <sections xmi:id="_oUrlcBGOEduHloEV5-Zv-w" name="Préparer" guid="_oUrlcBGOEduHloEV5-Zv-w">
-    <sectionDescription>Chacun met à jour le planning ( le backlog se sprint) en actualisant le reste à faire sur ses tâches, ce qui permet de&#xD;
-produire un &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/guidances/reports/Sprint%20Burndown%20Chart_C6600C07.html&quot;&#xD;
-guid=&quot;_jC4NwPpaEdqsc-f87sBK8A&quot;>Sprint Burndown Chart&lt;/a>.</sectionDescription>
-  </sections>
-  <sections xmi:id="_r0KkEBGOEduHloEV5-Zv-w" name="Se réunir" guid="_r0KkEBGOEduHloEV5-Zv-w">
-    <sectionDescription>&lt;p>&#xD;
-    Chaque membre de l’équipe s’exprime tour à tour, en répondant à 3 questions sur :&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Ce qui a été fait depuis la mêlée précédente (en principe la veille)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Ce qui va être fait aujourd’hui&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Les problèmes rencontrés&amp;nbsp;&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    Il est souhaitable que la réunion s'effectue avec tous les personnes de l'équipe debout en cercle et en ayant sous les&#xD;
-    yeux le &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Sprint%20backlog_AEF9CB4A.html&quot;&#xD;
-    guid=&quot;_Dzw70PpZEdqsc-f87sBK8A&quot;>Backlog du sprint&lt;/a>&amp;nbsp;et le &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/reports/Sprint%20Burndown%20Chart_C6600C07.html&quot; guid=&quot;_jC4NwPpaEdqsc-f87sBK8A&quot;>Sprint&#xD;
-    Burndown Chart&lt;/a>&amp;nbsp;actualisés.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_vZkkgBGOEduHloEV5-Zv-w" name="Consolider" guid="_vZkkgBGOEduHloEV5-Zv-w">
-    <sectionDescription>Le&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Sprint%20backlog_AEF9CB4A.html&quot;&#xD;
-guid=&quot;_Dzw70PpZEdqsc-f87sBK8A&quot;>Backlog du sprint&lt;/a>&amp;nbsp;remis à jour sert à prendre une décision sur l'ajustement du but&#xD;
-du sprint. Il faut avoir à l'esprit qu'un sprint est limité dans le temps (bloc de temps) et qu'il est préférable de&#xD;
-supprimer du contenu prévu initialement plutôt que d'avoir du retard. &lt;br />&#xD;
-Les problèmes soulevés sont résolus&amp;nbsp;lors de&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/tasks/Manage%20problems_3EEA5FD9.html&quot; guid=&quot;_Xpd5gP_AEdqtbrr0B1TG-A&quot;>Gérer les problèmes&lt;/a>&amp;nbsp;à&#xD;
-l'initiative du &lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/roles/ScrumMaster_FB66563.html&quot;&#xD;
-guid=&quot;_t1K9kPpYEdqsc-f87sBK8A&quot;>ScrumMaster&lt;/a>.</sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Se déroule tous les jours, avec toute l'équipe, de préférence le matin en arrivant : il est souhaitable que la réunion&#xD;
-    ait lieu tous les jours au même endroit et à la même heure.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    La réunion est limitée à 15 minutes.&amp;nbsp;&lt;br />&#xD;
-     L’objectif est d’examiner l’avancement des travaux et d'identifier les problèmes potentiels, mais pas de résoudre les&#xD;
-    problèmes&#xD;
-&lt;/p></keyConsiderations>
-  <purpose>Le but est de faire le point sur l'avancement de l'équipe et d'identifier les problèmes. L’objectif est uniquement&#xD;
-d’examiner l’avancement des travaux, pas de résoudre les problèmes.</purpose>
-  <alternatives>&lt;p>&#xD;
-    Appelé aussi Stand-Up Meeting (XP)&#xD;
-&lt;/p></alternatives>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/tasks/Update product backlog.xmi b/Scrum French/Scrum/tasks/Update product backlog.xmi
deleted file mode 100644
index 989bd0d..0000000
--- a/Scrum French/Scrum/tasks/Update product backlog.xmi
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-XdgedeazfFRGDxMY3Fnh5g"
-    name="Manage product backlog,_STkWYP_BEdqtbrr0B1TG-A" guid="-XdgedeazfFRGDxMY3Fnh5g"
-    changeDate="2006-12-03T00:12:31.968-0800" version="1.0.0">
-  <sections xmi:id="_c3HaQAPKEdubhrgDuRb4fA" name="Collecter les changements" guid="_c3HaQAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    N’importe qui, même un intervenant extérieur, peut proposer des changements à ajouter au backlog.&lt;br />&#xD;
-     Les bugs et les demandes d’évolution issus des essais du produit partiel obtenu à la fin du sprint précédent viennent&#xD;
-    également enrichir le backlog.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ces éléments sont analysés par le propriétaire du produit en vue de la planification du prochain sprint.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_fkXDoAPKEdubhrgDuRb4fA" name="Réordonner les items" guid="_fkXDoAPKEdubhrgDuRb4fA">
-    <sectionDescription>Les éléments ajoutés depuis le sprint précédent sont ordonnés dans le backlog par le&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot; guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a> en vue de la&#xD;
-planification à venir.</sectionDescription>
-  </sections>
-  <sections xmi:id="_k-kCgAPKEdubhrgDuRb4fA" name="Réestimer les items" guid="_k-kCgAPKEdubhrgDuRb4fA">
-    <sectionDescription>&lt;p>&#xD;
-    L'estimation en points des nouveaux éléments introduits dans le backlog est faite par l'équipe, de préférence lors d'un&#xD;
-    travail de groupe avec le Directeur de prouit, un ou 2 jours avant la revue de fin de sprint.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Des items déjà présents peuvent également être réestimés.&#xD;
-&lt;/p></sectionDescription>
-  </sections>
-  <keyConsiderations>&lt;p>&#xD;
-    Pendant le sprint, personne ne peut modifier la sélection des items du backlog effectuée au début du sprint : le&#xD;
-    périmètre du sprint reste inchangé.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    En revanche, n’importe qui, même un intervenant extérieur, peut proposer de nouveaux items pour plus tard. Ces items&#xD;
-    sont étudiés et ordonnés par le propriétaire du produit en vue de la planification du prochain sprint.&lt;br />&#xD;
-     Les bugs et les demandes d’évolution issus des essais du produit partiel obtenu à la fin du sprint précédent viennent&#xD;
-    également enrichir le backlog.&#xD;
-&lt;/p></keyConsiderations>
-  <purpose>Actualiser le backlog et ajuster la planification en tenant compte des changements apparus depuis le dernier sprint.</purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/Scrum French/Scrum/workproducts/Product Backlog Item.xmi b/Scrum French/Scrum/workproducts/Product Backlog Item.xmi
deleted file mode 100644
index bd98e6e..0000000
--- a/Scrum French/Scrum/workproducts/Product Backlog Item.xmi
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-KC1R73i9f6P7ZT4pgBOLzA"
-    name="new_artifact,_-D85cIGIEduKE9hnyImx1Q" guid="-KC1R73i9f6P7ZT4pgBOLzA" changeDate="2006-12-01T14:15:03.002-0800">
-  <mainDescription>C'est une exigence fonctionnelle ou non fonctionnelle (technique), une demande d'évolution, un bug ou tout autre&#xD;
-chose&amp;nbsp;dont la réalisation apporte de la valeur au &lt;a class=&quot;elementLink&quot;&#xD;
-href=&quot;./../../Scrum/roles/Product%20Owner_D991557B.html&quot; guid=&quot;_ICJyYPpaEdqsc-f87sBK8A&quot;>Directeur Produit&lt;/a>.&amp;nbsp; &#xD;
-&lt;p>&#xD;
-    Il possède des attributs qui sont généralement :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        une estimation de sa valeur qui est le plus souvent montrée de façon relative aux autres éléments par la notion de&#xD;
-        priorité,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        une estimation de son coût de développement,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        éventuellement le thème (domaine fonctionnel) dont il fait partie,&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        éventuellement son type (défini en fonction du projet, par exemple histoire d'utilisateur, bug, exigence non&#xD;
-        fonctionnelle),&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Si on utilise la technique des histoires d'utilisateur (user stories) et le développement dirigé par les tests (TDD),&#xD;
-    on associe les critères servant aux tests d'acceptation de cet élément.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    La vie d'un PBI passe par les états suivants :&#xD;
-&lt;/p>&#xD;
-&lt;ul class=&quot;noindent&quot;>&#xD;
-    &lt;li>&#xD;
-        créé&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        estimé&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        planifié (associé à un&amp;nbsp;sprint futur&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        associé au sprint courant (on le réalise)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        réalisé&#xD;
-    &lt;/li>&#xD;
-    &lt;li style=&quot;list-style: none&quot;>&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-  <externalId>PBI</externalId>
-  <keyConsiderations>Le principe de Scrum est de finir complètement un PBI dans un sprint.</keyConsiderations>
-  <purpose>Sert à la gestion de projet : il sera placé dans un sprint</purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/Scrum French/Scrum/workproducts/Product Backlog.xmi b/Scrum French/Scrum/workproducts/Product Backlog.xmi
deleted file mode 100644
index fbb87c6..0000000
--- a/Scrum French/Scrum/workproducts/Product Backlog.xmi
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-Of1SdnAQ9nmsL5DFvD2Uug"
-    name="Product Backlog,_5ABscPpYEdqsc-f87sBK8A" guid="-Of1SdnAQ9nmsL5DFvD2Uug"
-    authors="Claude AUbry" changeDate="2006-12-03T00:31:43.140-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Le backlog du produit est le référentiel des exigences. Il contient des éléments du backlog (appelés aussi des items de&#xD;
-    backlog de produit).&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Sa vie est liée à celle du produit.&#xD;
-&lt;/p></mainDescription>
-  <purpose>Lister toutes les choses à faire&amp;nbsp;du point de vue du client (le quoi)</purpose>
-  <impactOfNotHaving>Obligatoire</impactOfNotHaving>
-  <briefOutline>Visible par tous, il est mis à jour régulièrement. Il est présenté à la revue de planification du sprint et, une fois&#xD;
-accepté, la partie contenant les exigences allouées au sprint courant est gelée.</briefOutline>
-  <representationOptions>&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Cartes (story cards)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Feuille d'un tableur&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Outil IceScrum&amp;nbsp;&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Base de données&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></representationOptions>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/Scrum French/Scrum/workproducts/Product increment.xmi b/Scrum French/Scrum/workproducts/Product increment.xmi
deleted file mode 100644
index 4cf8916..0000000
--- a/Scrum French/Scrum/workproducts/Product increment.xmi
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-6aCUL_kawJFNBtfH_sRXkw"
-    name="Product increment,_tCmYEP-xEdqLnajTSLeAsA" guid="-6aCUL_kawJFNBtfH_sRXkw"
-    changeDate="2006-12-03T01:04:18.218-0800" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Le résultat principal d'un sprint est le produit partiel qui réalise, en plus de ce qui existait au début du&#xD;
-    sprint,&amp;nbsp;les exigences supplémentaires réalisées pendant ce sprint.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    On peut&amp;nbsp;trouver 3 utilisations -après la démonstration lors de la revue de sprintes- du produit partiel obtenu en&#xD;
-    fin d'itération&amp;nbsp;:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        il n'est pas utilisé en dehors de l'équipe. Il a été produit pour chercher à minimiser les risques liés à la&#xD;
-        technologie et à la capacité de l'équipe à intégrer pour produire un &lt;q>build&lt;/q>. Cela arrive surtout au début&#xD;
-        d'un nouveau produit.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        il est utilisé par des clients privilégiés, en plus du directeur produit. Cela leur donne la possibilité de jouer&#xD;
-        avec, ce qui permet de réduire les risques portant sur l'IHM liées à la facilité d'utilisation des fonctionnalités.&#xD;
-        Les retours faits iront alimenter le backlog pour prise en compte ultérieure.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        il est mis en production ou en exploitation et utilisé par ses utilisateurs finals. C'est évidemment ce qu'il faut&#xD;
-        viser puisque chaque nouvelle version apporte de la valeur. Autant l'apporter le plus tôt possible, dès qu'elle est&#xD;
-        disponible. Mais ce n'est généralement pas possible de mettre en production à la fin de chaque sprint : trop de&#xD;
-        temps serait pris pour passer les tests de recette sur tout le système, déployer sur l'environnement de production,&#xD;
-        écrire les manuels utilisateurs, préparer et donner la formation aux utilisateurs... C'est pourquoi ce travail&#xD;
-        particulier nécessite souvent une activité de préparation à la mise en production. Mais si on réussit à limiter le&#xD;
-        temps pour faire tout ça, on peut alors mettre en production plus souvent qu'à la fin des releases.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&lt;br /></mainDescription>
-  <keyConsiderations>&lt;p>&#xD;
-    Le produit évolue pendant toute sa vie jusqu'à son retrait.&#xD;
-&lt;/p></keyConsiderations>
-  <briefOutline>Le produit partiel peut être déployé dans l'environnement de production&amp;nbsp;ou simplement mis à disposition des&#xD;
-utilisateurs.</briefOutline>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/Scrum French/Scrum/workproducts/Sprint Backlog Item.xmi b/Scrum French/Scrum/workproducts/Sprint Backlog Item.xmi
deleted file mode 100644
index f9fc0a3..0000000
--- a/Scrum French/Scrum/workproducts/Sprint Backlog Item.xmi
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-6UJtuFO3WFBFpJOFeV1QMQ"
-    name="new_artifact,_9C78MIHnEdu3SZQ-Dp1OAA" guid="-6UJtuFO3WFBFpJOFeV1QMQ" changeDate="2006-12-02T01:38:33.140-0800">
-  <mainDescription>&lt;p>&#xD;
-    Chaque tâche possède les attributs suivants :&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        l'estimation du temps à passer pour finir la tâche. Les efforts sont estimés, par l’équipe, en heures sur une&#xD;
-        échelle qui varie habituellement de 1à 16 heures. Les tâches plus grandes devraient être décomposées. L’estimation&#xD;
-        du reste à faire est réactualisée tous les jours.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        l'&lt;a class=&quot;elementLink&quot; href=&quot;./../../Scrum/workproducts/Product%20Backlog%20Item_C561C125.html&quot;&#xD;
-        guid=&quot;_-D85cIGIEduKE9hnyImx1Q&quot;>Elément de backlog de produit&lt;/a>&amp;nbsp;à l'origine de cette tâche&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        la personne qui prend en compte cette tâche&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/Scrum French/Scrum/workproducts/Sprint backlog.xmi b/Scrum French/Scrum/workproducts/Sprint backlog.xmi
deleted file mode 100644
index 156248a..0000000
--- a/Scrum French/Scrum/workproducts/Sprint backlog.xmi
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-8V2DOvzUhvtqwWvTOHMB5g"
-    name="Sprint backlog,_Dzw70PpZEdqsc-f87sBK8A" guid="-8V2DOvzUhvtqwWvTOHMB5g" changeDate="2006-12-03T01:17:45.781-0800"
-    version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Il&amp;nbsp;contient la liste des tâches que l’équipe s’engage à faire afin de compléter les éléments de backlog de produit&#xD;
-    sélectionnés pour ce sprint.&lt;br />&#xD;
-     L’équipe peut modifier une tâche, la supprimer ou en ajouter de nouvelles : il est courant que des tâches apparaissent&#xD;
-    lors du sprint.&#xD;
-&lt;/p></mainDescription>
-  <purpose>Il&amp;nbsp;décrit l'ensemble des&amp;nbsp;tâches d'un sprint, avec les ressources qui y sont affectées et le travail qui reste à&#xD;
-faire. C'est un plan qui porte sur des tâches détaillées, il est dit à &quot;mailles fines&quot;.</purpose>
-  <impactOfNotHaving>Obligatoire</impactOfNotHaving>
-  <briefOutline>&lt;p>&#xD;
-    C'est un outil de communication essentiel qui aide à gérer le sprint. Il doit être facilement mis à jour et rester&#xD;
-    visible à toute l'équipe.&#xD;
-&lt;/p></briefOutline>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/Scrum French/Scrum/workproducts/resources/EtatsPBI.jpg b/Scrum French/Scrum/workproducts/resources/EtatsPBI.jpg
deleted file mode 100644
index 4e1e28f..0000000
--- a/Scrum French/Scrum/workproducts/resources/EtatsPBI.jpg
+++ /dev/null
Binary files differ
diff --git a/Scrum French/Scrum/workproducttypes/Backlogs.xmi b/Scrum French/Scrum/workproducttypes/Backlogs.xmi
deleted file mode 100644
index efa6209..0000000
--- a/Scrum French/Scrum/workproducttypes/Backlogs.xmi
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-eSc2tcV1h17HBw_s8ROEVw"
-    name="Backlogs,_d-yk8ABREdu3o4yroaI-tA" guid="-eSc2tcV1h17HBw_s8ROEVw" changeDate="2006-06-22T13:06:50.327-0700">
-  <mainDescription>&lt;p>&#xD;
-    Les backlogs de Produit et de Sprint sont des éléments de gestion majeurs dans l'utilisation de Scrum.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A partir des backlogs, on produit des rapports comme le &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/reports/Release%20Burndown%20Chart_C564AEDC.html&quot; guid=&quot;_vKqe8PpaEdqsc-f87sBK8A&quot;>Release&#xD;
-    Burndown Chart&lt;/a>&amp;nbsp;ou le &lt;a class=&quot;elementLink&quot;&#xD;
-    href=&quot;./../../Scrum/guidances/reports/Sprint%20Burndown%20Chart_C6600C07.html&quot; guid=&quot;_jC4NwPpaEdqsc-f87sBK8A&quot;>Sprint&#xD;
-    Burndown Chart&lt;/a>&#xD;
-&lt;/p></mainDescription>
-  <keyConsiderations>Un backlog est une liste d'items. Le terme n'est pas traduit en français car il est couramment utilisé dans la communauté&#xD;
-des développeurs.</keyConsiderations>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/Scrum French/configurations/Scrum.xmi b/Scrum French/configurations/Scrum.xmi
deleted file mode 100644
index e1816fc..0000000
--- a/Scrum French/configurations/Scrum.xmi
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:MethodConfiguration xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:epf="http://www.eclipse.org/epf"
-    epf:version="1.2.0" xmi:id="_IqDLgP_OEdqtbrr0B1TG-A"
-    name="Scrum" guid="_IqDLgP_OEdqtbrr0B1TG-A" briefDescription="Le processus Scrum"
-    version="1.0.0">
-  <methodPluginSelection href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eoPpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3erPpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eofpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3epfpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eovpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3epPpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eo_pYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3ep_pYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3erfpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3ervpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3epvpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3er_pYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eqfpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eqPpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eqvpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_rkSgEPpYEdqsc-f87sBK8A"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_SqGkoABREdu3o4yroaI-tA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessComponent" href="uma://_9llsAAAvEdubGMceRDupFQ#_9llsAAAvEdubGMceRDupFQ"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_9llsAAAvEdubGMceRDupFQ#_37NW8AL_EduOAKqB9I73uw"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_9llsAAAvEdubGMceRDupFQ#_NSW6sAMAEduOAKqB9I73uw"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://_9llsAAAvEdubGMceRDupFQ#_SoXWEAMAEduOAKqB9I73uw"/>
-  <processViews xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_s8y1UABREdu3o4yroaI-tA"/>
-  <processViews xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_nF6fgALYEduFv7wnrO7SvQ"/>
-  <processViews xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_7BSBkABCEduYUKPFgCzFuA"/>
-</org.eclipse.epf.uma:MethodConfiguration>
diff --git a/Scrum French/library.xmi b/Scrum French/library.xmi
deleted file mode 100644
index c8b0511..0000000
--- a/Scrum French/library.xmi
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:org.eclipse.epf.uma.resourcemanager="http:///org/eclipse/epf/uma/resourcemanager.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma.resourcemanager:ResourceManager xmi:id="_hDRYYfpYEdqsc-f87sBK8A"
-      guid="_hDRYYfpYEdqsc-f87sBK8A">
-    <subManagers xmi:id="_5AUAUPpYEdqsc-f87sBK8A" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_5AUAUPpYEdqsc-f87sBK8A"/>
-    <resourceDescriptors xmi:id="_hDRYYvpYEdqsc-f87sBK8A" id="_hDRYYPpYEdqsc-f87sBK8A"
-        uri=""/>
-    <resourceDescriptors xmi:id="_mRDr4PpYEdqsc-f87sBK8A" id="_mQ3eoPpYEdqsc-f87sBK8A"
-        uri="Scrum/plugin.xmi"/>
-    <resourceDescriptors xmi:id="_VRheAYPTEdu0eqo2Hxw7OA" id="_VRheAIPTEdu0eqo2Hxw7OA"
-        uri="IceScrum/plugin.xmi"/>
-  </org.eclipse.epf.uma.resourcemanager:ResourceManager>
-  <org.eclipse.epf.uma:MethodLibrary xmi:id="_hDRYYPpYEdqsc-f87sBK8A" name="scrum"
-      guid="_hDRYYPpYEdqsc-f87sBK8A">
-    <methodPlugins xmi:id="_mQ3eoPpYEdqsc-f87sBK8A" href="uma://_mQ3eoPpYEdqsc-f87sBK8A#_mQ3eoPpYEdqsc-f87sBK8A"/>
-  </org.eclipse.epf.uma:MethodLibrary>
-</xmi:XMI>
diff --git a/XP/.cvsignore b/XP/.cvsignore
deleted file mode 100644
index 6fe43c5..0000000
--- a/XP/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.lock
diff --git a/XP/.project b/XP/.project
deleted file mode 100644
index 7773d54..0000000
--- a/XP/.project
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>XP</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.epf.library.project.MethodLibraryProjectNature</nature>
-	</natures>
-</projectDescription>
diff --git a/XP/configurations/config_for_xp.xmi b/XP/configurations/config_for_xp.xmi
deleted file mode 100644
index 94679b5..0000000
--- a/XP/configurations/config_for_xp.xmi
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:MethodConfiguration xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:epf="http://www.eclipse.org/epf"
-    epf:version="1.2.0" xmi:id="_mohucGE-EdqnIZeW8YpHcA"
-    name="config_for_xp" guid="_mohucGE-EdqnIZeW8YpHcA" version="1.0.0">
-  <methodPluginSelection href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{35DCB3E1-2766-423E-A849-57ECD4F41A40}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6S2E-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6QGE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6RGE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6QWE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6Q2E-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6QmE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6RmE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6TGE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6TWE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6RWE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ProcessPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6TmE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6SGE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6R2E-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_mhU6SWE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_ms9igWE-EdqnIZeW8YpHcA"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{90FB58E1-B403-4358-85D0-BD902528D810}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{796EA4CB-0038-43B8-A568-792DCC3B9F22}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{DBE91BD5-0065-4049-AA61-058C77F1D2A3}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{45A887AB-A968-48AF-8213-4D470DA9DBCC}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{BC57C7CE-BFA8-464F-9925-D27A7968B63C}"/>
-  <methodPackageSelection xsi:type="org.eclipse.epf.uma:ContentPackage" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{8367713C-3AEA-489D-B136-DB87D6340A3F}"/>
-  <processViews xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_um0n8GdjEdqlnYmIxoiUEQ"/>
-  <processViews xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_8NSdoGdjEdqlnYmIxoiUEQ"/>
-  <defaultView xsi:type="org.eclipse.epf.uma:CustomCategory" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_um0n8GdjEdqlnYmIxoiUEQ"/>
-</org.eclipse.epf.uma:MethodConfiguration>
diff --git a/XP/library.xmi b/XP/library.xmi
deleted file mode 100644
index f006102..0000000
--- a/XP/library.xmi
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:org.eclipse.epf.uma.resourcemanager="http:///org/eclipse/epf/uma/resourcemanager.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma.resourcemanager:ResourceManager xmi:id="_hmtlAW96EdupM6itjmYdSQ"
-      guid="_hmtlAW96EdupM6itjmYdSQ">
-    <subManagers xmi:id="_TOlmEGMyEdqsrK7eslBiiA" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#_TOlmEGMyEdqsrK7eslBiiA"/>
-    <resourceDescriptors xmi:id="_hmtlAm96EdupM6itjmYdSQ" id="_hmtlAG96EdupM6itjmYdSQ"
-        uri=""/>
-    <resourceDescriptors xmi:id="_1wUXkG96EdupM6itjmYdSQ" id="{35DCB3E1-2766-423E-A849-57ECD4F41A40}"
-        uri="xp/plugin.xmi"/>
-  </org.eclipse.epf.uma.resourcemanager:ResourceManager>
-  <org.eclipse.epf.uma:MethodLibrary xmi:id="_hmtlAG96EdupM6itjmYdSQ" name="XP" guid="_hmtlAG96EdupM6itjmYdSQ">
-    <methodPlugins xmi:id="{35DCB3E1-2766-423E-A849-57ECD4F41A40}" href="uma://{35DCB3E1-2766-423E-A849-57ECD4F41A40}#{35DCB3E1-2766-423E-A849-57ECD4F41A40}"/>
-  </org.eclipse.epf.uma:MethodLibrary>
-</xmi:XMI>
diff --git a/XP/xp/customcategories/conceptual_road_maps.xmi b/XP/xp/customcategories/conceptual_road_maps.xmi
deleted file mode 100644
index ef6d5af..0000000
--- a/XP/xp/customcategories/conceptual_road_maps.xmi
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-QcM1bn-XJLcMSggRp54YlQ"
-    name="conceptual_road_maps,_mtDpJGE-EdqnIZeW8YpHcA" guid="-QcM1bn-XJLcMSggRp54YlQ"
-    changeDate="2005-12-06T08:01:41.292-0500">
-  <mainDescription>&lt;p class=&quot;node&quot;>&#xD;
-    &amp;nbsp;&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/getting_started.xmi b/XP/xp/customcategories/getting_started.xmi
deleted file mode 100644
index d630328..0000000
--- a/XP/xp/customcategories/getting_started.xmi
+++ /dev/null
@@ -1,70 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-MqIvi7DInwjz8kX7QEyU3g"
-    name="getting_started,_ms9ig2E-EdqnIZeW8YpHcA" guid="-MqIvi7DInwjz8kX7QEyU3g"
-    changeDate="2006-03-02T17:18:20.615-0500">
-  <mainDescription>&lt;h3>&#xD;
-    &lt;a id=&quot;WhatisXP&quot; name=&quot;WhatisXP&quot;>What is XP?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Extreme Programming or XP is a development process that can be used by small to medium sized teams to develop high&#xD;
-    quality software within a predictable schedule and budget and with a minimum of overhead. XP is currently one of the&#xD;
-    most widely used agile processes in the industry.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;img height=&quot;540&quot; alt=&quot;&quot; src=&quot;resources/circleOfLife.jpg&quot; width=&quot;720&quot; usemap=&quot;#xp_practices_image_map&quot; border=&quot;0&quot; />&#xD;
-    &lt;map id=&quot;xp_practices_image_map&quot; name=&quot;xp_practices_image_map&quot;>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;298,19,390,88&quot; href=&quot;./../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;176,135,282,200&quot; href=&quot;./../../xp/guidances/concepts/collective_ownership.html&quot; guid=&quot;9.300699588493279E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;297,168,434,231&quot; href=&quot;./../../xp/guidances/concepts/test_driven_development.html&quot; guid=&quot;1.620567348185129E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;447,135,547,198&quot; href=&quot;./../../xp/guidances/concepts/coding_standard.html&quot; guid=&quot;8.8116853923311E-307&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;15,236,122,305&quot; href=&quot;./../../xp/guidances/concepts/customer_tests.html&quot; guid=&quot;2.297945473205673E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;218,238,362,307&quot; href=&quot;./../../xp/guidances/concepts/pair_programming.html&quot; guid=&quot;3.876855509996079E-307&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;392,241,512,305&quot; href=&quot;./../../xp/guidances/concepts/refactoring_xp_programming.html&quot; guid=&quot;1.4410217108363206E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;614,236,714,302&quot; href=&quot;./../../xp/guidances/concepts/planning_game.html&quot; guid=&quot;2.7371805612676613E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;143,325,270,393&quot; href=&quot;./../../xp/guidances/concepts/continuous_integration.html&quot; guid=&quot;3.193414568279561E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;310,321,412,379&quot; href=&quot;./../../xp/guidances/concepts/simple_design.html&quot; guid=&quot;1.6109092258980447E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;468,323,597,393&quot; href=&quot;./../../xp/guidances/concepts/xp_sustainable_pace.html&quot; guid=&quot;3.133529870649493E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;307,386,413,436&quot; href=&quot;./../../xp/guidances/concepts/metaphor_system_of_names.html&quot; guid=&quot;4.884861766532753E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;312,475,419,539&quot; href=&quot;./../../xp/guidances/concepts/small_releases.html&quot; guid=&quot;5.762953011420275E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; target=&quot;_blank&quot; coords=&quot;561,494,708,538&quot; href=&quot;http://www.xprogramming.com&quot;>&lt;/area>&#xD;
-    &lt;/map>&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This diagram arranges the core practices of Extreme Programming in a way that makes them easy to remember and that&#xD;
-    exemplifies the steering and control cycles of the process. For more details, see &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>Concept: XP Practices&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Start&quot; name=&quot;Start&quot;>Where do I start?&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    If you are unfamiliar with XP and want to learn more about it, we suggest you take the following steps:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Get a quick &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/what_is_xp.html&quot; guid=&quot;9.251272550276345E-306&quot;>overview&#xD;
-        of XP&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Learn what the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/motivation.html&quot; guid=&quot;1.6390805262958034E-306&quot;>motivation behind XP&lt;/a> is.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Understand what &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a> means.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Take a tour of the &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a> and &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP Practices&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    If you are familiar with XP and are interested in trying XP on your RUP project, we simply suggest you start by reading&#xD;
-    the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/extreme_programming.html&quot; guid=&quot;5.2637267673584526E-306&quot;>Extreme Programming Roadmap&lt;/a>.&lt;br />&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Who&quot; name=&quot;Who&quot;>Who is behind the plug-in?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    This plug-in is a collaboration between &lt;a href=&quot;http://www.objectmentor.com/&quot; target=&quot;_blank&quot;>Object Mentor Inc.&lt;/a>&#xD;
-    and&amp;nbsp;&lt;a href=&quot;http://www.ibm.com/&quot; target=&quot;_blank&quot;>IBM Corporation&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/guidelines_overview.xmi b/XP/xp/customcategories/guidelines_overview.xmi
deleted file mode 100644
index 226b0aa..0000000
--- a/XP/xp/customcategories/guidelines_overview.xmi
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-8FSBtYSGN9EGWRr1N6fbPQ"
-    name="guidelines_overview,2.0279775416255596E-305" guid="-8FSBtYSGN9EGWRr1N6fbPQ"
-    changeDate="2005-12-06T07:35:18.106-0500">
-  <mainDescription>&lt;p>&#xD;
-    &lt;b>Guidelines&lt;/b> provide practical information about the implementation of specific activities in the process.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/key_xp_concepts.xmi b/XP/xp/customcategories/key_xp_concepts.xmi
deleted file mode 100644
index d1bcff8..0000000
--- a/XP/xp/customcategories/key_xp_concepts.xmi
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-hZ1cvRhigpDb6WbQckPWcA"
-    name="key_xp_concepts,1.9093436569802954E-305" guid="-hZ1cvRhigpDb6WbQckPWcA"
-    changeDate="2006-11-29T20:04:06.831-0500" version="1.0.0"/>
diff --git a/XP/xp/customcategories/references.xmi b/XP/xp/customcategories/references.xmi
deleted file mode 100644
index 2f8cf13..0000000
--- a/XP/xp/customcategories/references.xmi
+++ /dev/null
@@ -1,3440 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-a8huB5Sn0Qjfe-SkZubH1w"
-    name="references,_mtcqtmE-EdqnIZeW8YpHcA" guid="-a8huB5Sn0Qjfe-SkZubH1w" changeDate="2005-12-06T08:10:54.327-0500">
-  <mainDescription>&lt;a id=&quot;XE_references__bibliography_of&quot; name=&quot;XE_references__bibliography_of&quot;>&lt;/a>&lt;a id=&quot;XE_bibliography__references_for&quot; name=&quot;XE_bibliography__references_for&quot;>&lt;/a> &#xD;
-&lt;h5>&#xD;
-    Topics&#xD;
-&lt;/h5>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Business Modeling references&quot;>Business Modeling&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Configuration Management references&quot;>Configuration Management&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Miscellaneous references&quot;>Miscellaneous&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Modeling and Unified Modeling Language references&quot;>Modeling and Unified Modeling Language&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Object-Oriented Technology references&quot;>Object-Oriented Technology&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Project Management references&quot;>Project Management&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Requirement Management references&quot;>Requirements Management&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Software Architecture references&quot;>Software Architecture&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Software Development Process references&quot;>Software Development Process&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Testing and Quality references&quot;>Testing and Quality&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Business Modeling references&quot; name=&quot;Business Modeling references&quot;>Business Modeling&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BRO95&quot; name=&quot;BRO95&quot;>BRO95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Frederick P. Brooks, Jr. 1995. &lt;i>The Mythical Man-Month-Essays on Software Engineering&lt;/i> 2nd ed.&#xD;
-                    Reading, MA, Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A classic that should be read and re-read by everyone involved in software development. We recommend&#xD;
-                    this 20-year anniversary edition rather than the original 1975 edition.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CLA97&quot; name=&quot;CLA97&quot;>CLA97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Carl von Clausewitz 1997. &lt;i>On War.&lt;/i> Wordsworth Editions.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    One of the greatest books ever written on the subject of war, and applicable to the field of&#xD;
-                    management.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CHM95&quot; name=&quot;CHM95&quot;>CHM95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Champy 1995. &lt;i>Reengineering Management: The Mandate for New Leadership.&lt;/i> New York, NY:&#xD;
-                    HarperCollins.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Gives some insight into the precarious art of managing a business (re-)engineering effort.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DVP93&quot; name=&quot;DVP93&quot;>DVP93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Thomas H. Davenport 1993. &lt;i>Process Innovation-Reengineering Work through&amp;nbsp;Information&#xD;
-                    Technology.&lt;/i> Boston, MA: Harvard Business School Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Solid and comprehensive introduction about how information technology enables business improvement and&#xD;
-                    (re-)engineering.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GAO97&quot; name=&quot;GAO97&quot;>GAO97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    United States General Accounting Office 1997. &lt;i>Business Process Reengineering Assessment Guide&lt;/i>.&#xD;
-                    &lt;a href=&quot;http://www.gao.gov&quot; target=&quot;_blank&quot;>http://www.gao.gov&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    Describes a framework for assessing a business (re-)engineering effort.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ERI00&quot; name=&quot;ERI00&quot;>ERI00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Hans-Erik Eriksson and Magnus Penker 2000. &lt;i>Business Modeling With UML: Business Patterns at&#xD;
-                    Work.&amp;nbsp;&lt;/i>New York, NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Presents a set of valuable patterns for business modeling.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HAM93&quot; name=&quot;HAM93&quot;>HAM93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Michael Hammer and James Champy 1993.&amp;nbsp; &lt;i>Reengineering the Corporation-A Manifesto for Business&#xD;
-                    Revolution.&lt;/i>&amp;nbsp;&lt;br />&#xD;
-                     New York, NY: HarperBusiness.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The book that popularized the movement of business (re-)engineering. An excellent complement to &lt;i>The&#xD;
-                    Object Advantage-Business Process Reengineering with Object Technology&lt;/i> cited above&lt;i>.&amp;nbsp;&lt;/i>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HAR91&quot; name=&quot;HAR91&quot;>HAR91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    H. James Harrington 1991. &lt;i>Business Process Improvement: The Breakthrough Strategy for Total Quality,&#xD;
-                    Productivity, and Competitiveness&lt;/i>. New York, NY: McGraw-Hill.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Another contributor to the topic of business (re-)engineering.&lt;i>&amp;nbsp;&lt;/i>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JAC94&quot; name=&quot;JAC94&quot;>JAC94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ivar Jacobson, Maria Ericsson, and Agneta Jacobson 1994. &lt;i>The Object Advantage-Business Process&#xD;
-                    Reengineering with Object Technology&lt;/i>. Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The basis of the Business Modeling discipline, this is the very first book that applied object&#xD;
-                    technology to the field of business modeling.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KAP96&quot; name=&quot;KAP96&quot;>KAP96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert Kaplan and David Norton 1996. &lt;i>The Balanced Scorecard&lt;/i>. Boston, MA: Harvard Business School&#xD;
-                    Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    Best practices for successfully implementing the Balanced Scorecard.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KOT96&quot; name=&quot;KOT96&quot;>KOT96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    John P. Kotter 1996. &lt;i>Leading Change&lt;/i>. Boston, MA: Harvard Business School Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    A practical, proven model for planning and managing organizational change.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MARS00&quot; name=&quot;MARS00&quot;>MARS00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Chris Marshall 2000. &lt;i>Enterprise Modeling with UML&lt;/i>. Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    Describes how to create business models that facilitate the development software systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;NDL97&quot; name=&quot;NDL97&quot;>NDL97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David A. Nadler and Michael L. Tushman 1999.&amp;nbsp; &lt;i>Competing by Design-the Power of Organizational&#xD;
-                    Architecture.&lt;/i> Oxford University Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Defines organizational architecture and capabilities as a source of competitive advantage.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;OHM91&quot; name=&quot;OHM91&quot;>OHM91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Kenichi Ohmae 1991.&amp;nbsp; &lt;i>The Mind of the Strategist: The Art of Japanese Business.&lt;/i> McGraw-Hill.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    A crisp and practical guide to strategic management.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ODL98&quot; name=&quot;ODL98&quot;>ODL98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James J. Odell 1998.&amp;nbsp; &lt;i>Advanced Object-Oriented Analysis &amp;amp; Design Using UML.&lt;/i> Cambridge&#xD;
-                    University Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Provides a good overview, among other things, on the topic of business rules.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PFE99&quot; name=&quot;PFE99&quot;>PFE99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jeffrey Pfeffer and Robert Sutton 1999.&amp;nbsp; &lt;i>The Knowing-Doing Gap.&lt;/i> Boston, MA: Harvard&#xD;
-                    Business School Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    Discusses the reasons why some organizations do not apply their own lessons learned and provides&#xD;
-                    pointers for how to overcome this challenge.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PLR99&quot; name=&quot;PLR99&quot;>PLR99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    R. Steven Player (Editor) and David Keys (Editor) 1999.&amp;nbsp; &lt;i>Activity-Based Management: Arthur&#xD;
-                    Andersen's Lessons from the ABM Battlefield.&lt;/i> Wiley Cost Management Series.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An introduction to understanding the management of costs, and how to implement activity-based costing&#xD;
-                    (ABC) and activity-based management (ABM) systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;POR98&quot; name=&quot;POR98&quot;>POR98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Michael Porter 1998.&amp;nbsp; &lt;i>Competitive Strategy: Techniques for Analyzing Industries and&#xD;
-                    Competitors.&lt;/i> Simon &amp;amp; Schuster, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    A practical guide for the strategic planner.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ROS97&quot; name=&quot;ROS97&quot;>ROS97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ron Ross 1997.&amp;nbsp; &lt;i>The Business Rule Book: Classifying, Defining and Modeling Rules.&lt;/i> Boston,&#xD;
-                    MA: Database Research Group.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    A complete handbook for the business rules analyst.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SEY98&quot; name=&quot;SEY98&quot;>SEY98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Patricia Seybold 1998.&amp;nbsp; &lt;i>Customers.com.&lt;/i> Random House Publishing.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;1%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;150%&quot;>&#xD;
-                    An excellent collection of practical guidelines and case studies on the benefits of e-business and&#xD;
-                    (re-)engineering.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Configuration Management references&quot; name=&quot;Configuration Management references&quot;>Configuration Management&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BER92&quot; name=&quot;BER92&quot;>BER92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    H. Berlack 1992. &lt;i>Software Configuration Management.&lt;/i> New York, NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BUC93&quot; name=&quot;BUC93&quot;>BUC93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    J. Buckley 1993. &lt;i>Implementing Configuration Management, Hardware, Software and Firmware.&lt;/i>&amp;nbsp;&#xD;
-                    Los Alamitos, CA: IEEE Computer Science Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WHI00&quot; name=&quot;WHI00&quot;>WHI00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Brian White and Geoff Glemm 2000. &lt;i>Software Configuration Management Strategies and Rational&#xD;
-                    ClearCase: A Practical Introduction.&lt;/i> Addison-Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WHI91&quot; name=&quot;WHI91&quot;>WHI91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David Whitgift 1991. &lt;i>Methods and Tools for Software Configuration Management.&lt;/i>&amp;nbsp; New York,&#xD;
-                    NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Miscellaneous references&quot; name=&quot;Miscellaneous references&quot;>Miscellaneous&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOU94&quot; name=&quot;BOU94&quot;>BOU94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Serge Bouchy 1994.&amp;nbsp; &lt;i>L'ingénierie des systèmes informatiques évolutifs,&lt;/i> Paris, France:&#xD;
-                    Eyrolles, 330p.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BRO95&quot; name=&quot;BRO95&quot;>BRO95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Frederick P. Brooks, Jr. 1995. &lt;i>The Mythical Man-Month-Essays on Software Engineering&lt;/i> 2nd ed.&#xD;
-                    Reading, MA, Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A classic that should be read and re-read by everyone involved in software development. We recommend&#xD;
-                    this 20-year anniversary edition rather than the original 1975 edition.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;con92&quot; name=&quot;con92&quot;>CON92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    D. Conner 1992. &lt;i>Managing at the Speed of Change.&lt;/i> New York, NY: Random House, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DAT99&quot; name=&quot;DAT99&quot;>DAT99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    C.J. Date 1999. &lt;i>An Introduction to Database Systems.&lt;/i>&amp;nbsp; 7th ed.&amp;nbsp; New York, NY:&#xD;
-                    Addison-Wesley Publishing Company, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Excellent introduction, reference, and source of background information on Database Systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DAV95&quot; name=&quot;DAV95&quot;>DAV95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alan Davis 1995. &lt;i>201 Principles of Software Development.&lt;/i>&amp;nbsp; New York, NY: McGraw-Hill.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Full of good advice for every team member on a project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DEG90&quot; name=&quot;DEG90&quot;>DEG90&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Peter DeGrace and Leslie Stahl 1990. &lt;i>Wicked Problems, Righteous Solutions: A Catalog of Modern&#xD;
-                    Software Engineering Practices.&lt;/i> Englewood Cliffs, NJ: Yourdon Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An insightful book on various process lifecycles and their origins, flaws, and strengths; useful for&#xD;
-                    understanding the importance of process.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DEI84&quot; name=&quot;DEI84&quot;>DEI84&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Harvey M. Deitel 1984. &lt;i>An Introduction to Operating Systems.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FIS96&quot; name=&quot;FIS96&quot;>FIS96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Charles Fishman 1996. &lt;i>Johnson Space Center Shuttle Software Group, &quot;They Write the Right&#xD;
-                    Stuff&quot;&lt;/i>&lt;i>.&lt;/i> Fastcompany, Issue 6, p. 95, December, 1996.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GRA97&quot; name=&quot;GRA97&quot;>GRA97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ian Graham, et al. 1997. &lt;i>The OPEN Process Specification&lt;/i>. Harlow, England: Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Another process model, coming from down under that shares some principles with the Rational Unified&#xD;
-                    Process (RUP).&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;hac97&quot; name=&quot;hac97&quot;>HAC97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    JoAnn T. Hackos and Dawn M. Stevens 1997. &lt;i>Standards for Online Communication.&lt;/i> John Wiley and&#xD;
-                    Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    For the modern technical writer, this book has become the defacto standard. It defines a process for&#xD;
-                    developing user manuals, specifically focusing on how you produce online help systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HER99&quot; name=&quot;HER99&quot;>HER99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Peter Herzum and Oliver Sims 1999. &lt;i>Business Component Factory: A Comprehensive Overview of&#xD;
-                    Component-Based Development for the Enterprise.&lt;/i> John Wiley &amp;amp; Sons.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Defines and describes component-based development-from creating small components to creating&#xD;
-                    federations of large component-based systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM2000&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>IBM System Integrated Method.&lt;/i> International Business Machines Corporation 1998, 1999, 2000.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM99a&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>An Approach to Designing e-business Solutions.&lt;/i> International Business Machines Corporation 1999.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    &lt;a href=&quot;http://www.redbooks.ibm.com/abstracts/sg245949.html&quot; target=&quot;_blank&quot;>http://www.redbooks.ibm.com/abstracts/sg245949.html&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM99b&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>Design Considerations: From Client Server Applications to e-business Applications.&lt;/i> International&#xD;
-                    Business Machines Corporation 1999.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    &lt;a href=&quot;http://www.redbooks.ibm.com/abstracts/sg245503.html&quot; target=&quot;_blank&quot;>http://www.redbooks.ibm.com/abstracts/sg245503.html&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM99c&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>The Front of IBM WebSphere-Building e-business User Interfaces.&lt;/i> International Business Machines&#xD;
-                    Corporation 1999.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    &lt;a href=&quot;http://www.redbooks.ibm.com/abstracts/sg245488.html&quot; target=&quot;_blank&quot;>http://www.redbooks.ibm.com/abstracts/sg245488.html&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM98a&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>Architecture Description Standard: Overview.&lt;/i>&amp;nbsp; International Business Machines Corporation&#xD;
-                    1998.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    IBM98b&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>Architecture Description Standard: Semantic Specification.&lt;/i>&amp;nbsp; International Business Machines&#xD;
-                    Corporation 1998.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Other relevant Web sites for the preceding IBM references are:&lt;br />&#xD;
-                     &lt;a href=&quot;http://www.redbooks.ibm.com&quot; target=&quot;_blank&quot;>http://www.redbooks.ibm.com&lt;br />&#xD;
-                    &lt;/a> &lt;a href=&quot;http://www.ibm.com/e-business/&quot; target=&quot;_blank&quot;>http://www.ibm.com/e-business/&lt;br />&#xD;
-                    &lt;/a> &lt;a href=&quot;http://www.ibm.com/software&quot; target=&quot;_blank&quot;>http://www.ibm.com/software&lt;br />&#xD;
-                    &lt;/a> &lt;a href=&quot;http://www.ibm.com/developer/&quot; target=&quot;_blank&quot;>http://www.ibm.com/developer/&lt;br />&#xD;
-                    &lt;/a> &lt;a href=&quot;http://www.ibm.com/services/&quot; target=&quot;_blank&quot;>http://www.ibm.com/services/&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;IBM97&quot; name=&quot;IBM97&quot;>IBM97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    IBM 1997. &lt;i>Developing Object-Oriented Software&lt;/i>&lt;i>-&lt;/i>&lt;i>An Experienced- based Approach.&lt;/i>&#xD;
-                    Upper Saddle River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Like the RUP, an iterative, incremental, object-oriented, scenario-driven, risk-aware process developed&#xD;
-                    by the IBM Object Technology Center.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;IE610.12&quot; name=&quot;IE610.12&quot;>IE610.12&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    IEEE Std 610.12-1990. &lt;i>IEEE Standard Glossary of Software Engineering Terminology.&lt;/i> The Institute&#xD;
-                    of Electrical and Electronics Engineers, Inc.: New York, NY, 10017-2394, USA. 1990.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; height=&quot;23&quot;>&#xD;
-                    &lt;a id=&quot;JAV03&quot; name=&quot;JAV03&quot;>JAV03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    JavaTM 2 Platform, Standard Edition, v 1.4.2 API Specification -&#xD;
-                    http://java.sun.com/j2se/1.4.2/docs/api/index.html&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;jel93&quot; name=&quot;jel93&quot;>JEL93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    J. Jellison 1993. &lt;i>Overcoming Resistance: A Practical Guide to Producing Change in the&#xD;
-                    Workplace.&lt;/i>&amp;nbsp; New York, NY: Simon &amp;amp; Schuster, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KAT93&quot; name=&quot;KAT93&quot;>KAT93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jon R. Katzenbach and Douglas K. Smith 1993. &lt;i>The Wisdom of Teams.&lt;/i> New York, NY: Harper Business.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The secret of effective teams.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KET98&quot; name=&quot;KET98&quot;>KET98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Nasser Kettani, et al. 1998. &lt;i>De Merise à UML.&lt;/i> Paris, France: Editions Eyrolles.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Merise is a very popular software development methodology in France, which has been upgraded to use&#xD;
-                    UML. It has some similitude with the RUP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;LEA97&quot; name=&quot;LEA97&quot;>LEA97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Doug Lea 1999.&amp;nbsp; &lt;i>Concurrent Programming in Java.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MCA95&quot; name=&quot;MCA95&quot;>MCA95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jim McCarthy 1995.&amp;nbsp; &lt;i>Dynamics of Software Development.&lt;/i> Redmond, WA: Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Fifty-three rules of thumb by a Microsoft development manager.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MCO97&quot; name=&quot;MCO97&quot;>MCO97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Steve McConnell 1997.&amp;nbsp; &lt;i>Software Project Survival Guide.&lt;/i> Redmond, WA: Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A collection of practical experience on how to deliver successful software projects.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MCO93&quot; name=&quot;MCO93&quot;>MCO93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Steve McConnell 1993. &lt;i>Code Complete&lt;/i>&lt;i>-&lt;/i>&lt;i>A Practical Handbook of Software Construction.&lt;/i>&#xD;
-                    Redmond, WA: Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A great book for the implementers and for testers looking at the implementation, integration, and test&#xD;
-                    aspects of the development process.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;mos98&quot; name=&quot;mos98&quot;>MOS98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Microsoft 1998. The &lt;i>Microsoft Manual of Style for Technical Publications.&lt;/i>&amp;nbsp; Redmond, WA:&#xD;
-                    Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;STA97&quot; name=&quot;STA97&quot;>STA97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jennifer Stapleton 1997.&amp;nbsp; &lt;i>The Dynamic System Development Method.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    At 15,000 feet, the DSDM approach could be seen as an introduction to the RUP. Although they use a&#xD;
-                    different terminology, the two processes are very close to each other, and you can see the RUP as an&#xD;
-                    instance or an implementation of&amp;nbsp; DSDM.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;TAN86&quot; name=&quot;TAN86&quot;>TAN86&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Andrew S. Tannenbaum 1986. &lt;i>Operating Systems: Design and Implementation.&amp;nbsp;&lt;/i> Upper Saddle&#xD;
-                    River, NJ: Prentice Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WID00&quot; name=&quot;WID00&quot;>WID00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    R. Max Wideman and PMForum, February, 1999 and January, 2000. &lt;i>Wideman Comparative Glossary of&#xD;
-                    Project Management Terms v2.0.&lt;/i> www.pmforum.org&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This great collection of various software engineering terms and their many definitions is available&#xD;
-                    online at &lt;a href=&quot;http://www.pmforum.org/library/glossary/&quot; target=&quot;_blank&quot;>http://www.pmforum.org/library/glossary/&lt;/a>.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;YOU97&quot; name=&quot;YOU97&quot;>YOU97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Edward Yourdon 1997. &lt;i>Death March: Managing &quot;Mission Impossible&quot; Projects.&lt;/i> Upper Saddle River,&#xD;
-                    NJ: Prentice Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An interesting view on project troubles.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Modeling and Unified Modeling Language references&quot; name=&quot;Modeling and Unified Modeling Language references&quot;>Modeling and Unified Modeling Language&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;BOO98&quot; name=&quot;BOO98&quot;>BOO98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    G. Booch, J. Rumbaugh, and I. Jacobson, 1998. &lt;i>UML User Guide&lt;/i>. Addison-Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Published at the same time as Rational Unified Process 5.1, this book is an excellent user's guide on&#xD;
-                    UML by its main authors.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;CHE01&quot; name=&quot;CHE01&quot;>CHE01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    John Cheesman and John Daniels, 2001. &lt;i>UML Components: A Simple Process for Specifying&#xD;
-                    Component-Based Software&lt;/i>. Addison-Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book provides a lot of in-depth practical guidance for specifying component-based systems, at the&#xD;
-                    same time remaining compact and readable.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;CONA99&quot; name=&quot;CONA99&quot;>CONA99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jim Conallen, 1999. &lt;i>Building Web Applications with UML.&lt;/i> Addison-Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A good introduction to the basics of web application development in the context of the RUP. This book&#xD;
-                    also shows how to use the UML to model web applications and introduces a Web Application Extension to&#xD;
-                    the UML.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;DOUG98&quot; name=&quot;DOUG98&quot;>DOUG98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Bruce Powel Douglass 1998. &lt;i>Real-Time UML.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Using UML as the notation, this book offers good advice on the application of object-oriented&#xD;
-                    technology for real-time systems.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &lt;a id=&quot;ERI04&quot; name=&quot;ERI04&quot;>ERI04&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Hans-Erik Eriksson, Magnus Penker, Brian Lyons and David Fado 2004. &lt;i>UML 2 Toolkit&lt;/i>. Indianopolis:&#xD;
-                    Wiley Publishing, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;ERI97&quot; name=&quot;ERI97&quot;>ERI97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Hans-Erik Eriksson and Magnus Penker 1997. &lt;i>UML Toolkit&lt;/i>. New York: John Wiley &amp;amp; Sons.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A more comprehensive book on UML as seen from Sweden by another pair of Rational friends.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;FOW97&quot; name=&quot;FOW97&quot;>FOW97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Martin Fowler 1997. &lt;i>UML Distilled-Applying the standard object modeling language&lt;/i>. Addison-Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A very nice little introduction to UML if you're in a hurry.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;FRA03&quot; name=&quot;FRA03&quot;>FRA03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David S. Frankel 2003. &lt;i>Model Driven Architecture: Applying MDA to Enterprise Computing.&lt;/i> John&#xD;
-                    Wiley &amp;amp; Sons.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    A foundational work on the OMG's Model Driven Architecture initiative, written by one of its principal&#xD;
-                    developers.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;KLE03&quot; name=&quot;KLE03&quot;>KLE03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Anneke Kleppe, Jos Warmer and Wim Bast 2003. &lt;i>MDA Explained-The Model Driven&#xD;
-                    Architecture(TM):Practice and Promise.&lt;/i> Addison-Wesley.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    More useful insights into MDA from a practitioner's viewpoint, written by contributors to the creation&#xD;
-                    of MDA.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;LAR02&quot; name=&quot;LAR02&quot;>LAR02&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Craig Larman 2002.&amp;nbsp; &lt;i>Applying UML and Patterns: An Introduction to Object-Oriented Analysis and&#xD;
-                    Design and the Unified Process,&lt;/i> 2nd ed. Prentice-Hall, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book is a great illustration of what happens in the Analysis &amp;amp; Design discipline. It teaches&#xD;
-                    analysis and design, the use of UML, and the application of the concept of pattern in the context of&#xD;
-                    the Unified Process. By presenting the case study in an iterative, risk-driven, architecture-centric&#xD;
-                    process, Mr. Larman's advice has a realistic context. He exposes the dynamics of what really happens in&#xD;
-                    software development and shows the external forces at play. The design activities are connected to&#xD;
-                    other tasks, and they no longer appear as a purely cerebral activity of systematic transformations or&#xD;
-                    creative intuition.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;MEL04&quot; name=&quot;MEL04&quot;>MEL04&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise 2004. &lt;i>MDA Distilled-Principles of&#xD;
-                    Model-Driven Architecture.&lt;/i> Addison-Wesley.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    Extracts and presents the essence of MDA, with an emphasis on the technology for executable models.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;MUL98&quot; name=&quot;MUL98&quot;>MUL98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Pierre-Alain Muller 1998.&amp;nbsp; &lt;i>Instant UML.&lt;/i> Wrox Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Another short introduction to UML by a former colleague.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;NBG01&quot; name=&quot;NBG01&quot;>NBG01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Eric J. Naiburg and Robert A. Maksimchuk 2001. &lt;i>UML For Database Design&lt;/i>. New York, NY:&#xD;
-                    Addison-Wesley Publishing Company, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Application of UML to database modeling and design.&amp;nbsp; Supported throughout by a case study.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;OMG03&quot; name=&quot;OMG03&quot;>OMG03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>MDA Guide Version 1.0.1.&lt;/i> Object Management Group. Document omg/2003-06-01, June 2003&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p>&#xD;
-                        A specification of the concepts and terminology of Model Driven Architecture from the OMG.&#xD;
-                    &lt;/p>&#xD;
-                    &lt;p>&#xD;
-                        &lt;a href=&quot;http://www.omg.org/mda/specs.htm&quot; target=&quot;_blank&quot;>http://www.omg.org/mda/specs.htm&lt;/a>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;QUA98&quot; name=&quot;QUA98&quot;>QUA98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Terry Quatrani 1998. &lt;i>Visual Modeling with Rational Rose and UML.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Provides step-by-step guidance on how to build UML models. At the same time, it follows the RUP, in&#xD;
-                    effect providing a small scale example.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot;>&#xD;
-                    &lt;a id=&quot;RUM05&quot; name=&quot;RUM05&quot;>RUM05&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Rumbaugh, Ivar Jacobson, Grady Booch, 2005. &lt;i>The Unified Modeling Language Reference Manual,&#xD;
-                    second edition.&lt;/i> Addison-Wesley, Boston.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;RUM98&quot; name=&quot;RUM98&quot;>RUM98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    J. Rumbaugh, I. Jacobson, and G. Booch, 1998. &lt;i>UML Reference Manual.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Certainly more digestible than the OMG standard; UML fully exposed by its main authors.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;UML01&quot; name=&quot;UML01&quot;>UML01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>OMG Unified Modeling Language Specification, Version 1.4.&amp;nbsp;&lt;/i> Rational Software Corporation,&#xD;
-                    18880 Homestead Road, Cupertino, CA 95014, and Object Management Group, Inc., 492 Old Connecticut Path,&#xD;
-                    Framingham, MA 01701.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The latest specification of the UML. Available online at &lt;a href=&quot;http://www.rational.com/uml&quot; target=&quot;_blank&quot;>http://www.rational.com/uml&lt;/a>.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot; height=&quot;21&quot;>&#xD;
-                    &lt;a id=&quot;UML04&quot; name=&quot;UML04&quot;>UML04&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>OMG Unified Modeling Language Specification, Version 2.0.&amp;nbsp;&lt;/i> Object Management Group, Inc.,&#xD;
-                    Needham, MA 02494&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;11%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Final Adopted Specification (2003-08-02)&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;UML96&quot; name=&quot;UML96&quot;>UML96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    G. Booch, J. Rumbaugh, and I. Jacobson 1996. &lt;i>The Unified Modeling Language for Object-Oriented&#xD;
-                    Development.&lt;/i> Documentation set, version 0.9 Addendum, Rational Software Corporation.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;11%&quot;>&#xD;
-                    &lt;a id=&quot;UML95&quot; name=&quot;UML95&quot;>UML95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    G. Booch and J. Rumbaugh 1995. &lt;i>Unified Method for Object-Oriented Development.&lt;/i> Documentation&#xD;
-                    set, version 0.8, Rational Software Corporation.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Object-Oriented Technology references&quot; name=&quot;Object-Oriented Technology references&quot;>Object-Oriented&#xD;
-    Technology&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOO93&quot; name=&quot;BOO93&quot;>BOO93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Grady Booch 1993. &lt;i>Object-Oriented Analysis and Design with Applications,&lt;/i> 2nd edition. Redwood&#xD;
-                    City, CA: The Benjamin/Cummings Publishing Company.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BUH96&quot; name=&quot;BUH96&quot;>BUH96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    R. J. A. Buhr and R. S. Casselman 1996. &lt;i>Use Case Maps for Object-Oriented Systems.&lt;/i> Upper Saddle&#xD;
-                    River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book develops some other views on use cases.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JAC92&quot; name=&quot;JAC92&quot;>JAC92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ivar Jacobson, et al. 1992. &lt;i>Object-Oriented Software Engineering-A Use Case-Driven Approach&lt;/i>,&#xD;
-                    Wokingham, England: Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;RUM91&quot; name=&quot;RUM91&quot;>RUM91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Rumbaugh, et al. 1991. &lt;i>Object-Oriented Modeling and Design.&lt;/i> Upper Saddle River, NJ:&#xD;
-                    Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The three books above are the original roots to the object-oriented analysis and design discipline from&#xD;
-                    &quot;the three amigos&quot;, just before the advent of the UML and the RUP. Despite the use of their original&#xD;
-                    notations, they are still the key references for OO designers.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;RUM96&quot; name=&quot;RUM96&quot;>RUM96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Rumbaugh 1996. &lt;i>OMT Insights.&lt;/i> New York: SIGS Books.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A complement to the original&amp;nbsp; OMT book, diving into special topics: inheritance, use cases, and so&#xD;
-                    on.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SEL94&quot; name=&quot;SEL94&quot;>SEL94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Bran Selic, Garth Gullekson, and Paul Ward 1994. &lt;i>Real-time Object-Oriented Modeling.&lt;/i> New York,&#xD;
-                    NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The reference work on using object technology for the design of reactive systems by the people who have&#xD;
-                    brought us &lt;i>ObjecTime Developer&lt;/i>.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WIR90&quot; name=&quot;WIR90&quot;>WIR90&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener 1990. &lt;i>Designing Object-Oriented&#xD;
-                    Software.&lt;/i> Upper Saddle River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book describes the Class, Responsibility, Collaboration (CRC) approach to object-oriented software&#xD;
-                    development.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Project Management references&quot; name=&quot;Project Management references&quot;>Project Management&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;AMI95&quot; name=&quot;AMI95&quot;>AMI95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    K. Pulford, A. Kuntzmann-Combelles, and S. Shirlaw 1995. &lt;i>A Quantitative Approach to Software&#xD;
-                    Management-The AMI Handbook.&lt;/i> Addison Wesley Longman.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOE00&quot; name=&quot;BOE00&quot;>BOE00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Barry W. Boehm et al, 2000. Software Cost Estimation with COCOMO II. Upper Saddle River, NJ:&#xD;
-                    Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The successor to the original classic work.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOE81&quot; name=&quot;BOE81&quot;>BOE81&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Barry W. Boehm 1981. &lt;i>Software Engineering Economics.&lt;/i> Upper Saddle River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A classic work on software effort estimation that describes the original COCOMO estimation model.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOE91&quot; name=&quot;BOE91&quot;>BOE91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Barry W. Boehm 1991. &lt;i>Software Risk Management: Principles and Practices&lt;/i>, &lt;i>IEEE Software,&lt;/i>&#xD;
-                    Jan. 1991, IEEE, pp.32-41.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Still the best little introduction to risk management.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOO95&quot; name=&quot;BOO95&quot;>BOO95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Grady Booch 1995. &lt;i>Object Solutions-Managing the Object-Oriented Project.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A pragmatic book for managers of object-oriented projects; one of the sources on the underlying&#xD;
-                    philosophy of the RUP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CAN01&quot; name=&quot;CAN01&quot;>CAN01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Murray Cantor 2001. &lt;i>Software Leadership.&lt;/i> Addison-Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CAR93&quot; name=&quot;CAR93&quot;>CAR93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Marvin J. Carr, et al. 1993. &lt;i>Taxonomy-Based Risk Identification,&lt;/i> Technical Report&#xD;
-                    CMU/SEI-93-TR-6, Pittsburgh, PA, SEI, June 1993, 24p.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Provides a source of inspiration to get started on your own list of risks.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CHA89&quot; name=&quot;CHA89&quot;>CHA89&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert Charette 1989. &lt;i>Software Engineering Risk Analysis and Management.&lt;/i> New York, NY:&#xD;
-                    McGraw-Hill.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Practical perspective on risk management.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CHID94&quot; name=&quot;CHID94&quot;>CHID94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Chidamber and Kemerer 1994. &lt;i>A metrics suite for object-oriented design,&lt;/i> IEEE Transactions on&#xD;
-                    Software Engineering, 20(6), 1994.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    One of the original contributions to the field of OO software metrics.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CLE96&quot; name=&quot;CLE96&quot;>CLE96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert T. Clemen 1996. &lt;i>Making Hard Decisions: An Introduction to Decision Analysis.&lt;/i> Duxbury&#xD;
-                    Press.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Thorough yet accessible treatment of the fundamentals of decision analysis.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DEV95&quot; name=&quot;DEV95&quot;>DEV95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Michael T. Devlin and Walker E. Royce.&amp;nbsp; &lt;i>Improving Software Economics in the Aerospace and&#xD;
-                    Defense Industry,&lt;/i> Technical Paper TP-46, Santa Clara, CA, Rational Software Corporation, 1995.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;EVA98&quot; name=&quot;EVA98&quot;>EVA98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James R. Evans and David L. Olson 1998. &lt;i>Introduction to Simulation and Risk Analysis.&lt;/i>&amp;nbsp;&#xD;
-                    Upper Saddle River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Good introduction to the use of simulation for business modeling.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FAI94&quot; name=&quot;FAI94&quot;>FAI94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Richard Fairley 1994. &quot;Risk Management for Software Project,&quot; &lt;i>IEEE Software,&lt;/i> 11 (3), May 1994,&#xD;
-                    pp.57-67&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Straightforward strategy for risk management if you have never done this before.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GIL88&quot; name=&quot;GIL88&quot;>GIL88&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Tom Gilb 1988. &lt;i>Principles of Software Engineering Management.&lt;/i> Harlow, England: Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A great book by a pioneer of iterative development, it's full of pragmatic advice for the project&#xD;
-                    manager.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HEND96&quot; name=&quot;HEND96&quot;>HEND96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Brian Henderson-Sellers 1996. &lt;i>Object-Oriented Metrics, Measures of Complexity.&lt;/i> Prentice Hall&#xD;
-                    PTR.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Good, detailed coverage of OO-specific metrics.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JON94&quot; name=&quot;JON94&quot;>JON94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Capers Jones 1994. &lt;i>Assessment and Control of Software Risks.&lt;/i> Yourdon Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An indispensable source of risks to check your list against to make sure it's is complete.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KAR96&quot; name=&quot;KAR96&quot;>KAR96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Dale Karolak 1996. &lt;i>Software Engineering Risk Management.&lt;/i> Los Alamitos, CA: IEEE Computer Society&#xD;
-                    Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Offers more sophisticated advice and techniques for risk management.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MCO96&quot; name=&quot;MCO96&quot;>MCO96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Steve McConnell 1996. &lt;i>Rapid Development.&lt;/i> Redmond, WA: Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Excellent coverage of good practice for rapid software development&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MSP97&quot; name=&quot;MSP97&quot;>MSP97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    User's Guide for Microsoft Project 98, Microsoft Corporation, 1997.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;OCO94&quot; name=&quot;OCO94&quot;>OCO94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Fergus O'Connell 1994. &lt;i>How to Run Successful Projects.&lt;/i> New York, NY: Prentice-Hall&#xD;
-                    International.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A real gem! Everything you really need to know to manage your first project, in 170 pages.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PMI96&quot; name=&quot;PMI96&quot;>PMI96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>A Guide to the Project Management Body of Knowledge.&lt;/i> The Project Management Institute: Newton&#xD;
-                    Square, PA, 19073-3299, USA. 1996.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PUT92&quot; name=&quot;PUT92&quot;>PUT92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Lawrence Putnam &amp;amp; Ware Myers 1992. &lt;i>Measures for Excellence: Reliable Software On Time, Within&#xD;
-                    Budget.&lt;/i> Yourdon Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ROY98&quot; name=&quot;ROY98&quot;>ROY98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Walker Royce 1998. &lt;i>Software Project Management: A Unified Framework.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An indispensable companion to the RUP, this book describes the spirit of the Rational Process and its&#xD;
-                    underlying software economics. Full of great advice for the project manager.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;VOS96&quot; name=&quot;VOS96&quot;>VOS96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David Vose 1996. &lt;i>Quantitative Risk Analysis: A Guide to Monte Carlo Simulation Modeling.&lt;/i> John&#xD;
-                    Wiley &amp;amp; Sons.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A good guide to the modeling of uncertainty using Monte Carlo techniques.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WHIT97&quot; name=&quot;WHIT97&quot;>WHIT97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Scott Whitmire 1997. &lt;i>Object-Oriented Design Measurement.&lt;/i> John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A good, if mathematically challenging, treatment of the theoretical basis of software measurement.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Requirement Management references&quot; name=&quot;Requirement Management references&quot;>Requirements Management&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;AND96&quot; name=&quot;AND96&quot;>AND96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Stephen J. Andriole 1996. &lt;i>Managing Systems Requirements: Methods, Tools, and Cases.&lt;/i> McGraw Hill.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BEY98&quot; name=&quot;BEY98&quot;>BEY98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Hugh Beyer and Karen Holtzblatt 1998. &lt;i>Contextual Design.&lt;/i> San Francisco, CA: Morgan Kaufmann&#xD;
-                    Publishers.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BIT03&quot; name=&quot;BIT03&quot;>BIT03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Kurt Bittner and Ian Spence 2003. &lt;i>Use Case Modeling.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Comprehensive coverage of use case techniques and practices, including useful examples showing how&#xD;
-                    use-case specifications evolve over time.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;COC01a&quot; name=&quot;COC01a&quot;>COC01a&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alistair Cockburn 2001. &lt;i>Writing Effective Use Cases.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Excellent guidance for those who need to write use cases. Multiple styles and techniques contrasted&#xD;
-                    with insight in an unbiased way. Many helpful tips to improve your use cases.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CON99&quot; name=&quot;CON99&quot;>CON99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Larry Constantine and Lucy A.D. Lockwood 1999. &lt;i>Software for Use.&lt;/i> Reading, MA: Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    An excellent book on user-centric design, focusing on techniques and practical guidelines for&#xD;
-                    developing software that is usable.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;COO99&quot; name=&quot;COO99&quot;>COO99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alan Cooper1999. &lt;i>The Inmates are Running the Asylum.&lt;/i> Indianapolis, IN: SAMS.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DAV93&quot; name=&quot;DAV93&quot;>DAV93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alan Davis 1993. &lt;i>Software Requirements-Objects, Functions and States.&lt;/i> Englewood Cliffs, NJ:&#xD;
-                    Prentice Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FIS91&quot; name=&quot;FIS91&quot;>FIS91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Roger Fisher and William Ury 1991. &lt;i>Getting to Yes-Negotiating Agreement Without Giving In, 2nd&#xD;
-                    Edition.&lt;/i> Penguin Books USA.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GAU89&quot; name=&quot;GAU89&quot;>GAU89&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Donald Gause and Gerald Weinberg 1989. &lt;i>Exploring Requirements-Quality Before Design.&lt;/i> New York,&#xD;
-                    NY: Dorset House.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GOU88&quot; name=&quot;GOU88&quot;>GOU88&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    John D. Gould 1988. &quot;How to Design Usable Systems&quot;, in Helander, Martin, ed. &lt;i>Handbook of Computer&#xD;
-                    Interaction&lt;/i>, pp. 757-789, North-Holland, Amsterdam, The Netherlands.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GOU87&quot; name=&quot;GOU87&quot;>GOU87&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    John D. Gould, Stephen J. Boies, Stephen Levy, John T. Richards and Jim Schoonard 1987. &quot;The 1984&#xD;
-                    Olympic Message System: a test of behavioral principles of system design&quot;, in &lt;i>Communications of the&#xD;
-                    ACM&lt;/i>, Vol. 30, No. 9, pp. 758-769.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GRA92&quot; name=&quot;GRA92&quot;>GRA92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert Grady 1992. &lt;i>Practical Software Metrics for Project Management and Process Improvement&lt;/i>.&#xD;
-                    Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot; height=&quot;28&quot;>&#xD;
-                    &lt;a id=&quot;HOL96&quot; name=&quot;HOL96&quot;>HOL96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;88%&quot; colspan=&quot;2&quot; height=&quot;28&quot;>&#xD;
-                    Holtzblatt, K., and H. Beyer 1996. &quot;Contextual Design: Principles and Practice,&quot; &lt;i>Field Methods for&#xD;
-                    Software and Systems Design&lt;/i>. D. Wixon and J. Ramey (Eds.), NY, NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;IE830&quot; name=&quot;IE830&quot;>IE830&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    IEEE Std 830-1993. &lt;i>Recommended Practice for Software Requirements Specifications.&lt;/i> Software&#xD;
-                    Engineering Standards Committee of the IEEE Computer Society: New York, NY, 1993.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ISO13407&quot; name=&quot;ISO13407&quot;>ISO13407&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    ISO/TC159 1999. &lt;i>Human-centred design processes for interactive systems.&lt;/i> Report ISO 13407:1999,&#xD;
-                    International Organization for Standardization, Geneva, Switzerland.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KOV99&quot; name=&quot;KOV99&quot;>KOV99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Benjamin L. Kovitz 1999. &lt;i>Practical Software Requirements-A Manual of Content &amp;amp; Style.&lt;/i>&#xD;
-                    Manning Publications.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;LEF99&quot; name=&quot;LEF99&quot;>LEF99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Dean Leffingwell and Don Widrig 1999. &lt;i>Effective Requirements Management.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot; height=&quot;21&quot;>&#xD;
-                    &lt;a id=&quot;MAY99&quot; name=&quot;MAY99&quot;>MAY99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;88%&quot; colspan=&quot;2&quot; height=&quot;21&quot;>&#xD;
-                    Deborah J. Mayhew1999. &lt;i>The Usability Engineering Lifecycle.&lt;/i> Morgan Kaufmann Publishers.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SCH98&quot; name=&quot;SCH98&quot;>SCH98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Geri Schneider and Jason P. Winters 1998. &lt;i>Applying Use Cases-A Practical Guide.&lt;/i> Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SOM97&quot; name=&quot;SOM97&quot;>SOM97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ian Sommerville and Pete Sawyer 1997. &lt;i>Requirements Engineering-A Good Practice Guide.&lt;/i> New York,&#xD;
-                    NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;THA97&quot; name=&quot;THA97&quot;>THA97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Richard H. Thayer and Merlin Dorfman 1997. &lt;i>Software Requirements Engineering, 2nd Edition.&lt;/i> IEEE&#xD;
-                    Computer Society Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WEI95&quot; name=&quot;WEI95&quot;>WEI95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Gerald Weinberg, 1995. &quot;Just Say No! Improving the Requirements Process&quot;, &lt;i>American Programmer&lt;/i>,&#xD;
-                    October 1995.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Software Architecture references&quot; name=&quot;Software Architecture references&quot;>Software Architecture&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot; valign=&quot;top&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BAS98&quot; name=&quot;BAS98&quot;>BAS98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Len Bass, Paul Clements, and Rick Kazman 1998. &lt;i>Software Architecture in Practice.&lt;/i> Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A handbook of software architecture, with numerous case studies.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOS00&quot; name=&quot;BOS00&quot;>BOS00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Jan Bosch 2000. &lt;i>Design and Use of Software Architecture.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BUS96&quot; name=&quot;BUS96&quot;>BUS96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Frank Buschmann, Régine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stahl 1996.&#xD;
-                    &lt;i>Pattern-Oriented Software Architecture-A System of Patterns&lt;/i>, New York, NY: John Wiley and Sons,&#xD;
-                    Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Following the model of the &quot;gang of four&quot; book (Gamma, et al, see above) this book makes an inventory&#xD;
-                    of a wide range of design patterns at the level of the architecture.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CKK02&quot; name=&quot;CKK02&quot;>CKK02&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Paul Clements, Rick Kazman, and Mark Klein 2002. &lt;i>Evaluating Software Architecture&lt;/i>, Addison&#xD;
-                    Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CLE02&quot; name=&quot;CLE02&quot;>CLE02&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Paul Clements et al. 2002. &lt;i>Documenting Software Architectures: Views and Beyond&lt;/i>, Addison Wesley&#xD;
-                    Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;CLN02&quot; name=&quot;CLN02&quot;>CLN02&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Paul Clements and Linda Northrop 2002. &lt;i>Software Product Lines: Practice and Patterns&lt;/i>, Addison&#xD;
-                    Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The preceding three books are from the Software Engineering Institute's architecture study group.&#xD;
-                    &lt;i>Evaluating Software Architecture&lt;/i> provides useful input for architectural reviews. &lt;i>Documenting&#xD;
-                    Software Architectures: Views and Beyond&lt;/i> fully embraces the concept of views and helps with&#xD;
-                    developing a Software Architecture document.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DIK01&quot; name=&quot;DIK01&quot;>DIK01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David M. Dikel, David Kane, and James R. Wilson 2001. &lt;i>Software Architecture - Organizational&#xD;
-                    Principles and Patterns&lt;/i>, Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Describes the VRAPS model of architecting: Vision, Rhythm, Anticipation, Partnering, and&#xD;
-                    Simplification. This is a good reference for the budding architect to put his or her role in context.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FOW97a&quot; name=&quot;FOW97a&quot;>FOW97a&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Martin Fowler 1997. &lt;i>Analysis Patterns: Reusable Object Models.&lt;/i> Addison Wesley Longman.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GAM94&quot; name=&quot;GAM94&quot;>GAM94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides 1994. &lt;i>Design Patterns-Elements of&#xD;
-                    Reusable Object-Oriented Software.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    One of the earlier works on patterns, this book deals with patterns &quot;in the small&quot;.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GAR93&quot; name=&quot;GAR93&quot;>GAR93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David Garlan and Mary Shaw. &lt;i>An Introduction to Software Architecture.&amp;nbsp;&lt;/i> SEI Technical Report&#xD;
-                    CMU/SEI-94-TR-21.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HOF99&quot; name=&quot;HOF99&quot;>HOF99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Christine Hofmeister, Robert Nord, and Dilip Soni 1999. &lt;i>Applied Software Architecture.&lt;/i> Addison&#xD;
-                    Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Proposes an alternate set of architectural views and describes the corresponding process. As the views&#xD;
-                    are not too far from the RUP views, this book is an excellent complement to the guidance found in RUP.&#xD;
-                    Contains several examples of architecture from the biomedical field.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;IEP1471&quot; name=&quot;IEP1471&quot;>IEP1471&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>IEEE Recommended Practice for Architectural Description&lt;/i>, IEEE Std P1471, 2000.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This standard recommends architectural description based on the concept of multiple views, of which the&#xD;
-                    RUP 4+1 view is an example.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JAC97&quot; name=&quot;JAC97&quot;>JAC97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ivar Jacobson, Martin Griss and Patrik Jonsson, 1997. &lt;i>Software Reuse-Architecture, Process and&#xD;
-                    Organization for Business Success&lt;/i>. Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A great companion book to the RUP, this book offers insights on the design of components and systems of&#xD;
-                    interconnected system, and lays out a strategy for institutionalizing a practice of systematic reuse at&#xD;
-                    the corporate level.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRU95&quot; name=&quot;KRU95&quot;>KRU95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Philippe Kruchten 1995, &quot;The 4+1 view model of architecture,&quot; &lt;i>IEEE Software.&lt;/i> 12(6), November&#xD;
-                    1995.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The origin of the 4+1 views used for architectural description in the RUP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;LMFS96&quot; name=&quot;LMFS96&quot;>LMFS96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Lockheed Martin Federal STARS (Software Technology for Adaptable, Reliable Systems) Program. Domain&#xD;
-                    Engineering Guidebook.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This Guidebook provides a high-level description of the Domain Engineering&amp;nbsp; process in the context&#xD;
-                    of a real organization-the U.S. Air Force's Space and Warning Systems Center.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PW92&quot; name=&quot;PW92&quot;>PW92&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Dewayne E. Perry and Alexander L. Wolf. &lt;i>Foundations for the Study of Software Architecture.&lt;/i> ACM&#xD;
-                    SIGSOFT Software Engineering Notes, 17(4):40-52, October 1992.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;REC97&quot; name=&quot;REC97&quot;>REC97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Eberhardt Rechtin and Mark Maier 1997. &lt;i>The Art of System Architecting.&lt;/i> Boca Ration, FL: CRC&#xD;
-                    Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Although not specifically directed to software engineers, these two books are extremely valuable for&#xD;
-                    software architects: in particular, they introduce an invaluable set of heuristics and many examples of&#xD;
-                    architecture.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;REC91&quot; name=&quot;REC91&quot;>REC91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Eberhardt Rechtin 1991. &lt;i>Systems Architecting: creating and building complex systems&lt;/i>. Englewood&#xD;
-                    Cliffs NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ROY91&quot; name=&quot;ROY91&quot;>ROY91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Walker E. Royce and Winston Royce, &quot;Software Architecture: Integrating Process and Technology,&quot;&#xD;
-                    &lt;i>Quest,&lt;/i> 14 (1), 1991, Redondo Beach, CA: TRW, pp.2-15.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SHA96&quot; name=&quot;SHA96&quot;>SHA96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Mary Shaw and David Garlan 1996. &lt;i>Software Architecture-Perspectives on an Emerging Discipline.&lt;/i>&#xD;
-                    Upper Saddle River, NJ: Prentice-Hall.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A good introduction to the concepts and problems of software architecture.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WIT94&quot; name=&quot;WIT94&quot;>WIT94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Bernard I. Witt, F. Terry Baker, and Everett W. Merritt 1994. &lt;i>Software Architecture and&#xD;
-                    Design-Principles, Models, and Methods.&lt;/i> New York, NY: Van Nostrand Reinhold.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    One of the first comprehensive book written on software architecture.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Software Development Process references&quot; name=&quot;Software Development Process references&quot;>Software Development&#xD;
-    Process&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;AMB99&quot; name=&quot;AMB99&quot;>AMB99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Scott W. Ambler 1999. &lt;i>More Process Patterns: Delivering Large-Scale Systems Using Object&#xD;
-                    Technology&lt;/i>. New York, NY: SIGS Books/Cambridge University Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The companion to [AMB98].&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;AMB98&quot; name=&quot;AMB98&quot;>AMB98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Scott W. Ambler 1998. &lt;i>Process Patterns: Building Large-Scale Systems Using Object Technology&lt;/i>.&#xD;
-                    New York, NY: SIGS Books/Cambridge University Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A good resource on process tailoring and applying object-oriented techniques to software engineering&#xD;
-                    projects.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOE96&quot; name=&quot;BOE96&quot;>BOE96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Barry W. Boehm 1996, &quot;Anchoring the Software Process,&quot; &lt;i>IEEE Software,&lt;/i> July 1996, pp.73-82.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This article defines the four phases and the corresponding milestones.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BOE88&quot; name=&quot;BOE88&quot;>BOE88&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Barry W. Boehm 1988, &quot;A Spiral Model of Software Development and Enhancement,&quot; &lt;i>Computer,&lt;/i> May&#xD;
-                    1988, IEEE, pp.61-72.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This seminal article defines the principles and motivations of iterative development.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;COC01&quot; name=&quot;COC01&quot;>COC01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alistair Cockburn 2001. &lt;i>Agile Software Development&lt;/i> Addison-Wesley Publishing Co.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Peers into the team dynamics, the cultures, the communications aspects of software development.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;DOD94&quot; name=&quot;DOD94&quot;>DOD94&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    &lt;i>Software Development and Documentation,&lt;/i> MIL-STD-498, U.S. Department of Defense, December 1994.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FER01&quot; name=&quot;FER01&quot;>FER01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Xavier Ferre et al. 2001, &quot;Usability Basics for Software Developers,&quot; &lt;i>IEEE Software,&lt;/i> January&#xD;
-                    2001, pp. 22-29.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HIG00&quot; name=&quot;HIG00&quot;>HIG00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James A. Highsmith 2000. &lt;i>Adaptive Software Development: A Collaborative Approach to Managing Complex&#xD;
-                    Systems&lt;/i>. Dorset House.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book is a great companion book to the RUP-a fantastic and convincing plea for iterative&#xD;
-                    development. Very practical advice for the project manager.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;HUM89&quot; name=&quot;HUM89&quot;>HUM89&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Watts S. Humphrey 1989. &lt;i>Managing the Software Process&lt;/i>. Reading, MA: Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A classic book on software process and the capability maturity model developed at the Software&#xD;
-                    Engineering Institute.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ISO95&quot; name=&quot;ISO95&quot;>ISO95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    ISO/IEC 12207 &lt;i>Information Technology-Software Life-cycle Processes.&lt;/i> ISO, Geneva, 1995, 57p.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ISO91&quot; name=&quot;ISO91&quot;>ISO91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    ISO 9000-3 &lt;i>Guidelines for the Application of ISO 9001 to the Development, Supply, and Maintenance of&#xD;
-                    Software.&lt;/i> ISO, Geneva 1991.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Two key standards for software process definition and assessment.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JAC98&quot; name=&quot;JAC98&quot;>JAC98&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ivar Jacobson, Grady Booch, and James Rumbaugh 1998. &lt;i>The Unified Software Development Process.&lt;/i>&#xD;
-                    Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This recent textbook is a more thorough description of the Unified Process and is a useful companion to&#xD;
-                    the RUP. Also provides examples of UML modeling.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JAC97&quot; name=&quot;JAC97&quot;>JAC97&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ivar Jacobson, Martin Griss, and Patrik Jonsson 1997. &lt;i>Software Reuse-Architecture, Process and&#xD;
-                    Organization for Business Success.&lt;/i> Addison Wesley Longman.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This textbook on software reuse is great complement to the RUP. It features also some great chapters on&#xD;
-                    architecture.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JEF01&quot; name=&quot;JEF01&quot;>JEF01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ron Jeffries, Ann Anderson, and Chet Hendrickson 2001. &lt;i>Extreme Programming Installed.&lt;/i>&#xD;
-                    Addison-Wesley.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book describes practical Extreme Programming techniques.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRU96&quot; name=&quot;KRU96&quot;>KRU96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Philippe Kruchten 1996. &quot;A Rational Development Process&quot;&lt;i>,&lt;/i> &lt;i>CrossTalk&lt;/i>, 9 (7), July 1996,&#xD;
-                    p.11-16.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Developed with Walker Royce, Sue Mickel, and a score of Rational consultants, this article describes&#xD;
-                    the iterative lifecycle of the Rational Process.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRU91&quot; name=&quot;KRU91&quot;>KRU91&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Philippe Kruchten 1991. &quot;Un processus de dévelopment de logiciel itératif et centré sur&#xD;
-                    l´architecture&quot;, &lt;i>Proceedings of the 4th International Conference on Software Engineering, December&#xD;
-                    1991&lt;/i>, Toulouse, France, EC2.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The Rational iterative process in French.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRU00&quot; name=&quot;KRU00&quot;>KRU00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Philippe Kruchten 2000. &lt;i>The Rational Unified Process, An Introduction, Second Edition.&lt;/i> Addison&#xD;
-                    Wesley Longman.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Indespensible as an introductory text, this &quot;mile wide, inch deep&quot; overview quickly introduces you to&#xD;
-                    the concepts, structure, content, and motivation of the RUP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRO03&quot; name=&quot;KRO03&quot;>KRO03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Per Kroll and Philippe Kruchten 2003. &lt;i>The Rational Unified Process Made Easy, A Practitioners Guide&#xD;
-                    to the RUP.&lt;/i> Addison Wesley Longman.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A practical guide to adopting the spirit, principles and practices of the RUP. An invaluable resource&#xD;
-                    in helping you decide how to apply the RUP in your organization or project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MCF96&quot; name=&quot;MCF96&quot;>MCF96&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert McFeeley 1996. &lt;i>IDEAL: A User's Guide for Software Process Improvement.&lt;/i> Software&#xD;
-                    Engineering Institute, Pittsburgh, PA, CMU/SEI-96-HB-001.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Describes a software process improvement program model called IDEAL, a generic description of a&#xD;
-                    sequence of recommended steps for initiating and managing a process implementation project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PAR86&quot; name=&quot;PAR86&quot;>PAR86&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    David L. Parnas and Paul C. Clements, &quot;A Rational Design Process: How and Why to Fake It&quot;, &lt;i>IEEE&#xD;
-                    Trans. Software Eng.,&lt;/i> Feb. 1986, pp.251-257.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;PAU93&quot; name=&quot;PAU93&quot;>PAU93&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Mark Paulk, et al. 1993. &lt;i>Capability Maturity Model for Software, Version 1.1.&lt;/i> Software&#xD;
-                    Engineering Institute, Pittsburgh, PA SEI-93-TR-024.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    The original reference for the capability maturity model.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ROY90&quot; name=&quot;ROY90&quot;>ROY90&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Walker E. Royce, &quot;TRW's Ada Process Model for Incremental Development of Large Software Systems&quot;,&#xD;
-                    &lt;i>Proceedings ICSE 12, March 26-30, 1990,&lt;/i> Nice, France, IEEE, pp.2-11.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;ROY70&quot; name=&quot;ROY70&quot;>ROY70&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Winston W. Royce, &quot;Managing the Development of Large Software Systems: Concepts and Techniques&quot;,&#xD;
-                    &lt;i>Proceedings, WESCON&lt;/i>, August 1970.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h2 align=&quot;left&quot;>&#xD;
-    &lt;a id=&quot;Testing and Quality references&quot; name=&quot;Testing and Quality references&quot;>Testing and Quality&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BAC01a&quot; name=&quot;BAC01a&quot;>BAC01a&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Bach 2001. &lt;i>What Is Exploratory Testing? (And How It Differs from Scripted Testing).&lt;/i>&#xD;
-                    Software Testing and Quality Engineering Magazine, Jan 29, 2001.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This article is available online at &lt;a href=&quot;http://www.stickyminds.com/sitewide.asp?sid=582697&amp;amp;sqry=*J(MIXED)*R(createdate)*K(simplesite)*F(what is exploratory testing)*&amp;amp;sidx=0&amp;amp;sopp=10&amp;amp;ObjectId=2255&amp;amp;Function=DETAILBROWSE&amp;amp;ObjectType=COL&quot; target=&quot;_blank&quot;>http://www.stickyminds.com&lt;/a>.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BAS87&quot; name=&quot;BAS87&quot;>BAS87&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    BAS87 Victor R. Basili and H. Dieter Rombach 1987. &lt;i>Tailoring the Software Process to Project Goals&#xD;
-                    and Environments.&lt;/i> Proceedings of the 9th International Conference on Software Engineering Software,&#xD;
-                    IEEE Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BEI95&quot; name=&quot;BEI95&quot;>BEI95&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Boris Beizer 1995. &lt;i>Black Box Testing.&lt;/i> New York, NY: John Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Various strategies to develop test cases for the functional testing of software. Dr. Beizer's writing&#xD;
-                    style and wit make this book easy and fun to read, with excellent, understandable examples.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BLA99&quot; name=&quot;BLA99&quot;>BLA99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Rex Black 1999. &lt;i>Managing the Testing Process.&lt;/i> Microsoft Press.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book is a good source of information about managing system testing teams.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;GLA81&quot; name=&quot;GLA81&quot;>GLA81&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Robert L. Glass 1981. &lt;i>Persistent Software Errors.&lt;/i> IEEE Transactions on Software Engineering,&#xD;
-                    March 1981.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;IE829&quot; name=&quot;IE829&quot;>IE829&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    IEEE 829-1983 &lt;i>Standard for Software Test Documentation.&lt;/i> Software Engineering Standards Committee&#xD;
-                    of the IEEE Computer Society, New York.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KAN01&quot; name=&quot;KAN01&quot;>&lt;/a>KAN01&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Cem Kaner, James Bach, and Bret Pettichord 2001. &lt;i>Lessons Learned in Software Testing.&lt;/i> John Wiley&#xD;
-                    &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A wealth of tips and tricks that help to address a wide variety of issues faced in the testing of&#xD;
-                    computer software. Broad coverage of management, psychological as well as the technical aspects of&#xD;
-                    software testing. Valuable guidance for the novice and the expert alike.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KAN99&quot; name=&quot;KAN99&quot;>&lt;/a>KAN99&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Cem Kaner, Jack Falk, and Hung Quoc Nguyen 1999. &lt;i>Testing Computer Software, 2nd Edition.&lt;/i> John&#xD;
-                    Wiley &amp;amp; Sons, Inc.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Billed as &quot;The best-selling software testing book of all time&quot;, this book offers a broad coverage of&#xD;
-                    various aspects of software testing.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MAR00&quot; name=&quot;MAR00&quot;>MAR00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Brian Marick 2000. &lt;i>Faults of Omission.&lt;/i> Software Testing and Quality Engineering Magazine,&#xD;
-                    March-April 2000.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This article is available online at: &lt;a href=&quot;http://www.testing.com/writings/omissions.pdf&quot; target=&quot;_blank&quot;>http://www.testing.com/writings/omissions.pdf&lt;/a>.&lt;br />&#xD;
-                     (&lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot; target=&quot;_blank&quot;>Get Adobe Reader&lt;/a>)&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;MYE79&quot; name=&quot;MYE79&quot;>MYE79&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Glenford J. Myers 1979. &lt;i>The Art of Software Testing&lt;/i>, John Wiley &amp;amp; Sons, Inc., New York.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This is one of the classic works of software testing literature. Even today this timelesss text offers&#xD;
-                    useful, practical, and relevent guidance.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;OST84&quot; name=&quot;OST84&quot;>OST84&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Thomas J. Ostrand and Elaine J. Weyuker 1984. &lt;i>Collecting and Categorizing Software Error Data in an&#xD;
-                    Industrial Environment.&lt;/i> Journal of Systems and Software, Vol. 4, 1984.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/resources/circleOfLife.jpg b/XP/xp/customcategories/resources/circleOfLife.jpg
deleted file mode 100644
index 3772826..0000000
--- a/XP/xp/customcategories/resources/circleOfLife.jpg
+++ /dev/null
Binary files differ
diff --git a/XP/xp/customcategories/resources/extreme_programming,5.2637267673584526E-306.html b/XP/xp/customcategories/resources/extreme_programming,5.2637267673584526E-306.html
deleted file mode 100644
index 3eb88af..0000000
--- a/XP/xp/customcategories/resources/extreme_programming,5.2637267673584526E-306.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Concept: Extreme Programming</title>
-<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-<meta name="element_type" content="concept">
-<meta content="description" name="filetype">
-<meta name="role" content="">
-<link type="text/css" href="./../../../css/default.css" rel="StyleSheet">
-<script src="./../../../scripts/contentpage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
-					backPath = './../../../';
-				</script>
-</head>
-<body onload="createSectionLinks('div', 'sectionHeading', './../../../images/');">
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td valign="top"><a name="Top"></a>
-<table cellpadding="0" cellspacing="0" border="0">
-<tr>
-<td class="pageTitle">Concept: Extreme Programming</td>
-</tr>
-</table>
-<table cellspacing="0" cellpadding="0" border="0" width="100%">
-<tr>
-<td class="pageTitleSeparator"><img height="1" alt="" src="./../../../images/shim.gif"></td>
-</tr>
-</table>
-<div class="overview">
-<table cellpadding="0" cellspacing="0" border="0" width="97%">
-<tr>
-<td>
-<table cellpadding="0" cellspacing="0" border="0" class="overviewTable">
-<tr>
-<td valign="top"></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-</div>
-<div class="sectionHeading">Main Description</div>
-<div class="sectionContent">
-<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
-<tr valign="top">
-<td class="sectionTableCell"><a id="XE_xp__conceptual_process_roadmap" name="XE_xp__conceptual_process_roadmap"></a><a id="XE_roadmap__for_xp_practices" name="XE_roadmap__for_xp_practices"></a> 
-<h3>
-    Topics
-</h3>
-<div align="left">
-    <table width="70%" border="1">
-        <tbody valign="top">
-            <tr>
-                <td width="315" height="178">
-                    <ul>
-                        <li>
-                            <a href="#Introduction">Introduction</a>
-                        </li>
-                        <li style="LIST-STYLE-TYPE: none">
-                            <ul>
-                                <li>
-                                    <a href="#About">About XP</a>
-                                </li>
-                            </ul>
-                        </li>
-                    </ul>
-                    <p>
-                        <br />
-                        <br />
-                    </p>
-                    <ul>
-                        <li>
-                            <a href="#Characteristics">Characteristics of an XP Project</a>
-                        </li>
-                        <li>
-                            <a href="#GettingStarted">How to Get Started</a>
-                        </li>
-                        <li>
-                            <a href="#Phases">Phases and Iterations</a>
-                        </li>
-                    </ul>
-                </td>
-                <td width="315" height="178">
-                    <b>Additional Guidance:</b> 
-                    <ul>
-                        <li>
-                            Guidelines 
-                            <ul>
-                                <li>
-                                    <a class="elementLink" href="./../../../xp/guidances/guidelines/refactoring,8.137126904637637E-306.html" guid="8.137126904637637E-306">Refactoring</a>
-                                </li>
-                                <li>
-                                    <a class="elementLinkWithUserText" href="./../../../xp/guidances/guidelines/test_driven_development_tdd,3.9254165491375454E-306.html" guid="3.9254165491375454E-306">Test First Development</a>
-                                </li>
-                                <li>
-                                    <a class="elementLinkWithUserText" href="./../../../xp/guidances/guidelines/pair_programming,3.85153041801319E-307.html" guid="3.85153041801319E-307">Pair Programming</a>
-                                </li>
-                                <li>
-                                    <a class="elementLinkWithUserText" href="./../../../xp/guidances/guidelines/planning_game,6.7335956461328426E-307.html" guid="6.7335956461328426E-307">Planning Game</a>
-                                </li>
-                                <li style="LIST-STYLE-TYPE: none">
-                                    <br />
-                                    <br />
-                                </li>
-                            </ul>
-                        </li>
-                        <li>
-                            <a class="elementLinkWithUserText" href="./../../../xp/guidances/supportingmaterials/bup_xp_plug-in_resource_center,2.315717433735515E-305.html" guid="2.315717433735515E-305">Additional XP Resources</a>
-                        </li>
-                    </ul>
-                    <b>Additional Concepts:</b> 
-                    <ul>
-                        <li>
-                            <a class="elementLink" href="./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html" guid="1.041091673844025E-305">Agile Software Development</a>
-                        </li>
-                    </ul>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-</div>
-<br />
-<br />
-<h1>
-    <a id="Introduction" name="Introduction">Introduction</a>
-</h1>
-<p>
-    This roadmap provides information for getting started and applying the practices of eXtreme Programming (XP) to a
-    software development project. The roadmap can be used as a guide to the content delivered in the BUP XP Plug-In.
-</p>
-<h3>
-    <a id="About" name="About">About XP</a>&nbsp;
-</h3>
-<p>
-    Extreme Programming is an instance of an <a class="elementLink" href="./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html" guid="1.041091673844025E-305">Agile Software Development</a> method. XP is a method that is optimized for small to
-    medium-sized project teams that fit a certain profile. It promotes rapid feedback and response to continual change. It
-    is based upon the four <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/xp_values,1.076140803519123E-306.html" guid="1.076140803519123E-306">values</a> of simplicity, communication, feedback, and courage and is consistent with the
-    values of agile software development.
-</p>
-<br />
-<p>
-    Extreme Programming is an instance of an agile method for developing software. It is based upon the core principle of
-    agility and consists of twelve practices that, when applied to an appropriate software development project, can produce
-    high-quality software. If you are unfamiliar with the concepts surrounding XP, you should start by reading <a class="elementLink" href="./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html" guid="1.041091673844025E-305">Agile Software Development</a>.
-</p>
-<h3>
-    <a id="Characteristics" name="Characteristics">Characteristics of an XP Project</a>
-</h3>
-<p>
-    Extreme Programming or XP is a development process that can be used by small to medium-sized teams to develop high
-    quality software within a predictable schedule and budget and with a minimum of overhead. Since XP relies heavily on
-    direct and frequent communication between the team members, the team should be co-located. An ideal project for using
-    XP would be one that has most of the following characteristics:
-</p>
-<ul>
-    <li>
-        A small to medium-sized team (fewer than 20 people on the complete team)
-    </li>
-    <li>
-        Co-located, preferably in a single area with a large common space
-    </li>
-    <li>
-        A committed, full-time, on-site customer or customer representative
-    </li>
-    <li style="LIST-STYLE-TYPE: none">
-        <br />
-    </li>
-</ul>
-<h3>
-    <a id="Phases" name="Phases">Phases and Iterations</a>
-</h3>
-<p>
-    An XP project is one that is based on rapid feedback through short iterations and frequent releases. BUP and XP share a
-    fundamental belief that iterative development is the best way to deliver valuable software to your customers. The
-    concept of phases, as usually described in a BUP configuration, is somewhat different. Decisions described in the BUP
-    phases that define milestones occur, but they are not called specifically as defining phases. For a discussion of how
-    the phases are related to an XP project, see the discussion of <a class="elementLinkWithUserText" href="./../../../xp/deliveryprocesses/bup_phases_and_xp,{63BD15C5-40EF-469A-A22A-3291734B60F4}.html" guid="{63BD15C5-40EF-469A-A22A-3291734B60F4}">Phases</a>.
-</p>
-<h3>
-    <a id="GettingStarted" name="GettingStarted">How to Get Started</a>
-</h3>
-<p>
-    This section provides a recommended way to approach XP for your project. You don't have to follow the steps as
-    specified, but if you have little experience with XP, we recommend following them as closely as possible the first
-    time.
-</p>
-<table cellspacing="2" cellpadding="1" width="91%" border="1">
-    <tbody>
-        <tr>
-            <th width="10%">
-                Step
-            </th>
-            <th align="left" width="47%">
-                Do this ...
-            </th>
-            <th align="left" width="43%">
-                in order to...
-            </th>
-        </tr>
-        <tr>
-            <td align="middle" width="10%">
-                1
-            </td>
-            <td width="47%">
-                Familiarize yourself with the&nbsp;<a class="elementLink" href="./../../../xp/guidances/concepts/motivation,1.6390805262958034E-306.html" guid="1.6390805262958034E-306">motivation</a> for using XP, the <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/what_is_xp,9.251272550276345E-306.html" guid="9.251272550276345E-306">short description</a> of XP, and the <a class="elementLink" href="./../../../xp/guidances/concepts/xp_practices,2.2937799026801584E-305.html" guid="2.2937799026801584E-305">XP Practices</a> 
-            </td>
-            <td width="43%">
-                understand the fundamental principles of XP and how the practices support each other.
-            </td>
-        </tr>
-        <tr>
-            <td align="middle" width="10%">
-                2
-            </td>
-            <td width="47%">
-                Read the key concepts of <a class="elementLink" href="./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html" guid="1.041091673844025E-305">Agile Software Development</a> 
-            </td>
-            <td width="43%">
-                understand the collaborative and social aspects of XP.
-            </td>
-        </tr>
-        <tr>
-            <td align="middle" width="10%">
-                3
-            </td>
-            <td width="47%">
-                Determine if XP is appropriate for your project by reviewing <a href="#Characteristics">The Characteristics
-                of an XP Project</a> 
-            </td>
-            <td width="43%">
-                decide if XP may be appropriate for your project.
-            </td>
-        </tr>
-        <tr>
-            <td align="middle" width="10%">
-                4
-            </td>
-            <td width="47%">
-                Read about the <a class="elementLinkWithUserText" href="./../../../xp/guidances/guidelines/xp_environment,3.754748120034442E-307.html" guid="3.754748120034442E-307">XP Environment</a>.
-            </td>
-            <td width="43%">
-                prepare the physical and tool environment for your team.
-            </td>
-        </tr>
-        <tr>
-            <td align="middle" width="10%">
-                5
-            </td>
-            <td width="47%">
-                Read the <a class="elementLink" href="./../../../xp/guidances/supportingmaterials/getting_started_with_xp,1.2284921351651456E-304.html" guid="1.2284921351651456E-304">Getting Started with XP</a> guidelines.
-            </td>
-            <td width="43%">
-                get suggestions on how to start an XP project.
-            </td>
-        </tr>
-    </tbody>
-</table>
-<br />
-<br />
-<br />
-<br /></td>
-</tr>
-</table>
-</div>
-<table cellpadding="0" cellspacing="0" border="0" class="copyright">
-<tr>
-<td class="copyright"></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/XP/xp/customcategories/resources/xp_getting_started_guidelines.htm b/XP/xp/customcategories/resources/xp_getting_started_guidelines.htm
deleted file mode 100644
index 983817c..0000000
--- a/XP/xp/customcategories/resources/xp_getting_started_guidelines.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<!-- RPW META DATA START --
-<rpw name="MetaData" meta_value="anonymous" meta_name="element_type"></rpw>
-<rpw name="MetaData" meta_value="guideline" meta_name="filetype"></rpw>
--- RPW META DATA END -->
-
-<html>
-
-<head>
-<link rel="stylesheet" href="../../../rop.css" type="text/css">
-<title>Guidelines:&nbsp;<rpw name="InsertPresentationName"></rpw></title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-
-<body>
-
-<rpw name="Warning"><b>!RPW INCLUDE! DO NOT MOVE/MODIFY !RPW INCLUDE!</b><br></rpw>
-<rpw name="Include">rpw/startBorder.rpw</rpw>
-<rpw name="Warning"><br><b>!RPW INCLUDE! DO NOT MOVE/MODIFY !RPW INCLUDE!</b></rpw>
-
-
-<h1 class="banner"><a name="Top"></a>Guidelines:&nbsp;<rpw name="PresentationName">Adopting 
-  XP Practices</rpw> <a name="XE_xp__adopting_practices"></a><a name="XE_adopting_practices__in_xp"></a></h1>
-<p>XP is a set of synergistic practices. Because the practices depend upon each 
-  other, people often wonder where they should start. In general, we recommend 
-  that you stop and consciously decide to adopt as many of the XP practices as 
-  possible.</p>
-<p>However, if that induces too much stress, consider adopting the practices in 
-  this order.</p>
-<p><b><a href="../../../components/pc_xp_essentials/pc_xp_integration/co_continuous_integration.htm">Establish 
-  a solid build process</a></b>. If you are not able to reliably build the software 
-  you are working on, you can&8217;t really go further. Once you have a reliable 
-  build process, make sure that you run whatever <a href="../../../components/pc_xp_essentials/pc_xp_testing/co_customer_tests.htm">tests</a> 
-  you have prior to each checking.</p>
-<p><b><a href="../../../components/pc_xp_essentials/pc_xp_programming/co_pair_program.htm">Pair 
-  programming</a></b> is often a significantly different way of working for most 
-  developers. It takes a little bit of time to get used to it, but as a team does, 
-  they recognize that they are a much more powerful team because everyone&#8217;s 
-  knowledge of the system grows rapidly. In addition, quality goes up because 
-  there are two sets of eyes on all work as it is being done. When you adopt pair 
-  programming, ideally you should have an <a href="../../../components/pc_xp_essentials/pc_xp_management/xp_open_workspace_guidelines.htm">open 
-  workspace</a>.</p>
-<p>As your team gets started with pair programming, you should adopt the <b><a href="../../../components/pc_xp_essentials/co_planning_game.htm">Planning 
-  Game</a></b>. The Planning Game will help you identify good goals for your next 
-  release, iteration, and day of work. At the end of your first iteration, you 
-  will have a velocity that you can use to get a sense of how long it takes you 
-  do do your work. As you do your planning, talk to your customer about producing 
-  acceptance tests and being available to the team.</p>
-<p>As you work together on your first iteration, try doing <a href="../../../components/pc_xp_essentials/co_test_driven_development.htm"><b>test-driven 
-  development</b></a>. It will feel strange at first. If it doesn&#8217;t, you 
-  are probably doing it wrong. Over time, it will feel like a more natural way 
-  to develop software. Recognize that, at first, your velocity will be rather 
-  low. This is a side effect of the learning process. Over the next few iterations 
-  your speed will increase.</p>
-<p>As you move forward, learn how to <a href="../../../components/pc_xp_essentials/pc_xp_programming/co_refactoring.htm"><b>refactor</b></a> 
-  and start to practice <a href="../../../components/pc_xp_essentials/co_collective_code_ownership.htm"><b>collective 
-  code ownership</b></a>. Often collective code ownership is a little scary at 
-  first, but as you pair, you will notice that everyone is learning what it takes 
-  to work with the system. When people volunteer for tasks, they either volunteer 
-  only for what they know how to do or for things that they can get help on from 
-  a partner.</p>
-<p>Once you have a few iterations under your belt, you will be able to understand 
-  how the process works and how the different practices interact and support each 
-  other. Finally, listen to the feedback coming from your team. That feedback 
-  is critical and can be used to improve and adapt the process to your team&#8217;s 
-  particular needs and problems.</p>
-
-
-<p><br/><br/></p>
-
-<rpw name="Warning"><b>!RPW INCLUDE! DO NOT MOVE/MODIFY !RPW INCLUDE!</b><br></rpw>
-<rpw name="Include">rpw/endBorderOmRat.rpw</rpw>
-<rpw name="Include">rpw/endBorder.rpw</rpw>
-<rpw name="Warning"><br><b>!RPW INCLUDE! DO NOT MOVE/MODIFY !RPW INCLUDE!</b></rpw>
-
-</body>
-
-</html>
-
diff --git a/XP/xp/customcategories/resources/xp_practices,2.2937799026801584E-305.html b/XP/xp/customcategories/resources/xp_practices,2.2937799026801584E-305.html
deleted file mode 100644
index f77493f..0000000
--- a/XP/xp/customcategories/resources/xp_practices,2.2937799026801584E-305.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Concept: XP Practices</title>
-<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-<meta name="element_type" content="concept">
-<meta content="description" name="filetype">
-<meta name="role" content="">
-<link type="text/css" href="./../../../css/default.css" rel="StyleSheet">
-<script src="./../../../scripts/contentpage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
-					backPath = './../../../';
-				</script>
-</head>
-<body onload="createSectionLinks('div', 'sectionHeading', './../../../images/');">
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td valign="top"><a name="Top"></a>
-<table cellpadding="0" cellspacing="0" border="0">
-<tr>
-<td class="pageTitle">Concept: XP Practices</td>
-</tr>
-</table>
-<table cellspacing="0" cellpadding="0" border="0" width="100%">
-<tr>
-<td class="pageTitleSeparator"><img height="1" alt="" src="./../../../images/shim.gif"></td>
-</tr>
-</table>
-<div class="overview">
-<table cellpadding="0" cellspacing="0" border="0" width="97%">
-<tr>
-<td>
-<table cellpadding="0" cellspacing="0" border="0" class="overviewTable">
-<tr>
-<td valign="top"></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-</div>
-<div class="sectionHeading">Main Description</div>
-<div class="sectionContent">
-<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
-<tr valign="top">
-<td class="sectionTableCell"><a id="XE_xp__practices_of" name="XE_xp__practices_of"></a><a id="XE_practices_in__xp" name="XE_practices_in__xp"></a> 
-<p>
-    XP is a collection of guiding values and best practices. Most of these practices have been used in the industry in some
-    shape or form for a number of years. XP has simply identified them and tried to push the envelope of these practices in
-    order to get the most benefit from them. Taken individually, these practices are all fairly simple. But it is the sum
-    of all of them that provides the most benefit as they reinforce each other to address the most difficult problems teams
-    encounter when developing software.
-</p>
-<br />
-<br />
-<p>
-    <img height="540" alt="" src="./../../../xp/resources/circleOfLife.jpg" width="720" usemap="#xp_practices_image_map"     border="0" /> <map id="xp_practices_image_map" name="xp_practices_image_map">
-        <area shape="RECT" coords="298,19,390,88"         href="./../../../xp/guidances/concepts/whole_team,7.89591827591278E-306.html" />
-        <area shape="RECT" coords="176,135,282,200"         href="./../../../xp/guidances/concepts/collective_ownership,9.300699588493279E-306.html" />
-        <area shape="RECT" coords="297,168,434,231"         href="./../../../xp/guidances/concepts/test_driven_development,1.620567348185129E-306.html" />
-        <area shape="RECT" coords="447,135,547,198"         href="./../../../xp/guidances/concepts/coding_standard,8.8116853923311E-307.html" />
-        <area shape="RECT" coords="15,236,122,305"         href="./../../../xp/guidances/concepts/customer_tests,2.297945473205673E-305.html" />
-        <area shape="RECT" coords="218,238,362,307"         href="./../../../xp/guidances/concepts/pair_programming,3.876855509996079E-307.html" />
-        <area shape="RECT" coords="392,241,512,305"         href="./../../../xp/guidances/concepts/refactoring_xp_programming,1.4410217108363206E-306.html" />
-        <area shape="RECT" coords="614,236,714,302"         href="./../../../xp/guidances/concepts/planning_game,2.7371805612676613E-305.html" />
-        <area shape="RECT" coords="143,325,270,393"         href="./../../../xp/guidances/concepts/continuous_integration,3.193414568279561E-305.html" />
-        <area shape="RECT" coords="310,321,412,379"         href="./../../../xp/guidances/concepts/simple_design,1.6109092258980447E-306.html" />
-        <area shape="RECT" coords="468,323,597,393"         href="./../../../xp/guidances/concepts/xp_sustainable_pace,3.133529870649493E-306.html" />
-        <area shape="RECT" coords="307,386,413,436"         href="./../../../xp/guidances/concepts/metaphor_system_of_names,4.884861766532753E-306.html" />
-        <area shape="RECT" coords="312,475,419,539"         href="./../../../xp/guidances/concepts/small_releases,5.762953011420275E-306.html" />
-        <area shape="RECT" target="_blank" coords="561,494,708,538" href="http://www.xprogramming.com" />
-    </map>
-</p>
-<p>
-    This diagram arranges the core practices of Extreme Programming in a way that makes them easy to remember and that
-    exemplifies the steering and control cycles of the process.
-</p>
-<p>
-    The outer red circle is called the "Circle of Life". It's what keeps an XP project going, producing tested working
-    software. The <a class="elementLink" href="./../../../xp/guidances/concepts/whole_team,7.89591827591278E-306.html" guid="7.89591827591278E-306">Whole Team</a>, customer members and development members, work together--preferably
-    physically together--to build the project. Using the <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/planning_game,2.7371805612676613E-305.html" guid="2.7371805612676613E-305">Planning Game</a> elements of Release Planning and Iteration Planning, they plan a
-    series of <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/small_releases,5.762953011420275E-306.html" guid="5.762953011420275E-306">Small
-    Releases</a> of software that demonstrably pass all the <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/customer_tests,2.297945473205673E-305.html" guid="2.297945473205673E-305">Customer Tests</a>.
-</p>
-<p>
-    The innermost blue circle describes the day to day, moment to moment, work of the XP developers. Each feature is
-    addressed with <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/simple_design,1.6109092258980447E-306.html" guid="1.6109092258980447E-306">Simple Design</a>, ensuring that the design of the system is just right for the features
-    supported. The programmers work in <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/pair_programming,3.876855509996079E-307.html" guid="3.876855509996079E-307">pairs</a> for all production code development, providing continuous code review and
-    valuable, team-wide understanding of the system. They build the software using <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/test_driven_development,1.620567348185129E-306.html" guid="1.620567348185129E-306">Test-Driven Development,</a> a technique that produces well-crafted and well-tested
-    software with a minimum of wasted effort, and the design is kept clean by the continuous improvement process of <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/refactoring_xp_programming,1.4410217108363206E-306.html" guid="1.4410217108363206E-306">Refactoring</a>.
-</p>
-<p>
-    The middle green circle contains the important supporting practices of XP. The software is designed according to a
-    common, shared, evolving <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/metaphor_system_of_names,4.884861766532753E-306.html" guid="4.884861766532753E-306">Metaphor</a> that helps it all hang together. It is kept <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/continuous_integration,3.193414568279561E-305.html" guid="3.193414568279561E-305">continuously integrated</a> with many system builds every day, each one fully tested. The
-    team shares ownership of of all the code so that needed changes can be made by any qualified pair, not just by one
-    individual. Since everyone works on everything, the team evolves a <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/coding_standard,8.8116853923311E-307.html" guid="8.8116853923311E-307">standard
-    way of coding</a>. Finally, XP teams work at a <a class="elementLinkWithUserText" href="./../../../xp/guidances/concepts/xp_sustainable_pace,3.133529870649493E-306.html" guid="3.133529870649493E-306">sustainable pace</a> that enables them to deliver tested software on a predictable basis
-    from the first day of the project until the last.
-</p>
-<p>
-    <br />
-    &nbsp;
-</p></td>
-</tr>
-</table>
-</div>
-<table cellpadding="0" cellspacing="0" border="0" class="copyright">
-<tr>
-<td class="copyright"></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/XP/xp/customcategories/xp_best_practices.xmi b/XP/xp/customcategories/xp_best_practices.xmi
deleted file mode 100644
index 08ce023..0000000
--- a/XP/xp/customcategories/xp_best_practices.xmi
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-LVHbtWMGC3pAL9abD018MA"
-    name="xp_best_practices,4.315031901943112E-306" guid="-LVHbtWMGC3pAL9abD018MA"
-    changeDate="2006-12-01T18:22:33.700-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Extreme Programming is based on core values of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>communication,&#xD;
-    simplicity, feedback, and courage&lt;/a>. These are not just buzzwords: they pervade the behavior of XP practitioners and&#xD;
-    the choice of XP practices.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    More than anything else, XP is about people, people coming together and working together to build software. The&#xD;
-    practices of XP are there to enable people to work together; the practices try never to get in the way of the human&#xD;
-    enterprise of building software that meets business needs. Thus, the practices of XP, while quite disciplined, are&#xD;
-    there to enable interactions among individuals, never to replace or interfere with those interactions.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    XP Practices&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    &lt;b>&lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>Overview&lt;/a>&lt;/b>&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>Whole Team&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/planning_game.html&quot; guid=&quot;2.7371805612676613E-305&quot;>Planning Game&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/small_releases.html&quot; guid=&quot;5.762953011420275E-306&quot;>Small Releases&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/customer_tests.html&quot; guid=&quot;2.297945473205673E-305&quot;>Customer Tests&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/simple_design.html&quot; guid=&quot;1.6109092258980447E-306&quot;>Simple Design&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/pair_programming.html&quot; guid=&quot;3.876855509996079E-307&quot;>Pair Programming&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/test_driven_development.html&quot; guid=&quot;1.620567348185129E-306&quot;>Test Driven Development&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/refactoring_xp_programming.html&quot; guid=&quot;1.4410217108363206E-306&quot;>Refactoring&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/metaphor_system_of_names.html&quot; guid=&quot;4.884861766532753E-306&quot;>Metaphor&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/continuous_integration.html&quot; guid=&quot;3.193414568279561E-305&quot;>Continuous Integration&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/collective_ownership.html&quot; guid=&quot;9.300699588493279E-306&quot;>Collective Ownership&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/coding_standard.html&quot; guid=&quot;8.8116853923311E-307&quot;>Coding Standard&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/guidances/concepts/xp_sustainable_pace.html&quot; guid=&quot;3.133529870649493E-306&quot;>Sustainable Pace&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/xp_roles_and_tasks.xmi b/XP/xp/customcategories/xp_roles_and_tasks.xmi
deleted file mode 100644
index 7f72cd8..0000000
--- a/XP/xp/customcategories/xp_roles_and_tasks.xmi
+++ /dev/null
@@ -1,79 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-c5D4uYtVcDvab8GzkO0HiQ"
-    name="xp_roles_and_activities,3.967980776087095E-306" guid="-c5D4uYtVcDvab8GzkO0HiQ"
-    changeDate="2006-11-29T19:43:23.824-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_activities__overview_of_xp_and_rup_activities&quot; name=&quot;XE_activities__overview_of_xp_and_rup_activities&quot;>&lt;/a> &#xD;
-&lt;div align=&quot;left&quot;>&#xD;
-    &lt;table width=&quot;75%&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;6%&quot; rowspan=&quot;2&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; colspan=&quot;5&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>Whole Team&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; colspan=&quot;2&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/supportingmaterials/xp_customer_team.html&quot; guid=&quot;2.9889538140050517E-306&quot;>XP Customer Team&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/supportingmaterials/xp_developer_team.html&quot; guid=&quot;8.608243854485154E-306&quot;>XP Developer Team&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; colspan=&quot;2&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/supportingmaterials/xp_organization.html&quot; guid=&quot;5.613949040902463E-308&quot;>XP Organization&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;b>XP Roles&lt;/b>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;17%&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/roles/xp_customer.html&quot; guid=&quot;{3C90DD4F-CFDB-4111-922D-3B840B8942DE}&quot;>Customer&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/roles/xp_tester.html&quot; guid=&quot;{FB65D00B-8304-4CF7-9969-52CE82F503DC}&quot;>Tester&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/roles/xp_programmer.html&quot; guid=&quot;{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}&quot;>Programmer&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;13%&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/roles/xp_tracker.html&quot; guid=&quot;{D8FE277E-4F9A-47EB-855F-C451D601BBAF}&quot;>Tracker&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../xp/roles/xp_coach.html&quot; guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>Coach&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;h3>&#xD;
-    XP Roles and Tasks&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    XP defines a more limited set of roles and tasks than Unified Process. The XP roles usually have much broader scope&#xD;
-    than Unified Process roles. There is a definite push in XP to move away from specialization where only one person on a&#xD;
-    team has knowledge of specific and critical parts of the system or technology. The consequence is that the XP roles&#xD;
-    usually map to more than one Unified Process role. Some Unified Process roles/tasks/artifacts do not map to anything in&#xD;
-    XP as XP has a somewhat smaller scope than Unified Process.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Definition of Roles and Tasks in Unified Process&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    &lt;b>Roles&lt;/b> are typically realized by an individual or a set of individuals working together as a team. A project team&#xD;
-    member typically fulfills many different roles. &lt;b>Roles&lt;/b> are not individuals; instead, they describe how&#xD;
-    individuals behave in the business and what responsibilities these individuals have. While most roles are realized by&#xD;
-    people within the organization, people outside of the development organization play an important role. A &lt;b>role&lt;/b> is&#xD;
-    an abstract definition of a set of &lt;b>tasks&lt;/b> performed and &lt;b>artifacts&lt;/b> generated.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;b>Roles&lt;/b> have a set of cohesive&amp;nbsp;&lt;b>tasks&lt;/b> to be performed. These&amp;nbsp;&lt;b>tasks&lt;/b> are closely related and&#xD;
-    functionally coupled and are often best performed by the same individual.&amp;nbsp;Tasks are closely related to&#xD;
-    &lt;b>artifacts&lt;/b>. Artifacts provide the input and output for the&amp;nbsp;tasks and the mechanism by which information is&#xD;
-    communicated between tasks.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/customcategories/xp_white_papers.xmi b/XP/xp/customcategories/xp_white_papers.xmi
deleted file mode 100644
index 0f1fc8a..0000000
--- a/XP/xp/customcategories/xp_white_papers.xmi
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-_GqtAEsGnq12qQmyqWdHHQ"
-    name="xp_white_papers,6.505229665845286E-306" guid="-_GqtAEsGnq12qQmyqWdHHQ" changeDate="2007-07-24T11:36:02.668-0400"/>
diff --git a/XP/xp/guidances/concepts/agile_software_development.xmi b/XP/xp/guidances/concepts/agile_software_development.xmi
deleted file mode 100644
index 30b0fcf..0000000
--- a/XP/xp/guidances/concepts/agile_software_development.xmi
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-EHSlFv7Gla5oCPGBiaZKow"
-    name="agile_software_development,1.041091673844025E-305" guid="-EHSlFv7Gla5oCPGBiaZKow"
-    changeDate="2006-11-29T18:32:13.357-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_agile_software_development__process_differentiators&quot; name=&quot;XE_agile_software_development__process_differentiators&quot;>&lt;/a> &#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Intro&quot; name=&quot;Intro&quot;>Introduction&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Extreme Programming is probably the best known and very likely the most used of what have come to be known as agile&#xD;
-    software development methods. There are many software professionals working on agile methods today. There have been&#xD;
-    several international conferences on agile methods, numerous papers, many websites, and quite a few books. We'll key&#xD;
-    our discussion from the Agile Manifesto at &lt;a href=&quot;http://www.agilemanifesto.org&quot; target=&quot;_blank&quot;>www.agilemanifesto.org&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have&#xD;
-    come to value:&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Individuals&quot; name=&quot;Individuals&quot;>Individuals and Interactions Over Processes and Tools&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Processes and tools are very important. We wouldn't be writing this and you wouldn't be reading it were that not true.&#xD;
-    The best processes and tools, we believe, are those that enable the individuals who are part of a software project to&#xD;
-    do their job most effectively. To do that, the processes and tools need to facilitate the human interactions that bring&#xD;
-    about understanding and cooperation. The agile methods use the smallest amount of process that's safe and the simplest&#xD;
-    tools that are effective in aid of those individuals and interactions.&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Working&quot; name=&quot;Working&quot;>Working Software Over Comprehensive Documentation&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Documentation can be very important to a software project. Sometimes it's the only way to communicate ideas across&#xD;
-    space and time. For an ongoing software project, however, there is a much better way to know what's going on and to&#xD;
-    steer the project.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Observe the software. The software can be tested, used, and inspected, and all the answers you get are unambiguous. The&#xD;
-    agile methods focus on keeping the software visible, beginning as early as possible. The best XP projects begin&#xD;
-    producing tested visible software in the first couple of weeks of the project and never stop.&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Customer&quot; name=&quot;Customer&quot;>Customer Collaboration Over Contract Negotiation&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Many software projects require a contract, and all benefit from a clear understanding of what will be done. Attempts to&#xD;
-    over-constrain the initial understanding, however, almost always backfire. Too often, the result can be a &quot;letter of&#xD;
-    the law&quot; product that pleases neither the developers nor the users. Agile methods recognize that all stakeholders will&#xD;
-    be learning over the course of the project. Agile projects are thus set up to facilitate learning and to take advantage&#xD;
-    of it.&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Responding&quot; name=&quot;Responding&quot;>Responding to Change Over Following a Plan&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Too many changes of direction can cause a project to go out of control, costing too much or never finishing. Initial&#xD;
-    plans, however, cannot know which potential changes should be accommodated and which ignored. Agile methods address&#xD;
-    this issue in two ways:&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    First, they respond to change by planning publicly and often. Small changes are dealt with in frequent in-team small&#xD;
-    planning sessions, while the big picture is published and processed by all stakeholders, again very frequently.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Second, the development techniques in the agile methods generally allow stakeholders to substitute new and better ideas&#xD;
-    for earlier notions without exorbitant increases in costs.&#xD;
-&lt;/p>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Summary&quot; name=&quot;Summary&quot;>Summary&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    As you study Extreme Programming and as you use it, it's important to keep these agile values in mind. As you tune and&#xD;
-    adjust the process to your situation, working with the values will enable you to get the best results from the least&#xD;
-    effort.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/coding_standard.xmi b/XP/xp/guidances/concepts/coding_standard.xmi
deleted file mode 100644
index 933de83..0000000
--- a/XP/xp/guidances/concepts/coding_standard.xmi
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="--qg2qc3dqmgeB63Nx7Zndg"
-    name="coding_standard,8.8116853923311E-307" guid="--qg2qc3dqmgeB63Nx7Zndg" changeDate="2006-11-09T19:13:06.585-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__coding_standard&quot; name=&quot;XE_xp__coding_standard&quot;>&lt;/a>&lt;a id=&quot;XE_coding_standard__practice_of&quot; name=&quot;XE_coding_standard__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__coding_standard&quot; name=&quot;XE_engineering_practices__coding_standard&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Using a coding standard is a software development practice that has been widely accepted in the industry. The need for&#xD;
-    this practice takes on added importance in XP because of the increased level of communication required by collective&#xD;
-    ownership, pair programming and the constant refactoring of the code. The team should have a standard way of naming and&#xD;
-    formatting things so they can understand the code quickly and know where to look at all times.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ideally, the coding standard should be the result of team consensus. In some cases, decisions will be arbitrary&#xD;
-    (placement of braces). Each item in the standard should support one or more goals, improved communication being one of&#xD;
-    the most critical goals. Once the team agrees on a standard, all members of the teams are expected to follow it. Pair&#xD;
-    programming and collective code ownership is sufficient to reinforce the use of the standard within the team. With&#xD;
-    time, the team will use and modify the standard to develop a style that is well adapted to their environment.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved communication&lt;/b>: increases the ability to read each other's code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Refactoring support&lt;/b>: provides consistently shaped code.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/collective_ownership.xmi b/XP/xp/guidances/concepts/collective_ownership.xmi
deleted file mode 100644
index d5709d7..0000000
--- a/XP/xp/guidances/concepts/collective_ownership.xmi
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-YP0i7TC6QNgemddcj1iE7g"
-    name="collective_ownership,9.300699588493279E-306" guid="-YP0i7TC6QNgemddcj1iE7g"
-    changeDate="2006-11-13T17:36:27.348-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__collective_ownership&quot; name=&quot;XE_xp__collective_ownership&quot;>&lt;/a>&lt;a id=&quot;XE_collective_ownership__practice_of&quot; name=&quot;XE_collective_ownership__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__collective_ownership&quot; name=&quot;XE_engineering_practices__collective_ownership&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The practice of collective ownership states that any member of the team can change any piece of code in the system at&#xD;
-    any time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Having a good suite of tests and being able to integrate continuously is critical to ensuring that this practice works&#xD;
-    well. Without the tests, it would be impossible to know that a critical piece of the system was modified improperly&#xD;
-    because of inappropriate understanding. Integrating frequently and testing ensures that such problems are caught and&#xD;
-    fixed quickly. Used with pair programming, collective code ownership is an effective way to spread the knowledge of the&#xD;
-    system across the entire team.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Shared knowledge of the code&lt;/b>: allows programmers to become familiar with more of the code and benefit from&#xD;
-        the experience of others.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Simpler code&lt;/b>: causes complex code to be found and refactored more quickly as many pairs of eyes read the&#xD;
-        same code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Get things done quickly&lt;/b>: removes hurdles so changes can be made by those that need them when they need them.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/continuous_integration.xmi b/XP/xp/guidances/concepts/continuous_integration.xmi
deleted file mode 100644
index a55102c..0000000
--- a/XP/xp/guidances/concepts/continuous_integration.xmi
+++ /dev/null
@@ -1,45 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-35rZhRLEVuTVI4280ncN0A"
-    name="continuous_integration,3.193414568279561E-305" guid="-35rZhRLEVuTVI4280ncN0A"
-    changeDate="2006-11-08T19:55:42.002-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__continuous_integration&quot; name=&quot;XE_xp__continuous_integration&quot;>&lt;/a>&lt;a id=&quot;XE_continuous_integration__practice_of&quot; name=&quot;XE_continuous_integration__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__continuous_integration&quot; name=&quot;XE_engineering_practices__continuous_integration&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    One of the goals of XP is to ensure that the customer can feel and touch actual progress that reflects the investment&#xD;
-    to date. As the team builds the software incrementally according to the customer's priority, the new functionality is&#xD;
-    continuously integrated and demonstrated to the customer.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Integration in XP can happen several times a day. As developers finish some work, they integrate what they have done.&#xD;
-    Typically, integration is done on an integration machine in order to serialize the process. Integration is supported by&#xD;
-    unit tests and acceptance tests. When a pair of programmers first sits at the integration machine, the current code&#xD;
-    base passes all tests. They start by integrating their changes into the code and checking for conflicts. Then, they run&#xD;
-    all tests. Should any test fail, the pair is responsible for fixing the code and making it pass. Since the tests were&#xD;
-    all passed before, the failures are in some way related to the modifications that have made to the code. Once all the&#xD;
-    tests have passed, the integration can be considered a success and another pair can now integrate its changes. The&#xD;
-    integrated build can then be handed over to the customer, who can see the new functionality on a running system.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This practice obviously requires the use of tools and an environment that supports fast integration/build/test cycles.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Simplified and faster integrations&lt;/b>: reduces important conflicts associated with big bang integration and&#xD;
-        insures that people are working with the latest version of the code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved feedback&lt;/b>: shows constant and demonstrable progress (it takes a running system to pass the&#xD;
-        customer's acceptance tests).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>System always shippable&lt;/b>: the latest version of the system passing all tests is always available.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/customer_tests.xmi b/XP/xp/guidances/concepts/customer_tests.xmi
deleted file mode 100644
index fffc95d..0000000
--- a/XP/xp/guidances/concepts/customer_tests.xmi
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-oW2j2l-rXqHeWPIgjPpbng"
-    name="customer_tests,2.297945473205673E-305" guid="-oW2j2l-rXqHeWPIgjPpbng" changeDate="2006-11-10T12:32:51.048-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__customer_tests&quot; name=&quot;XE_xp__customer_tests&quot;>&lt;/a>&lt;a id=&quot;XE_customer_tests__practice_of&quot; name=&quot;XE_customer_tests__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__customer_tests&quot; name=&quot;XE_engineering_practices__customer_tests&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    One of the rights in the customer bill of rights tells the customer he will be able to see progress in the form of a&#xD;
-    working system that passes repeatable tests that he specifies. These tests are what we call the Customer Tests. The&#xD;
-    customer specifies one or more Customer Tests for each user story in the system, describing in detail how each story is&#xD;
-    expected to work. Because the tests are put into executable form and are fully automated, they tell programmers what&#xD;
-    needs to be done in a unambiguous way (tests pass or fail) and allow the customer to feel confident that the system is&#xD;
-    meeting his needs.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ability to see &lt;b>tangible and verifiable progress&lt;/b>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Ultimate traceability&lt;/b>: the Customer Tests are executable system requirements.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Repeatability&lt;/b>: because they are automated, the tests can be run at any time.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/developer_testing.xmi b/XP/xp/guidances/concepts/developer_testing.xmi
deleted file mode 100644
index b7cbe1e..0000000
--- a/XP/xp/guidances/concepts/developer_testing.xmi
+++ /dev/null
@@ -1,512 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-aJBLg1aguP1bIWvQbJSd6w"
-    name="developer_testing,4.085829182735815E-305" guid="-aJBLg1aguP1bIWvQbJSd6w"
-    changeDate="2006-11-13T17:42:19.105-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_test__developer_testing__concept_of&quot; name=&quot;XE_test__developer_testing__concept_of&quot;>&lt;/a>&lt;a id=&quot;XE_design__developer_testing__concept_of&quot; name=&quot;XE_design__developer_testing__concept_of&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>&lt;/a>Introduction&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The phrase &quot;Developer Testing&quot; is used to categorize the testing activities most appropriately performed by software&#xD;
-    developers. It also includes the artifacts created by those activities. Developer Testing encompasses the work&#xD;
-    traditionally thought of under the following categories: Unit Testing, much of Integration Testing, and some aspects of&#xD;
-    what is most often referred to as System Testing. While Developer Testing is traditionally associated with activities&#xD;
-    in the Implementation discipline, it also has a relationship to activities in the Analysis and Design discipline.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    By thinking of Developer Testing in this &quot;holistic&quot; way, you help to mitigate some of the risk associated with the more&#xD;
-    &quot;atomistic&quot; approach traditionally taken. In the traditional approach to Developer Testing, the effort is initially&#xD;
-    focused on evaluating that all units are working independently. Late in the development life-cycle, as the development&#xD;
-    work nears completion, the integrated units are assembled into a working subsystem or system and tested in this setting&#xD;
-    for the first time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This approach has a number of failings. Firstly, because it encourages a staged approach to the testing of the&#xD;
-    integrated units and later subsystems, any errors identified during these tests are often found too late. This late&#xD;
-    discovery typically results in the decision to take no corrective action, or it requires major rework to correct. This&#xD;
-    rework is both expensive and detracts from making forward progress in other areas. This increases the risk of the&#xD;
-    project being derailed or abandoned.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Secondly, creating rigid boundaries between Unit, Integration and System Test increases the probability that errors&#xD;
-    spanning the boundaries will be discovered by no one. The risk is compounded when responsibility for these types of&#xD;
-    tests is assigned to separate teams.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The style of developer testing recommended by&amp;nbsp;iterative processes&amp;nbsp;encourages the developer to focus on the&#xD;
-    most valuable and appropriate tests to conduct at the given point in time. Even within the scope of a single iteration,&#xD;
-    it is usually more efficient for the developer to find and correct as many of the defects in her own code as possible,&#xD;
-    without the additional overhead in hand-off to a separate test group. The desired result is the early discovery of the&#xD;
-    most significant software errors&amp;nbsp;- regardless of whether those errors are in the independent unit, the integration&#xD;
-    of the units or the working of the integrated units within a meaningful end-user scenario.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;DeveloperTestingPitfalls&quot; name=&quot;DeveloperTestingPitfalls&quot;>&lt;/a>Pitfalls Getting Started with Developer Testing&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Many developers who begin trying to do a substantially more thorough job of testing give up the effort shortly&#xD;
-    thereafter. They find that it does not seem to be yielding value. Further, some developers who begin well with&#xD;
-    developer testing find that they've created an unmaintainable test suite that is eventually abandoned.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This page gives some guidelines for getting over the first hurdles and for creating a test suite that avoids the&#xD;
-    maintainability trap. For more information, see &lt;a href=&quot;../../workguid/wg_mnttstste.htm&quot;>Guidelines: Maintaining&#xD;
-    Automated Test Suites&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Establish expectations&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Those who find developer testing rewarding do it. Those who view it as a chore find ways to avoid it. This is simply in&#xD;
-    the nature of most developers in most industries, and treating it as a shameful lack of discipline hasn't historically&#xD;
-    been successful. Therefore, as a developer you should expect testing to be rewarding and do what it takes to make it&#xD;
-    rewarding.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ideal developer testing follows a very tight edit-test loop. You make a small change to the product, such as adding a&#xD;
-    new method to a class, then you immediately rerun your tests. If any test breaks, you know exactly what code is the&#xD;
-    cause. This easy, steady pace of development is the greatest reward of developer testing. A long debugging session&#xD;
-    should be exceptional.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Because it's not unusual for a change made in one class to break something in another, you should expect to rerun not&#xD;
-    just the changed class's tests, but many tests. Ideally, you rerun the complete test suite for your component many&#xD;
-    times per hour. Every time you make a significant change, you rerun the suite, watch the results, and either proceed to&#xD;
-    the next change or fix the last change. Expect to spend some effort making that rapid feedback possible.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Automate your tests&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Running tests often is not practical if tests are manual. For some components, automated tests are easy. An example&#xD;
-    would be an in-memory database. It communicates to its clients through an API and has no other interface to the outside&#xD;
-    world. Tests for it would look something like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-/* Check that elements can be added at most once. */&#xD;
-// Setup&#xD;
-Database db = new Database();&#xD;
-db.add(&quot;key1&quot;, &quot;value1&quot;);&#xD;
-// Test&#xD;
-boolean result = db.add(&quot;key1&quot;, &quot;another value&quot;);&#xD;
-expect(result == false);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The tests are different from ordinary client code in only one way: instead of believing the results of API calls, they&#xD;
-    check. If the API makes client code easy to write, it makes test code easy to write. If the test code is &lt;i>not&lt;/i>&#xD;
-    easy to write, you've received an early warning that the API could be improved. Test-first design is thus consistent&#xD;
-    with the iterative processes' focus on addressing important risks early.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The more tightly connected the component is to the outside world, however, the harder it will be to test. There are two&#xD;
-    common cases: graphical user interfaces and back-end components.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Graphical user interfaces&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Suppose the database in the example above receives its data via a callback from a user-interface object. The callback&#xD;
-    is invoked when the user fills in some text fields and pushes a button. Testing this by manually filling in the fields&#xD;
-    and pushing the button isn't something you want to do many times an hour. You must arrange a way to deliver the input&#xD;
-    under programmatic control, typically by &quot;pushing&quot; the button in code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pushing the button causes some code in the component to be executed. Most likely, that code changes the state of some&#xD;
-    user-interface objects. So you must also arrange a way to query those objects programmatically.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Back-end components&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Suppose the component under test doesn't implement a database. Instead, it's a wrapper around a real, on-disk database.&#xD;
-    Testing against that real database might be difficult. It might be hard to install and configure. Licenses for it might&#xD;
-    be expensive. The database might slow down the tests enough that you're not inclined to run them often. In such cases,&#xD;
-    it's worthwhile to &quot;stub out&quot; the database with a simpler component that does just enough to support the tests.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Stubs are also useful when a component that your component talks to isn't ready yet. You don't want your testing to&#xD;
-    wait on someone else's code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For more information, see &lt;a href=&quot;../implemen/co_stubs.htm&quot;>Concepts: Stubs&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Don't write your own tools&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Developer testing seems pretty straightforward. You set up some objects, make a call through an API, check the result,&#xD;
-    and announce a test failure if the results aren't as expected. It's also convenient to have some way to group tests so&#xD;
-    that they can be run individually or as complete suites. Tools that support those requirements are called &lt;i>test&#xD;
-    frameworks&lt;/i>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Developer testing &lt;b>is&lt;/b> straightforward, and the requirements for test frameworks are not complicated. If, however,&#xD;
-    you yield to the temptation of writing your own test framework, you'll spend much more time tinkering with the&#xD;
-    framework than you probably expect. There are many test frameworks available, both commercial and open source, and&#xD;
-    there's no reason not to use one of those.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Do create support code&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Test code tends to be repetitive. It's common to see sequences of code like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-// null name not allowed&#xD;
-retval = o.createName(&quot;&quot;); &#xD;
-expect(retval == null);&#xD;
-// leading spaces not allowed&#xD;
-retval = o.createName(&quot; l&quot;); &#xD;
-expect(retval == null);&#xD;
-// trailing spaces not allowed&#xD;
-retval = o.createName(&quot;name &quot;); &#xD;
-expect(retval == null);&#xD;
-// first character may not be numeric&#xD;
-retval = o.createName(&quot;5allpha&quot;); &#xD;
-expect(retval == null);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    This code is created by copying one check, pasting it, then editing it to make another check.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The danger here is twofold. If the interface changes, much editing will have to be done. (In more complicated cases, a&#xD;
-    simple global replacement won't suffice.) Also, if the code is at all complicated, the intent of the test can be lost&#xD;
-    amid all the text.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When you find yourself repeating yourself, seriously consider factoring out the repetition into support code. Even&#xD;
-    though the code above is a simple example, it's more readable and maintainable if written like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void expectNameRejected(MyClass o, String s) {&#xD;
-    Object retval = o.createName(s);&#xD;
-    expect(retval == null);&#xD;
-}&#xD;
-...&#xD;
-// null name not allowed&#xD;
-expectNameRejected(o, &quot;&quot;); &#xD;
-// leading spaces not allowed.&#xD;
-expectNameRejected(o, &quot; l&quot;); &#xD;
-// trailing spaces not allowed.&#xD;
-expectNameRejected(o, &quot;name &quot;); &#xD;
-// first character may not be numeric.&#xD;
-expectNameRejected(o, &quot;5alpha&quot;); &#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Developers writing tests often err on the side of too much copying-and-pasting. If you suspect yourself of that&#xD;
-    tendency, it's useful to consciously err in the other direction. Resolve that you will strip your code of all duplicate&#xD;
-    text.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Write the tests first&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Writing the tests after the code is a chore. The urge is to rush through it, to finish up and move on. Writing tests&#xD;
-    before the code makes testing part of a positive feedback loop. As you implement more code, you see more tests passing&#xD;
-    until finally all the tests pass and you're done. People who write tests first seem to be more successful, and it takes&#xD;
-    no more time. For more on putting tests first, see &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/concepts/test-first_design.html&quot; guid=&quot;6.556259235358794E-306&quot;>Concept: Test-first Design&lt;/a>&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Keep the tests understandable&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    You should expect that you, or someone else, will have to modify the tests later. A typical situation is that a later&#xD;
-    iteration calls for a change to the component's behavior. As a simple example, suppose the component once declared a&#xD;
-    square root method like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        &lt;font size=&quot;+0&quot;>double sqrt(double x);&lt;/font>&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    In that version, a negative argument caused &lt;font size=&quot;+0&quot;>sqrt&lt;/font> to return NaN (&quot;not a number&quot; from the IEEE&#xD;
-    754-1985 &lt;i>Standard for Binary Floating-Point Arithmetic&lt;/i>). In the new iteration, the square root method will&#xD;
-    accept negative numbers and return a complex result:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        &lt;font size=&quot;+0&quot;>Complex sqrt(double x);&lt;/font>&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Old tests for &lt;font size=&quot;+0&quot;>sqrt&lt;/font> will have to change. That means understanding what they do, and updating them&#xD;
-    so that they work with the new &lt;font size=&quot;+0&quot;>sqrt&lt;/font>. When updating tests, you must take care not to destroy&#xD;
-    their bug-finding power. One way that sometimes happens is this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void testSQRT () {&#xD;
-    //  Update these tests for Complex &#xD;
-    // when I have time -- bem&#xD;
-    /*&#xD;
-double result = sqrt(0.0);&#xD;
-...&#xD;
-    */&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Other ways are more subtle: the tests are changed so that they actually run, but they no longer test what they were&#xD;
-    originally intended to test. The end result, over many iterations, can be a test suite that is too weak to catch many&#xD;
-    bugs. This is sometimes called &quot;test suite decay&quot;. A decayed suite will be abandoned, because it's not worth the&#xD;
-    upkeep.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    You can't maintain a test's bug-finding power unless it's clear what &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html#TestIdeas&quot; guid=&quot;8.834380241450745E-306&quot;>Test Ideas&lt;/a> a test implements. Test code tends to be under-commented, even though it's&#xD;
-    often harder to understand the &quot;why&quot; behind it than product code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Test suite decay is less likely in the direct tests for &lt;font size=&quot;+0&quot;>sqrt&lt;/font> than in indirect tests. There will&#xD;
-    be code that calls &lt;font size=&quot;+0&quot;>sqrt&lt;/font>. That code will have tests. When &lt;font size=&quot;+0&quot;>sqrt&lt;/font> changes,&#xD;
-    some of those tests will fail. The person who changes &lt;font size=&quot;+0&quot;>sqrt&lt;/font> will probably have to change those&#xD;
-    tests. Because he's less familiar with them, and because their relationship to the change is less clear, he's more&#xD;
-    likely to weaken them in the process of making them pass.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When you're creating support code for tests (as urged above), be careful: the support code should clarify, not obscure,&#xD;
-    the purpose of the tests that use it. A common complaint about object-oriented programs is that there's no one place&#xD;
-    where anything's done. If you look at any one method, all you discover is that it forwards its work somewhere else.&#xD;
-    Such a structure has advantages, but it makes it harder for new people to understand the code. Unless they make an&#xD;
-    effort, their changes are likely to be incorrect or to make the code even more complicated and fragile. The same is&#xD;
-    true of test code, except that later maintainers are even less likely to take due care. You must head off the problem&#xD;
-    by writing understandable tests.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Match the test structure to the product structure&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Suppose someone has inherited your component. They need to change a part of it. They may want to examine the old tests&#xD;
-    to help them in their new design. They want to update the old tests before writing the code (test-first design).&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    All those good intentions will go by the wayside if they can't find the appropriate tests. What they'll do is make the&#xD;
-    change, see what tests fail, then fix those. That will contribute to test suite decay.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For that reason, it's important that the test suite be well structured, and that the location of tests be predictable&#xD;
-    from the structure of the product. Most usually, developers arrange tests in a parallel hierarchy, with one test class&#xD;
-    per product class. So if someone is changing a class named &lt;font size=&quot;+0&quot;>Log&lt;/font>, they know the test class is&#xD;
-    &lt;font size=&quot;+0&quot;>TestLog&lt;/font>, and they know where the source file can be found.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Let tests violate encapsulation&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    You might limit your tests to interacting with your component exactly as client code does, through the same interface&#xD;
-    that client code uses. However, this has disadvantages. Suppose you're testing a simple class that maintains a doubly&#xD;
-    linked list:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;46&quot; alt=&quot;&quot; src=&quot;resources/dvltst-img1.gif&quot; width=&quot;195&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig1: Double-linked list&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In particular, you're testing the &lt;font size=&quot;+0&quot;>DoublyLinkedList.insertBefore(Object existing, Object&#xD;
-    newObject)&lt;/font> method. In one of your tests, you want to insert an element in the middle of the list, then check if&#xD;
-    it's been inserted successfully. The test uses the list above to create this updated list:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;46&quot; alt=&quot;&quot; src=&quot;resources/dvltst-img2.gif&quot; width=&quot;318&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig2: Double-linked list - item inserted&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It checks the list correctness like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-// the list is now one longer. &#xD;
-expect(list.size()==3);&#xD;
-// the new element is in the correct position&#xD;
-expect(list.get(1)==m);&#xD;
-// check that other elements are still there.&#xD;
-expect(list.get(0)==a);&#xD;
-expect(list.get(2)==z);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    That seems sufficient, but it's not. Suppose the list implementation is incorrect and backward pointers are not set&#xD;
-    correctly. That is, suppose the updated list actually looks like this:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;73&quot; alt=&quot;&quot; src=&quot;resources/dvltst-img3.gif&quot; width=&quot;318&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig3: Double-linked list - fault in implementation&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If &lt;font size=&quot;+0&quot;>DoublyLinkedList.get(int index)&lt;/font> traverses the list from the beginning to the end (likely),&#xD;
-    the test would miss this failure. If the class provides &lt;font size=&quot;+0&quot;>elementBefore&lt;/font> and &lt;font     size=&quot;+0&quot;>elementAfter&lt;/font> methods, checking for such failures is straightforward:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-// Check that links were all updated&#xD;
-expect(list.elementAfter(a)==m);&#xD;
-expect(list.elementAfter(m)==z);&#xD;
-expect(list.elementBefore(z)==m); //this will fail&#xD;
-expect(list.elementBefore(m)==a);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    But what if it doesn't provide those methods? You could devise more elaborate sequences of method calls that will fail&#xD;
-    if the suspected defect is present. For example, this would work:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-// Check whether back-link from Z is correct.&#xD;
-list.insertBefore(z, x);&#xD;
-// If it was incorrectly not updated, X will have &#xD;
-// been inserted just after A.&#xD;
-expect(list.get(1)==m); &#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    But such a test is more work to create and is likely to be significantly harder to maintain. (Unless you write good&#xD;
-    comments, it will not be at all clear why the test is doing what it's doing.) There are two solutions:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Add the &lt;font size=&quot;+0&quot;>elementBefore&lt;/font> and &lt;font size=&quot;+0&quot;>elementAfter&lt;/font> methods to the public&#xD;
-        interface. But that effectively exposes the implementation to everyone and makes future change more difficult.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Let the tests &quot;look under the hood&quot; and check pointers directly.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    The latter is usually the best solution, even for a simple class like &lt;font size=&quot;+0&quot;>DoublyLinkedList&lt;/font> and&#xD;
-    especially for the more complex classes that occur in your products.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Typically, tests are put in the same package as the class they test. They are given protected or friend access.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TestDesignMistakes&quot; name=&quot;TestDesignMistakes&quot;>&lt;/a>Characteristic Test Design Mistakes&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Each test exercises a component and checks for correct results. The design of the test-the inputs it uses and how it&#xD;
-    checks for correctness-can be good at revealing defects, or it can inadvertently hide them. Here are some&#xD;
-    characteristic test design mistakes.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to specify expected results in advance&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Suppose you're testing a component that converts XML into HTML. A temptation is to take some sample XML, run it through&#xD;
-    the conversion, then look at the results in a browser. If the screen looks right, you &quot;bless&quot; the HTML by saving it as&#xD;
-    the official expected results. Thereafter, a test compares the actual output of the conversion to the expected results.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This is a dangerous practice. Even sophisticated computer users are used to believing what the computer does. You are&#xD;
-    likely to overlook mistakes in the screen appearance. (Not to mention that browsers are quite tolerant of misformatted&#xD;
-    HTML.) By making that incorrect HTML the official expected results, you make sure that the test can never find the&#xD;
-    problem.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It's less dangerous to doubly-check by looking directly at the HTML, but it's still dangerous. Because the output is&#xD;
-    complicated, it will be easy to overlook errors. You'll find more defects if you write the expected output by hand&#xD;
-    first.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to check the background&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Tests usually check that what should have been changed has been, but their creators often forget to check that what&#xD;
-    should have been left alone has been left alone. For example, suppose a program is supposed to change the first 100&#xD;
-    records in a file. It's a good idea to check that the 101&lt;sup>st&lt;/sup> hasn't been changed.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In theory, you would check that nothing in the &quot;background&quot;-the entire file system, all of memory, everything reachable&#xD;
-    through the network-has been left alone. In practice, you have to choose carefully what you can afford to check. But&#xD;
-    it's important to make that choice.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to check persistence&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Just because the component tells you a change has been made, that doesn't mean it has actually been committed to the&#xD;
-    database. You need to check the database via another route.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to add variety&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    A test might be designed to check the effect of three fields in a database record, but many other fields need to be&#xD;
-    filled in to execute the test. Testers will often use the same values over and over again for these &quot;irrelevant&quot;&#xD;
-    fields. For example, they'll always use the name of their lover in a text field, or 999 in a numeric field.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The problem is that sometimes what shouldn't matter actually does. Every so often, there's a bug that depends on some&#xD;
-    obscure combination of unlikely inputs. If you always use the same inputs, you stand no chance of finding such bugs. If&#xD;
-    you persistently vary inputs, you might. Quite often, it costs almost nothing to use a number different than 999 or to&#xD;
-    use someone else's name. When varying the values used in tests costs almost nothing and it has some potential benefit,&#xD;
-    then vary. (Note: It's unwise to use names of old lovers instead of your current one if your current lover works with&#xD;
-    you.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Here's another benefit. One plausible fault is for the program to use field &lt;i>X&lt;/i> when it should have used field&#xD;
-    &lt;i>Y&lt;/i>. If both fields contain &quot;Dawn&quot;, the fault can't be detected.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to use realistic data&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    It's common to use made-up data in tests. That data is often unrealistically simple. For example, customer names might&#xD;
-    be &quot;Mickey&quot;, &quot;Snoopy&quot;, and &quot;Donald&quot;. Because that data is different from what real users enter - for example, it's&#xD;
-    characteristically shorter - it can miss defects real customers will see. For example, these one-word names wouldn't&#xD;
-    detect that the code doesn't handle names with spaces.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It's prudent to make a slight extra effort to use realistic data.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to notice that the code does nothing at all&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Suppose you initialize a database record to zero, run a calculation that should result in zero being stored in the&#xD;
-    record, then check that the record is zero. What has your test demonstrated? The calculation might not have taken place&#xD;
-    at all. Nothing might have been stored, and the test couldn't tell.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    That example sounds unlikely. But this same mistake can crop up in subtler ways. For example, you might write a test&#xD;
-    for a complicated installer program. The test is intended to check that all temporary files are removed after a&#xD;
-    successful installation. But, because of all the installer options, in that test, one particular temporary file wasn't&#xD;
-    created. Sure enough, that's the one the program forgot to remove.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Failure to notice that the code does the wrong thing&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Sometimes a program does the right thing for the wrong reasons. As a trivial example, consider this code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (a &amp;lt; b &amp;amp;&amp;amp; c) &#xD;
-    return 2 * x;&#xD;
-else&#xD;
-    return x * x;&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The logical expression is wrong, and you've written a test that causes it to evaluate incorrectly and take the wrong&#xD;
-    branch. Unfortunately, purely by coincidence, the variable X has the value 2 in that test. So the result of the wrong&#xD;
-    branch is accidentally correct - the same as the result the right branch would have given.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For each expected result, you should ask if there's a plausible way in which that result could be gotten for the wrong&#xD;
-    reason. While it's often impossible to know, sometimes it's not.&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/extreme_programming.xmi b/XP/xp/guidances/concepts/extreme_programming.xmi
deleted file mode 100644
index 7d8a2b9..0000000
--- a/XP/xp/guidances/concepts/extreme_programming.xmi
+++ /dev/null
@@ -1,203 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-27sE-swoOUGtar9a0f3RPw"
-    name="extreme_programming,5.2637267673584526E-306" guid="-27sE-swoOUGtar9a0f3RPw"
-    changeDate="2006-12-01T18:11:05.063-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__conceptual_process_roadmap&quot; name=&quot;XE_xp__conceptual_process_roadmap&quot;>&lt;/a>&lt;a id=&quot;XE_roadmap__for_xp_practices&quot; name=&quot;XE_roadmap__for_xp_practices&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;div align=&quot;left&quot;>&#xD;
-    &lt;table width=&quot;70%&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody valign=&quot;top&quot;>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;315&quot; height=&quot;178&quot;>&#xD;
-                    &lt;ul>&#xD;
-                        &lt;li>&#xD;
-                            &lt;a href=&quot;#Introduction&quot;>Introduction&lt;/a>&#xD;
-                        &lt;/li>&#xD;
-                        &lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
-                            &lt;ul>&#xD;
-                                &lt;li>&#xD;
-                                    &lt;a href=&quot;#About&quot;>About XP&lt;/a>&#xD;
-                                &lt;/li>&#xD;
-                            &lt;/ul>&#xD;
-                        &lt;/li>&#xD;
-                        &lt;li>&#xD;
-                            &lt;a href=&quot;#Characteristics&quot;>Characteristics of an XP Project&lt;/a>&#xD;
-                        &lt;/li>&#xD;
-                        &lt;li>&#xD;
-                            &lt;a href=&quot;#Phases&quot;>Phases and Iterations&lt;/a>&#xD;
-                        &lt;/li>&#xD;
-                        &lt;li>&#xD;
-                            &lt;a href=&quot;#GettingStarted&quot;>How to Get Started&lt;/a>&#xD;
-                        &lt;/li>&#xD;
-                    &lt;/ul>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;315&quot; height=&quot;178&quot;>&#xD;
-                    &lt;b>Additional Guidance:&lt;/b> &#xD;
-                    &lt;ul>&#xD;
-                        &lt;li>&#xD;
-                            Guidelines&#xD;
-                        &lt;/li>&#xD;
-                        &lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
-                            &lt;ul>&#xD;
-                                &lt;li>&#xD;
-                                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/guidelines/refactoring.html&quot; guid=&quot;8.137126904637637E-306&quot;>Refactoring&lt;/a>&#xD;
-                                &lt;/li>&#xD;
-                                &lt;li>&#xD;
-                                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/test_driven_development_tdd.html&quot; guid=&quot;3.9254165491375454E-306&quot;>Test First Development&lt;/a>&#xD;
-                                &lt;/li>&#xD;
-                                &lt;li>&#xD;
-                                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/pair_programming-2.html&quot; guid=&quot;3.85153041801319E-307&quot;>Pair Programming&lt;/a>&#xD;
-                                &lt;/li>&#xD;
-                                &lt;li>&#xD;
-                                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/planning_game-2.html&quot; guid=&quot;6.7335956461328426E-307&quot;>Planning Game&lt;/a>&#xD;
-                                &lt;/li>&#xD;
-                            &lt;/ul>&#xD;
-                        &lt;/li>&#xD;
-                    &lt;/ul>&lt;br />&#xD;
-                     &lt;b>Additional Concepts:&lt;/b> &#xD;
-                    &lt;ul>&#xD;
-                        &lt;li>&#xD;
-                            &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a>&#xD;
-                        &lt;/li>&#xD;
-                    &lt;/ul>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;h1>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h1>&#xD;
-&lt;p>&#xD;
-    This roadmap provides information for getting started and applying the practices of eXtreme Programming (XP) to a&#xD;
-    software development project.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;About&quot; name=&quot;About&quot;>About XP&lt;/a>&amp;nbsp;&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Extreme Programming is an instance of an &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a> method. XP is a method that is optimized for small to&#xD;
-    medium-sized project teams that fit a certain profile. It promotes rapid feedback and response to continual change. It&#xD;
-    is based upon the four &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>values&lt;/a>&#xD;
-    of simplicity, communication, feedback, and courage and is consistent with the values of agile software development.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Extreme Programming is an instance of an agile method for developing software. It is based upon the core principle of&#xD;
-    agility and consists of twelve practices that, when applied to an appropriate software development project, can produce&#xD;
-    high-quality software. If you are unfamiliar with the concepts surrounding XP, you should start by reading &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Characteristics&quot; name=&quot;Characteristics&quot;>Characteristics of an XP Project&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Extreme Programming or XP is a development process that can be used by small to medium-sized teams to develop high&#xD;
-    quality software within a predictable schedule and budget and with a minimum of overhead. Since XP relies heavily on&#xD;
-    direct and frequent communication between the team members, the team should be co-located. An ideal project for using&#xD;
-    XP would be one that has most of the following characteristics:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        A small to medium-sized team (fewer than 20 people on the complete team)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Co-located, preferably in a single area with a large common space&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        A committed, full-time, on-site customer or customer representative&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Phases&quot; name=&quot;Phases&quot;>Phases and Iterations&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    An XP project is one that is based on rapid feedback through short iterations and frequent releases.&amp;nbsp;Unified&#xD;
-    Process&amp;nbsp;and XP share a fundamental belief that iterative development is the best way to deliver valuable software&#xD;
-    to your customers. The concept of phases, as usually described in the Unified Process, is somewhat different. Decisions&#xD;
-    described in the Unified Process phases that define milestones occur, but they are not called specifically as defining&#xD;
-    phases.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;GettingStarted&quot; name=&quot;GettingStarted&quot;>How to Get Started&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    This section provides a recommended way to approach XP for your project. You don't have to follow the steps as&#xD;
-    specified, but if you have little experience with XP, we recommend following them as closely as possible the first&#xD;
-    time.&#xD;
-&lt;/p>&#xD;
-&lt;table cellspacing=&quot;2&quot; cellpadding=&quot;1&quot; width=&quot;91%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;th width=&quot;10%&quot;>&#xD;
-                Step&#xD;
-            &lt;/th>&#xD;
-            &lt;th align=&quot;left&quot; width=&quot;47%&quot;>&#xD;
-                Do this ...&#xD;
-            &lt;/th>&#xD;
-            &lt;th align=&quot;left&quot; width=&quot;43%&quot;>&#xD;
-                in order to...&#xD;
-            &lt;/th>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td align=&quot;middle&quot; width=&quot;10%&quot;>&#xD;
-                1&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;47%&quot;>&#xD;
-                Familiarize yourself with the&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/motivation.html&quot; guid=&quot;1.6390805262958034E-306&quot;>motivation&lt;/a> for using XP, the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/what_is_xp.html&quot; guid=&quot;9.251272550276345E-306&quot;>short description&lt;/a> of XP, and the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP Practices&lt;/a>&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;43%&quot;>&#xD;
-                understand the fundamental principles of XP and how the practices support each other.&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td align=&quot;middle&quot; width=&quot;10%&quot;>&#xD;
-                2&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;47%&quot;>&#xD;
-                Read the key concepts of &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a>&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;43%&quot;>&#xD;
-                understand the collaborative and social aspects of XP.&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td align=&quot;middle&quot; width=&quot;10%&quot;>&#xD;
-                3&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;47%&quot;>&#xD;
-                Determine if XP is appropriate for your project by reviewing &lt;a href=&quot;#Characteristics&quot;>The Characteristics&#xD;
-                of an XP Project&lt;/a>&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;43%&quot;>&#xD;
-                decide if XP may be appropriate for your project.&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td align=&quot;middle&quot; width=&quot;10%&quot;>&#xD;
-                4&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;47%&quot;>&#xD;
-                Read about the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/xp_environment.html&quot; guid=&quot;3.754748120034442E-307&quot;>XP Environment&lt;/a>.&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;43%&quot;>&#xD;
-                prepare the physical and tool environment for your team.&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td align=&quot;middle&quot; width=&quot;10%&quot;>&#xD;
-                5&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;47%&quot;>&#xD;
-                Read the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/getting_started_with_xp.html&quot; guid=&quot;1.2284921351651456E-304&quot;>Getting Started with XP&lt;/a> guidelines.&#xD;
-            &lt;/td>&#xD;
-            &lt;td width=&quot;43%&quot;>&#xD;
-                get suggestions on how to start an XP project.&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/metaphor_system_of_names.xmi b/XP/xp/guidances/concepts/metaphor_system_of_names.xmi
deleted file mode 100644
index c993f4a..0000000
--- a/XP/xp/guidances/concepts/metaphor_system_of_names.xmi
+++ /dev/null
@@ -1,42 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-2OU2wQP_WNWX5zzWzx4ANw"
-    name="metaphor_system_of_names,4.884861766532753E-306" guid="-2OU2wQP_WNWX5zzWzx4ANw"
-    changeDate="2006-11-08T19:24:49.021-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__metaphor_(system_of_names)&quot; name=&quot;XE_xp__metaphor_(system_of_names)&quot;>&lt;/a>&lt;a id=&quot;XE_metaphor_(system_of_names)__practice_of&quot; name=&quot;XE_metaphor_(system_of_names)__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__metaphor_(system_of_names)&quot; name=&quot;XE_engineering_practices__metaphor_(system_of_names)&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    This metaphor is a design overview. It is a way of defining the system using a commonly understandable vocabulary with&#xD;
-    its associated relationships. It allows the whole team to talk about the structure of the software in a convenient and&#xD;
-    memorable way. A good metaphor is one that all team members can understand easily, remember, and always keep in the&#xD;
-    back of their minds. It provides a unifying direction that developers can follow as they build the system a small piece&#xD;
-    at a time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Metaphors are not always easy to find at the start of a project. In that case, teams can simply identify the key&#xD;
-    objects and their interactions in the system (System of Names). The real metaphor might emerge later on. When everybody&#xD;
-    on the team can explain quickly the system through its major objects and their interactions, the goal has been reached.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The iterative nature of XP causes the architecture of our system to evolve over time. The metaphor is not static; it&#xD;
-    will change and hopefully improve over time as our understanding of the system improves.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    An example of a metaphor would be something like: &quot;It's like a subway system with passengers and stations, tickets and&#xD;
-    turnstiles, etc.&quot;.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Communication&lt;/b>: customer and developer define a common language they can use to talk about the system.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Direction&lt;/b>: the metaphor helps guide the developers towards the solution.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/motivation.xmi b/XP/xp/guidances/concepts/motivation.xmi
deleted file mode 100644
index 48fe18c..0000000
--- a/XP/xp/guidances/concepts/motivation.xmi
+++ /dev/null
@@ -1,59 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-nIpFvBhY9WogqrEQv4NknQ"
-    name="why_xp,1.6390805262958034E-306" guid="-nIpFvBhY9WogqrEQv4NknQ" changeDate="2006-11-08T18:24:24.660-0500"
-    version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    The goal of a software process is to guide the software development organization to:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Get the right software done.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Get the software done right.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Get the software done quickly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Get the software done frugally.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    There are many approaches to this problem. Some software processes are high in ceremony. They guide the developers to&#xD;
-    create many artifacts. They punctuate the project with phases and sign-offs. They release infrequently, sometimes&#xD;
-    solely upon project completion. There is a time and place for such processes.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    On the other hand, the most important and scarce resource in any project is the time of the developers. High ceremony&#xD;
-    processes fill that time with work activities that center around artifacts and reviews instead of around the core&#xD;
-    artifacts of code and tests. For many projects this is an exorbitant expense.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    To manage this expense, many projects need a process that uses a minimum of ceremony and concentrates on the core&#xD;
-    artifacts. They need a feedback-driven process that delivers working software rapidly in quick releases.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP is just such a low ceremony process. It is used by those teams and for those projects where ceremony is of little&#xD;
-    value, but rapid feedback is of high value. Such projects tend to be small to medium sized - fewer than one or two&#xD;
-    million lines of code - and involve fewer than one or two dozen developers. They tend to exist in environments of&#xD;
-    intense business and or technical change. They are, of course, exceedingly common.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A lack of ceremony does not imply a lack of management. XP places a lot of emphasis on techniques for planning,&#xD;
-    estimation, and schedule management. Creating, maintaining, and managing a project plan is a very big part of XP.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A lack of ceremony also does not imply a lack of discipline. XP espouses discipline for every facet of the project.&#xD;
-    There is discipline for testing, integration, planning, reviewing, and for producing software with a high quality&#xD;
-    internal structure. The goal is to keep the project moving and the software easy to modify, easy to extend, and easy to&#xD;
-    develop.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In short, XP puts the emphasis on ensuring that the team is working on the minimum set of activities and artifacts that&#xD;
-    will produce the right software, built right, built quickly and built frugally.&lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/pair_programming.xmi b/XP/xp/guidances/concepts/pair_programming.xmi
deleted file mode 100644
index c1b69f4..0000000
--- a/XP/xp/guidances/concepts/pair_programming.xmi
+++ /dev/null
@@ -1,43 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-n52TyFa7Reb3LOJV1JMpvg"
-    name="pair_programming,3.876855509996079E-307" guid="-n52TyFa7Reb3LOJV1JMpvg"
-    changeDate="2006-11-09T19:16:04.083-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__pair_programming&quot; name=&quot;XE_xp__pair_programming&quot;>&lt;/a>&lt;a id=&quot;XE_pair_programming__practice_of&quot; name=&quot;XE_pair_programming__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__pair_programming&quot; name=&quot;XE_engineering_practices__pair_programming&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    All production software in XP is produced by two programmers, sitting side by side, at the same machine. This practice&#xD;
-    ensures that all production code is reviewed by at least one other programmer and results in better design, better&#xD;
-    testing, and better code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Research into pair programming shows that pairing produces better code in about the same time as programmers working&#xD;
-    singly.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pairing also serves to communicate knowledge throughout the team. As pairs switch, everyone gets the benefits of&#xD;
-    everyone's specialized knowledge. Programmers learn, their skills improve, and they become more valuable to the team&#xD;
-    and to the company.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Better design, code and tests.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Application and skill knowledge sharing across team.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Related Information&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    See the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/pair_programming-2.html&quot; guid=&quot;3.85153041801319E-307&quot;>Pair&#xD;
-    Programming Guidelines&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/planning_game.xmi b/XP/xp/guidances/concepts/planning_game.xmi
deleted file mode 100644
index 56590d9..0000000
--- a/XP/xp/guidances/concepts/planning_game.xmi
+++ /dev/null
@@ -1,99 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-CPHs6R59_druVDY6nRjHEw"
-    name="planning_game,2.7371805612676613E-305" guid="-CPHs6R59_druVDY6nRjHEw" changeDate="2006-11-13T18:39:25.183-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__planning_game&quot; name=&quot;XE_xp__planning_game&quot;>&lt;/a>&lt;a id=&quot;XE_planning_game__practice_of&quot; name=&quot;XE_planning_game__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__planning_game&quot; name=&quot;XE_engineering_practices__planning_game&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The purpose of planning is to ensure that we are working on the most valuable things at all times. As much as we would&#xD;
-    like to, planning is not about predicting the future. Even the best, most thought out plans need to be continually&#xD;
-    refined. They require continuous and constant feedback to be useful.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP proposes the following planning hierarchy:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Projects are split into releases that typically last two to three months.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Releases are split into iterations that typically last two to three weeks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Iterations are planned into tasks that typically last one to two days.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The XP planning game has two main activities:&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Release Planning&#xD;
-&lt;/h4>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Customer presents user stories to the team.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Programmers estimate the user stories.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Customers selects a set of user stories for the next release. The total of the estimates of the selected stories&#xD;
-        cannot exceed the team's previous release velocity (how much they did the previous release).&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h4>&#xD;
-    Iteration Planning&#xD;
-&lt;/h4>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Customer presents the user stories that will be worked on for the iteration. These stories usually come from the&#xD;
-        release. Stories not in the release can be selected for the iteration, but the customer will have to push out an&#xD;
-        existing story of the same size out of the iteration and the release. This is done so the team does not commit to&#xD;
-        do more work than they have shown they can do in the past.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Programmers break down the stories into engineering tasks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Programmers sign up and estimate engineering tasks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Programmers do a sanity check to make sure all these tasks can be done by comparing against what was done the&#xD;
-        previous iteration.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If there is too much to do, the customer will drop one or more user story from the iteration.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If there is not enough work, the customer can add one or more story to fill the iteration.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul class=&quot;noindent&quot;>&#xD;
-    &lt;li>&#xD;
-        Provides &lt;b>quick and meaningful feedback&lt;/b>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Provides &lt;b>lots of opportunities&lt;/b> to use that feedback &lt;b>to steer the team to success&lt;/b>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Provides &lt;b>clear&lt;/b>, long-term &lt;b>strategic&lt;/b> (release plan) &lt;b>and&lt;/b> short-term &lt;b>tactical goals&lt;/b>&#xD;
-        (iteration plan).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Allows the team to manage themselves&lt;/b> (task list).&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Related Information&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    See the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/planning_game-2.html&quot; guid=&quot;6.7335956461328426E-307&quot;>Planning Game Guidelines&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/product_quality.xmi b/XP/xp/guidances/concepts/product_quality.xmi
deleted file mode 100644
index a70d3db..0000000
--- a/XP/xp/guidances/concepts/product_quality.xmi
+++ /dev/null
@@ -1,173 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-nGaswirSOYturOoUWwGdRw"
-    name="product_quality,3.712584012051524E-306" guid="-nGaswirSOYturOoUWwGdRw" changeDate="2006-11-10T13:10:29.938-0500"
-    version="1.0.0">
-  <mainDescription>&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    If you're serious about producing an excellent product, you face two problems:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        How do you know when the product is good enough?&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the product is not yet good enough, how do you assure that the stakeholders involved know that?&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The answer to the first question lets you release the product. The answer to the second question helps you avoid&#xD;
-    releasing a bad product.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    You might think: &quot;I don't want to ship a merely good enough product; I want to ship a &lt;i>great&lt;/i> product!&quot; Let's&#xD;
-    explore that. What happens when you tell your coworkers, managers, or investors that you have high quality standards&#xD;
-    and intend to ship a great product? If it's early in the project cycle, they probably nod and smile. Everyone likes&#xD;
-    quality. However, if it's late in the project cycle, you're under a lot of pressure to complete the project. Creating a&#xD;
-    great product might require that you perform extensive testing, fix many problems (even small ones), add features, or&#xD;
-    even scrap and rewrite a large part of the code. You will also have to resolve disputes over different visions of good&#xD;
-    quality. Greatness is hard work. Perfection is even harder! Eventually, the people who control the project will come to&#xD;
-    you and say something like: &quot;Perfection would be nice, but we have to be practical. We're running a business. Quality&#xD;
-    is good, but not quality &lt;i>at any cost&lt;/i>. As you know, all software has bugs.&quot;&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Greatness can be a motivating goal. It appeals to the pride you have in your work. But there are problems with using&#xD;
-    what amounts to &quot;if quality is good, more quality must be better&quot; to justify the pursuit of excellence. For one thing,&#xD;
-    making such an argument can portray you as a quality fanatic, rather than a balanced thinker. For another thing, it&#xD;
-    ignores the cost factor. A BMW is a nice car, but it costs a lot more than a Saturn. A Saturn may not be the ultimate&#xD;
-    driving experience, but it's nice for the money. In leaving out cost, the &lt;i>&lt;b>more is better&lt;/b>&lt;/i> argument also&#xD;
-    ignores diminishing returns. The better your product, the harder it gets to justify further improvement. While you&#xD;
-    labor to gold-plate one aspect of a product, out of necessity you must ignore other aspects of the product or even the&#xD;
-    potential opportunities presented by another project. The business has to make choices every day about the best use of&#xD;
-    its resources. There are factors other than quality that must be considered.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The &lt;i>&lt;b>good enough quality&lt;/b>&lt;/i> concept (GEQ) is, paradoxically, a more effective argument than &lt;i>&lt;b>more is&#xD;
-    better&lt;/b>&lt;/i>, because it provides a target that is either achievable or not achievable, in which case it becomes a de&#xD;
-    facto argument for canceling or rechartering the project.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;GEQParadigms&quot; name=&quot;GEQParadigms&quot;>Paradigms of Good Enough&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Most businesses practice some form of good enough reasoning about their products. The only ones that don't are those&#xD;
-    who believe they have achieved perfection, because they lack the imagination and skill to see how their products might&#xD;
-    be improved.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Here are some models of &lt;i>&lt;b>good enough&lt;/b>&lt;/i> that have been tried. Some of them are more effective than others,&#xD;
-    depending on the situation:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Not too Bad&lt;/b> &lt;i>(&quot;we're not dead yet&quot;) -&lt;/i> Our quality only has to be good enough so we can continue to&#xD;
-        stay in business. Make it good enough so that we aren't successfully sued.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Positive Infallibility&lt;/b> &lt;i>(&quot;anything we do is good&quot;) -&lt;/i> Our organization is the best in the world.&#xD;
-        Because we're so good, anything we do is automatically good. Think about success. Don't think about failure because&#xD;
-        &quot;negative&quot; thinking makes for poor quality.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Righteous Exhaustion&lt;/b> &lt;i>(&quot;perfection or bust&quot;) -&lt;/i> No product is good enough; it's effort that counts. And&#xD;
-        only our complete exhaustion will be a good enough level of effort. Business issues are not our concern. We will do&#xD;
-        everything we possibly can to make it perfect. Since we'll never be finished improving, someone will have to come&#xD;
-        in and pry it from our fingers if they want it. Then they will bear the blame for any quality problems, not&#xD;
-        us.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Customer is Always Right&lt;/b> &lt;i>(&quot;customers seem to like it&quot;) -&lt;/i> If customers like it, it must be good&#xD;
-        enough. Of course, you can't please everybody all the time. And if a current or potential customer doesn't like the&#xD;
-        product, it's up to them to let us know. We can't read their minds.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Defined Process&lt;/b> &lt;i>(&quot;we follow a Good Process&quot;) -&lt;/i> Quality is the result of the process we use to build&#xD;
-        the product. We have defined our process and we think it's a good process. Therefore, as long as we follow the&#xD;
-        process, a good enough product will inevitably result.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Static Requirements&lt;/b> &lt;i>(&quot;we satisfy the Requirements&quot;) -&lt;/i> We have defined quality in terms of objective,&#xD;
-        quantifiable, noncontroversial goals. If we meet those goals, we have a good enough product, no matter what other&#xD;
-        subjective, non-quantifiable, controversial goals might be suggested.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Accountability&lt;/b> &lt;i>(&quot;we fulfill our promises&quot;) -&lt;/i> Quality is defined by contract. We promise to do certain&#xD;
-        things and achieve certain goals. If we fulfill our contract, that's good enough.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Advocacy&lt;/b> &lt;i>(&quot;we make every reasonable effort&quot;) -&lt;/i> We advocate excellence. Throughout the project, we&#xD;
-        look for ways to prevent problems, and to find and fix the ones we couldn't prevent. If we work faithfully toward&#xD;
-        excellence, that will be good enough.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Dynamic Tradeoff&lt;/b> &lt;i>(&quot;we weigh many factors&quot;) -&lt;/i> With respect to our mission and the situation at hand, a&#xD;
-        product is good enough when it has sufficient benefits, no critical problems, its benefits sufficiently outweigh&#xD;
-        its non-critical problems, and it would cause more harm than good to continue improving it.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;IsHighQualityExpensive&quot; name=&quot;IsHighQualityExpensive&quot;>Is High Quality Necessarily More Expensive?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Depending on a lot of factors, such as process, skill, technology, tools, environment, and culture, you may be able to&#xD;
-    produce a much higher quality product for the same cost. A more testable and maintainable product will cost less to&#xD;
-    improve and other costs are specifically associated with poor quality, such as support costs and costs to the customer.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The cost of quality is a complex issue and it's difficult to make broad generalizations. However, you can say with&#xD;
-    certainty that you can always spend more time on much better tests, much more error handling, and more fixing or&#xD;
-    rewriting of every part of the product. No matter how good you are, that costs something. And if you can't think of&#xD;
-    more improvements to make, it's more likely that you've reached the upper limit of your imagination, not of quality.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In the software industry GEQ is inspired more as a response to one particular cost than any other: the cost of not&#xD;
-    releasing the product &lt;i>soon enough&lt;/i>. The specter of the market window, or the external deadline, imposes penalties&#xD;
-    upon us if we can't meet the challenge. That's why the ends of projects are so often characterized by frenzied triage.&#xD;
-    If you want to know what an organization really believes is good enough, and how well prepared they are for it, witness&#xD;
-    the last three days of any six-month software project. See what happens when a new problem is reported on the last day.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Quantification&quot; name=&quot;Quantification&quot;>Wouldn't Quantification Help?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    It can be tempting to reduce quality to a number, then set a numerical threshold that represents good enough quality.&#xD;
-    This is a problem, because you can only measure factors that &lt;i>relate&lt;/i> to quality. You can't measure quality&#xD;
-    itself. This is partly because the word &quot;quality&quot; is just a label for a relationship between a person and a thing.&#xD;
-    &quot;This product is high in quality&quot; is just another way of saying &quot;Somebody values this product&quot;. It's a statement about&#xD;
-    the product, but also a statement about people and the surrounding context. Even if the product stays the same, people&#xD;
-    and situations change, so there can be no single, static, &lt;i>true&lt;/i> measure of quality.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There are many measures you might use to get a sense of quality, even if you can't measure it completely and&#xD;
-    objectively. Even so, the question of what quality is good enough requires sophisticated judgment. You can't escape&#xD;
-    from the fact that, in the end, people have to think it through and make a judgment. For a simple product, that&#xD;
-    judgment might be easy. For a complex, high-stakes product, it's very difficult.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;FurtherInfo&quot; name=&quot;FurtherInfo&quot;>Further Information&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    To assist you with evaluating product quality, the following types of information are available for most of the&#xD;
-    artifacts included in the Unified Process:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Artifact Guidelines and Checkpoints: information on how to develop, evaluate, and use the artifact.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Templates: &quot;models&quot; or prototypes of the artifact, providing structure and guidance for content.&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/refactoring_xp_programming.xmi b/XP/xp/guidances/concepts/refactoring_xp_programming.xmi
deleted file mode 100644
index b857441..0000000
--- a/XP/xp/guidances/concepts/refactoring_xp_programming.xmi
+++ /dev/null
@@ -1,73 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-U8NScY6mORb4XPcNZ_mrEA"
-    name="refactoring_xp_programming,1.4410217108363206E-306" guid="-U8NScY6mORb4XPcNZ_mrEA"
-    changeDate="2006-11-09T19:20:46.023-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__refactoring&quot; name=&quot;XE_xp__refactoring&quot;>&lt;/a>&lt;a id=&quot;XE_refactoring__practice_of&quot; name=&quot;XE_refactoring__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__refactoring&quot; name=&quot;XE_engineering_practices__refactoring&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Refactoring is the practice of improving the design of a system without changing its behavior. Refactoring is a&#xD;
-    critical practice and skill in iterative development. The programmer is either adding a new feature or refactoring. XP&#xD;
-    programmers consciously choose between refactoring and adding new functionality on a minute-by-minute basis. Some&#xD;
-    refactorings are trivial, such as renaming or moving things. Other refactorings allow you to exchange procedural logic&#xD;
-    with polymorphism, and still larger refactorings exist to introduce design patterns.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    While processes like Extreme Programming rely on refactoring to let the design emerge, the usefulness of refactoring&#xD;
-    extends beyond the Agile Methodologies. As feature requests and bug fixes require changes to a system, refactoring&#xD;
-    techniques allow the programmers to maintain a good design. Refactoring can also be used to improve the design of an&#xD;
-    existing system.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Refactoring is not new. Developers have been refactoring for years, though only recently have people started to catalog&#xD;
-    refactorings. Refactoring has become such an important part of development that professional-level Integrated&#xD;
-    Development Environments (IDEs) either include built-in tools or have plug-ins to provide refactoring support.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If your system isn't being refactored as it is modified, your design deteriorates; methods become longer, classes take&#xD;
-    on more responsibility, more code gets cut and pasted around your system, previously cut-and-pasted code has to be&#xD;
-    modified in several places.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If your system becomes brittle and inflexible, your developers will have to spend more time and money to add features&#xD;
-    or fix bugs. As the design continues to deteriorate, fixing one bug creates two more, or the cost of adding a new&#xD;
-    feature out weighs the benefit of having it because so much of the system has to be modified. There are many analogies&#xD;
-    to describe this battle against entropy; from cleaning as you go to design debt.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Knowing the refactorings isn't enough. Developers must be able to identify problem areas of the program design (often&#xD;
-    referred to as &quot;smells&quot;). These are the places where refactoring can be used to improve the design of the code. Design&#xD;
-    skill and experience are needed to recognize bad code smells.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Automated tests provide a safety net when making changes. The automated tests report when the functionality of the&#xD;
-    system changes. Make a structural change to the software; see that the tests still pass. You can confidently refactor.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Where do all these tests come from? In XP, they are developed using &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test_driven_development.html&quot; guid=&quot;1.620567348185129E-306&quot;>Test-Driven Development&lt;/a>. It is possible to refactor without tests, but you run the&#xD;
-    risk of unknowingly introducing bugs or breaking existing functionality.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Allows the design to emerge over time.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Keeps the design from rotting.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Reduces cost of change.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Related Information&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    &amp;nbsp;See the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/refactoring.html&quot; guid=&quot;8.137126904637637E-306&quot;>Refactoring Guidelines&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/resources/dvltst-img1.gif b/XP/xp/guidances/concepts/resources/dvltst-img1.gif
deleted file mode 100644
index 8082009..0000000
--- a/XP/xp/guidances/concepts/resources/dvltst-img1.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/dvltst-img2.gif b/XP/xp/guidances/concepts/resources/dvltst-img2.gif
deleted file mode 100644
index 381f405..0000000
--- a/XP/xp/guidances/concepts/resources/dvltst-img2.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/dvltst-img3.gif b/XP/xp/guidances/concepts/resources/dvltst-img3.gif
deleted file mode 100644
index e7f17aa..0000000
--- a/XP/xp/guidances/concepts/resources/dvltst-img3.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstfrsdsg-img1.gif b/XP/xp/guidances/concepts/resources/tstfrsdsg-img1.gif
deleted file mode 100644
index 8b22b05..0000000
--- a/XP/xp/guidances/concepts/resources/tstfrsdsg-img1.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstfrsdsg-img2.gif b/XP/xp/guidances/concepts/resources/tstfrsdsg-img2.gif
deleted file mode 100644
index d17d10e..0000000
--- a/XP/xp/guidances/concepts/resources/tstfrsdsg-img2.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstfrsdsg-img3.gif b/XP/xp/guidances/concepts/resources/tstfrsdsg-img3.gif
deleted file mode 100644
index 182076e..0000000
--- a/XP/xp/guidances/concepts/resources/tstfrsdsg-img3.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstfrsdsg-img4.gif b/XP/xp/guidances/concepts/resources/tstfrsdsg-img4.gif
deleted file mode 100644
index d06ff22..0000000
--- a/XP/xp/guidances/concepts/resources/tstfrsdsg-img4.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstfrsdsg-img5.gif b/XP/xp/guidances/concepts/resources/tstfrsdsg-img5.gif
deleted file mode 100644
index f7fc9cd..0000000
--- a/XP/xp/guidances/concepts/resources/tstfrsdsg-img5.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstids_short-catalog.pdf b/XP/xp/guidances/concepts/resources/tstids_short-catalog.pdf
deleted file mode 100644
index d88327c..0000000
--- a/XP/xp/guidances/concepts/resources/tstids_short-catalog.pdf
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstidsctl-img1.gif b/XP/xp/guidances/concepts/resources/tstidsctl-img1.gif
deleted file mode 100644
index b61b1c9..0000000
--- a/XP/xp/guidances/concepts/resources/tstidsctl-img1.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstidsctl-img2.gif b/XP/xp/guidances/concepts/resources/tstidsctl-img2.gif
deleted file mode 100644
index 9951dc2..0000000
--- a/XP/xp/guidances/concepts/resources/tstidsctl-img2.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/resources/tstidslst-img1.gif b/XP/xp/guidances/concepts/resources/tstidslst-img1.gif
deleted file mode 100644
index ac8fd5f..0000000
--- a/XP/xp/guidances/concepts/resources/tstidslst-img1.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/concepts/simple_design.xmi b/XP/xp/guidances/concepts/simple_design.xmi
deleted file mode 100644
index 894f385..0000000
--- a/XP/xp/guidances/concepts/simple_design.xmi
+++ /dev/null
@@ -1,112 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-0rSxLFlmQfyKrgnqi1NKrg"
-    name="simple_design,1.6109092258980447E-306" guid="-0rSxLFlmQfyKrgnqi1NKrg" changeDate="2006-11-08T19:39:05.846-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__simple_design&quot; name=&quot;XE_xp__simple_design&quot;>&lt;/a>&lt;a id=&quot;XE_simple_design__practice_of&quot; name=&quot;XE_simple_design__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__simple_design&quot; name=&quot;XE_engineering_practices__simple_design&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The design strategy in XP is to create the simplest design that meets your current requirements, as reflected in the&#xD;
-    current test cases. In many domains, &quot;simplest design&quot; is ambiguous, but it is a well-defined term in XP. A simple&#xD;
-    design has these four characteristics, listed in priority order:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The system runs all the tests.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It contains no duplicate code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The code states the programmers's intent very clearly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It contains the fewest possible number of classes and methods.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Design in Extreme Programming is much more incremental than in any other methodology. The practice of Test-Driven&#xD;
-    Development describes how the system is created in many small steps, driven by tests that programmers write. Each of&#xD;
-    these tests is a probe into the design of the system, allowing the developers to explore the system as it is being&#xD;
-    created. This is quite a contrast to other methodologies where design is a separate phase of either the project or the&#xD;
-    iteration. In XP, design quite literally happens all the time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It takes a tremendous amount of courage to stop designing and start coding. Almost all developers are taught that they&#xD;
-    should understand everything about the system before committing that knowledge to code. The reason, they've always been&#xD;
-    told, is that code is hard to change. Once it is laid on its virtual paper, changing it involves understanding the&#xD;
-    hidden assumptions of the original developer, unseen couplings, months-long validation and verification procedures,&#xD;
-    etc. But if code could be changed with impunity, developers could afford to defer design decisions until later,&#xD;
-    understand the system incrementally, and implement in pieces.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The strategy of building software in this manner is based on the following reasoning:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Given that all requirements aren't known on the first day of the project, the development style must be adjusted to&#xD;
-        accommodate new understanding from customers and changes in the business climate.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If a design decision does not have to be made now, avoid guessing by deferring the decision until it is needed. By&#xD;
-        that time, there is a better chance that enough understanding will exist to support a better decision.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Change happens during the lifetime of a project. Decisions made once will be changed. The software must be designed&#xD;
-        and implemented in such a way that changes can be accommodated easily.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Designs seldom survive their first skirmish with code. The act of coding provides feedback to the developer about&#xD;
-        the system. This learning must be reflected in the design. If the design is already cast before coding begins, this&#xD;
-        feedback is more difficult and costly to put back into the design.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Here are some guidelines to help in arriving at a simple design:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Look for a simple way to solve a problem. Software is hard, so there will be plenty of time for complexity later.&#xD;
-        For now, keep it simple. Simple, however, does not mean stupid. Pay attention to good design principles when&#xD;
-        forming a system incrementally.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Resist the temptation to add infrastructure or other features that might be needed later. Chances are they won't be&#xD;
-        (YAGNI: You Aren't Going to Need It). Let the user stories force you to change the design.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Don't generalize a solution until it is needed in at least two places. Follow the first rule above and keep&#xD;
-        implementation simple. Let the second user pay for the generality.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Seek out and destroy duplication. The practice of &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/refactoring_xp_programming.html&quot; guid=&quot;1.4410217108363206E-306&quot;>Refactoring&lt;/a> is the most powerful tool in the arsenal. It is through removing&#xD;
-        duplication that new classes, methods, and larger scale systems are born.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Remember that it is just code. If it is getting overly complex and painful, delete it. It can always be recreated&#xD;
-        again in less time and better than the first time by leveraging what was learned the first time.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Small initial investment&lt;/b>: There is no need to invest in frameworks or generality that might be or might not&#xD;
-        be required in the future.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Maintainability&lt;/b>: Simple design will keep the design from rotting and dying prematurely. The more complex the&#xD;
-        design is, the harder it is to understand and preserve and the more rapidly it will decay.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Flexibility&lt;/b>: Simple systems are always easier to change than more complex systems.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Agility&lt;/b>: Simple systems are faster to change than more complex systems.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/small_releases.xmi b/XP/xp/guidances/concepts/small_releases.xmi
deleted file mode 100644
index cc1abd9..0000000
--- a/XP/xp/guidances/concepts/small_releases.xmi
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-vcCn_ksJo5Jw27aNZb1Cvw"
-    name="small_releases,5.762953011420275E-306" guid="-vcCn_ksJo5Jw27aNZb1Cvw" changeDate="2006-11-09T18:03:57.390-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__small_releases&quot; name=&quot;XE_xp__small_releases&quot;>&lt;/a>&lt;a id=&quot;XE_small_releases__practice_of&quot; name=&quot;XE_small_releases__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__small_releases&quot; name=&quot;XE_engineering_practices__small_releases&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    There are many developers who have spent years developing software and yet never had any of it released into use.&#xD;
-    Fortunately, this situation is becoming rarer, but it still happens. There are many reasons why some software never&#xD;
-    gets put into production, but often a key factor is the size of releases. Releasing software is much like integrating&#xD;
-    source code changes in a project: the longer you delay it, the tougher it becomes. Releasing software into production&#xD;
-    frequently is a good way of getting feedback. Users will often think of issues that they would not have without actual&#xD;
-    experience using the software. Getting that feedback early enhances the overall quality of the product.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In XP, we recommend release cycles of three to four months at most.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Small releases increase feedback&lt;/b>. Discrepancies between the system that is needed and the system being&#xD;
-        developed are found early.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Putting pieces of a system into production frequently raises the quality consciousness of the project. The&#xD;
-        &lt;b>system must consistently be good enough to ship&lt;/b>.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/test-first_design.xmi b/XP/xp/guidances/concepts/test-first_design.xmi
deleted file mode 100644
index b34f334..0000000
--- a/XP/xp/guidances/concepts/test-first_design.xmi
+++ /dev/null
@@ -1,308 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-3AbfvnHrCOIQS63sEjrOew"
-    name="test-first_design,6.556259235358794E-306" guid="-3AbfvnHrCOIQS63sEjrOew"
-    changeDate="2006-11-13T18:58:35.617-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_test__developer_testing__test-first_design&quot; name=&quot;XE_test__developer_testing__test-first_design&quot;>&lt;/a>&lt;a id=&quot;XE_design__test-first_design&quot; name=&quot;XE_design__test-first_design&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Test designs are created using information from a variety of artifacts, including design artifacts such as use case&#xD;
-    realizations, design models, or classifier interfaces. Tests are executed after components are created. It's typical to&#xD;
-    create the test designs just before the tests are to be executed - well after the software design artifacts are&#xD;
-    created. Figure 1, following, shows an example. Here, test design begins sometime toward the end of implementation. It&#xD;
-    draws on the results of component design. The arrow from Implementation to Test Execution indicates that the tests&#xD;
-    can't be executed until the implementation is complete.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;159&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img1.gif&quot; width=&quot;614&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig1: Traditionally, Test Design is performed later in the life-cycle&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    However, it doesn't have to be this way. Although test execution has to wait until the component has been implemented,&#xD;
-    test design can be done earlier. It could be done just after the design artifact is completed. It could even be done in&#xD;
-    parallel with component design, as shown here:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;158&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img2.gif&quot; width=&quot;610&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig2: Test-first Design brings test design chronologically in-line with software design&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Moving the test effort &quot;upstream&quot; in this way is commonly called &quot;test-first design&quot;. What are its advantages?&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        No matter how carefully you design software, you'll make mistakes. You might be missing a relevant fact. Or you&#xD;
-        might have particular habits of thought that make it hard for you to see certain alternatives. Or you might just be&#xD;
-        tired and overlook something. Having other people review your design artifacts helps. They might have the facts you&#xD;
-        miss, or they might see what you overlooked. It's best if these people have a different perspective than you do; by&#xD;
-        looking at the design differently, they'll see things you missed.&lt;br />&#xD;
-        &lt;br />&#xD;
-         Experience has shown that the testing perspective is an effective one. It's relentlessly concrete. During software&#xD;
-        design, it's easy to think of a particular field as &quot;displaying the title of the current customer&quot; and move on&#xD;
-        without really thinking about it. During test design, you must decide &lt;i>specifically&lt;/i> what that field will show&#xD;
-        when a customer who retired from the Navy and then obtained a law degree insists on referring to himself as&#xD;
-        &quot;Lieutenant Morton H. Throckbottle (Ret.), Esq.&quot; Is his title &quot;Lieutenant&quot; or &quot;Esquire&quot;?&lt;br />&#xD;
-        &lt;br />&#xD;
-         If test design is deferred until just before test execution, as in Figure 1, you'll probably waste money. A&#xD;
-        mistake in your software design will remain uncaught until test design, when some tester says, &quot;You know, I knew&#xD;
-        this guy from the Navy...&quot;, creates the &quot;Morton&quot; test, and discovers the problem. Now a partially or fully complete&#xD;
-        implementation has to be rewritten and a design artifact has to be updated. It would be cheaper to catch the&#xD;
-        problem before implementation begins.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some mistakes might be caught before test design. Instead, they'll be caught by the Implementer. That's still bad.&#xD;
-        Implementation must grind to a halt while the focus switches from how to implement the design to what that design&#xD;
-        should be. That's disruptive even when the Implementer and Designer roles are filled by the same person; it's much&#xD;
-        more disruptive when they're different people. Preventing this disruption is another way in which test-first design&#xD;
-        helps improve efficiency.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Test designs help Implementers in another way-by clarifying design. If there's a question in the Implementer's mind&#xD;
-        about what the design meant, the test design might serve as a specific example of the desired behavior. That will&#xD;
-        lead to fewer bugs due to Implementer misunderstanding.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        There are fewer bugs even if the question &lt;i>wasn't&lt;/i> in the Implementer's mind - but should have been. For&#xD;
-        example, there might have been an ambiguity that the Designer unconsciously interpreted one way and the Implementer&#xD;
-        another. If the Implementer is working from both the design and also from specific instructions about what the&#xD;
-        component is supposed to do - from test cases - the component is more likely to actually do what is required.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Examples&quot; name=&quot;Examples&quot;>Examples&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Here are some examples to give you the flavor of test-first design.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Suppose you're creating a system to replace the old &quot;ask the secretary&quot; method of assigning meeting rooms. One of the&#xD;
-    methods of the &lt;font size=&quot;+0&quot;>MeetingDatabase&lt;/font> class is called &lt;font size=&quot;+0&quot;>getMeeting&lt;/font>, which has this&#xD;
-    signature:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-Meeting getMeeting(Person, Time);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Given a person and a time, &lt;font size=&quot;+0&quot;>getMeeting&lt;/font> returns the meeting that person is scheduled to be in at&#xD;
-    that time. If the person isn't scheduled for anything, it returns the special &lt;font size=&quot;+0&quot;>Meeting&lt;/font> object&#xD;
-    &lt;font size=&quot;+0&quot;>unscheduled&lt;/font>. There are some straightforward test cases:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The person isn't in any meeting at the given time. Is the &lt;font size=&quot;+0&quot;>unscheduled&lt;/font> meeting returned?&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The person is in a meeting at that time. Does the method return the correct meeting?&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    These test cases are unexciting, but they need to be tried eventually. They might as well be created now, by writing&#xD;
-    the actual test code that will someday be run. Java code for the first test might look like this:&#xD;
-&lt;/p>&#xD;
-&lt;pre>&#xD;
-    // if not in a meeting at given time,&#xD;
-    // expect to be unscheduled.&#xD;
-    public void testWhenAvailable() {&#xD;
-Person fred = new Person(&quot;fred&quot;);&#xD;
-Time now = Time.now();&#xD;
-MeetingDatabase db = new MeetingDatabase();&#xD;
-expect(db.getMeeting(fred, now) == Meeting.unscheduled);&#xD;
-    }&#xD;
-&lt;/pre>&#xD;
-&lt;p>&#xD;
-    But there are more interesting test ideas. For example, this method searches for a match. Whenever a method searches,&#xD;
-    it's a good idea to ask what should happen if the search finds more than one match. In this case, that means asking&#xD;
-    &quot;Can a person be in two meetings at once?&quot; Seems impossible, but asking the secretary about that case might reveal&#xD;
-    something surprising. It turns out that some executives are quite often scheduled into two meetings at once. Their role&#xD;
-    is to pop into a meeting, &quot;rally the troops&quot; for some short amount of time, and then move on. A system that didn't&#xD;
-    accommodate that behavior would go at least partially unused.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This is an example of test-first design done at the implementation level catching an analysis problem. There are a few&#xD;
-    things to note about that:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        You would hope that good use-case specification and analysis would have already discovered this requirement. In&#xD;
-        that case, the problem would have been avoided &quot;upstream&quot; and &lt;font size=&quot;+0&quot;>getMeeting&lt;/font> would have been&#xD;
-        designed differently. (It couldn't return a meeting; it would have to return a set of meetings.) But analysis&#xD;
-        always misses some problems, and it's better for them to be discovered during implementation than after&#xD;
-        deployment.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        In many cases, Designers and Implementers won't have the domain knowledge to catch such problems - they won't have&#xD;
-        the opportunity or time to quiz the secretary. In that case, the person designing tests for &lt;font         size=&quot;+0&quot;>getMeeting&lt;/font> would ask, &quot;is there a case in which two meetings should be returned?&quot;, think for a&#xD;
-        while, and conclude that there wasn't. So test-first design doesn't catch every problem, but the mere fact of&#xD;
-        asking the right kinds of questions increases the chance a problem will be found.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some of the same testing techniques that apply during implementation also apply to analysis. Test-first design can&#xD;
-        be done by analysts as well, but that's not the topic of this page.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    The second of the three examples is a statechart model for a heating system.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;253&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img3.gif&quot; width=&quot;567&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig3: HVAC Statechart&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A set of tests would traverse all the arcs in the statechart. One test might begin with an idle system, inject a Too&#xD;
-    Hot event, fail the system during the Cooling/Running state, clear the failure, inject another Too Hot event, then run&#xD;
-    the system back to the Idle state. Since that does not exercise all the arcs, more tests are needed. These kinds of&#xD;
-    tests look for various kinds of implementation problems. For example, by traversing every arc, they check whether the&#xD;
-    implementation has left one out. By using sequences of events that have failure paths followed by paths that should&#xD;
-    successfully complete, they check whether error-handling code fails to clean up partial results that might affect later&#xD;
-    computation. (For more about testing statecharts, see &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.html&quot; guid=&quot;1.0347051690476123E-305&quot;>Guideline: Test Ideas for Statechart and Activity Diagrams&lt;/a>.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The final example uses part of a design model. There's an association between a creditor and an invoice, where any&#xD;
-    given creditor can have more than one invoice outstanding.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;45&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img4.gif&quot; width=&quot;186&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig4: Association between Creditor and Invoice Classes&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Tests based on this model would exercise the system when a creditor has no invoices, one invoice, and a large number of&#xD;
-    invoices. A tester would also ask whether there are situations in which an invoice might need to be associated with&#xD;
-    more than one creditor, or where an invoice has no creditor. (Perhaps the people who currently run the paper-based&#xD;
-    system the computer system is to replace use creditor-less invoices as a way to keep track of pending work). If so,&#xD;
-    that would be another problem that should have been caught in Analysis.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhoDoesTest-FirstDesign&quot; name=&quot;WhoDoesTest-FirstDesign&quot;>Who does test-first design?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Test-first design can be done by either the author of the design or by someone else. It's common for the author to do&#xD;
-    it. The advantage is that it reduces communication overhead. The Designer and Test Designer don't have to explain&#xD;
-    things to each other. Further, a separate Test Designer would have to spend time learning the design well, whereas the&#xD;
-    original Designer already knows it. Finally, many of these questions - like &quot;what happens if the compressor fails in&#xD;
-    state X?&quot; - are natural questions to ask during both software artifact design and test design, so you might as well&#xD;
-    have the same person ask them exactly once and write the answers down in the form of tests.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There are disadvantages, though. The first is that the Designer is, to some extent, blind to his or her own mistakes.&#xD;
-    The test design process will reveal some of that blindness, but probably not as much as a different person would find.&#xD;
-    How much of a problem this is seems to vary widely from person to person and is often related to the amount of&#xD;
-    experience the Designer has.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Another disadvantage of having the same person do both software design and test design is that there's no parallelism.&#xD;
-    Whereas allocating the roles to separate people will take more total effort, it will probably result in less elapsed&#xD;
-    calendar time. If people are itching to move out of design and into implementation, taking time for test design can be&#xD;
-    frustrating. More importantly, there's a tendency to skimp on the work in order to move on.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;CanAllTestDesignBeDoneAtComponentDesignTime&quot; name=&quot;CanAllTestDesignBeDoneAtComponentDesignTime&quot;>Can all test&#xD;
-    design be done at component design time?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    No. The reason is that not all decisions are made at design time. Decisions made during implementation won't be&#xD;
-    well-tested by tests created from the design. The classic example of this is a routine to sort arrays. There are many&#xD;
-    different sorting algorithms with different tradeoffs. Quicksort is usually faster than an insertion sort on large&#xD;
-    arrays, but often slower on small arrays. So a sorting algorithm might be implemented to use Quicksort for arrays with&#xD;
-    more than 15 elements, but insertion sort otherwise. That division of labor might be invisible from design artifacts.&#xD;
-    You &lt;i>could&lt;/i> represent it in a design artifact, but the Designer might have decided that the benefit of making such&#xD;
-    explicit decisions wasn't worthwhile. Since the size of the array plays no role in the design, the test design might&#xD;
-    inadvertently use only small arrays, meaning that none of the Quicksort code would be tested at all.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    As another example, consider this fraction of a sequence diagram. It shows a &lt;font size=&quot;+0&quot;>SecurityManager&lt;/font>&#xD;
-    calling the &lt;font size=&quot;+0&quot;>log()&lt;/font> method of &lt;font size=&quot;+0&quot;>StableStore&lt;/font>. In this case, though, the &lt;font     size=&quot;+0&quot;>log()&lt;/font> returns a failure, which causes &lt;font size=&quot;+0&quot;>SecurityManager&lt;/font> to call &lt;font     size=&quot;+0&quot;>Connection.close()&lt;/font>.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;161&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img5.gif&quot; width=&quot;303&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig5: SecurityManager sequence diagram instance&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This is a good reminder to the Implementer. Whenever &lt;font size=&quot;+0&quot;>log()&lt;/font> fails, the connection must be closed.&#xD;
-    The question for testing to answer is whether the Implementer really did it-and did it correctly-in &lt;i>all&lt;/i> cases or&#xD;
-    just in &lt;i>some&lt;/i>. To answer the question, the Test Designer must find all the calls to &lt;font     size=&quot;+0&quot;>StableStore.log()&lt;/font> and make sure each of those call points is given a failure to handle.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It might seem odd to run such a test, given that you've just looked at all the code that calls &lt;font     size=&quot;+0&quot;>StableStore.log()&lt;/font>. Can't you just check to see if it handles failure correctly?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Perhaps inspection might be enough. But error-handling code is notoriously error-prone because it often implicitly&#xD;
-    depends on assumptions that the existence of the error has violated. The classic example of this is code that handles&#xD;
-    allocation failures. Here's an example:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-while (true) { // top level event loop&#xD;
-    try {&#xD;
-XEvent xe = getEvent();&#xD;
-...                      // main body of program&#xD;
-    } catch (OutOfMemoryError e) {&#xD;
-emergencyRestart();&#xD;
-    }&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    This code attempts to recover from out of memory errors by cleaning up (thus making memory available) and then&#xD;
-    continuing to process events. Let's suppose that's an acceptable design. &lt;font size=&quot;+0&quot;>emergencyRestart&lt;/font> takes&#xD;
-    great care not to allocate memory. The problem is that &lt;font size=&quot;+0&quot;>emergencyRestart&lt;/font> calls some utility&#xD;
-    routine, which calls some other utility routine, which calls some other utility routine-which allocates a new object.&#xD;
-    Except that there's no memory, so the whole program fails. These kinds of problems are hard to find through inspection.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Test-FirstDesignAndRUPPhases&quot; name=&quot;Test-FirstDesignAndRUPPhases&quot;>Test-first design and the phases&#xD;
-    of&amp;nbsp;Unified&lt;/a> Process&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Up to this point, we've implicitly assumed that you'd do as much test design as possible as early as possible. That is,&#xD;
-    you'd derive all the tests you could from the design artifact, later adding only tests based on implementation&#xD;
-    internals. That may not be appropriate in the Elaboration phase, because such complete testing may not be aligned with&#xD;
-    an iteration's objectives.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Suppose an architectural prototype is being built to demonstrate product feasibility to investors. It might be based on&#xD;
-    a few key use-case instances. Code should be tested to see that it supports them. But is there any harm if further&#xD;
-    tests are created? For example, it might be obvious that the prototype ignores important error cases. Why not document&#xD;
-    the need for that error handling by writing test cases that will exercise it?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    But what if the prototype does its job and reveals that the architectural approach won't work? Then the architecture&#xD;
-    will be thrown away - along with all those tests for error-handling. In that case, the effort of designing the tests&#xD;
-    will have yielded no value. It would have been better to have waited, and only designed those tests needed to check&#xD;
-    whether this proof-of-concept prototype really proves the concept.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This may seem a minor point, but there are strong psychological effects in play. The Elaboration phase is about&#xD;
-    addressing major risks. The whole project team should be focused on those risks. Having people concentrating on minor&#xD;
-    issues drains focus and energy from the team.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    So where might test-first design be used successfully in the Elaboration phase? It can play an important role in&#xD;
-    adequately exploring architectural risks. Considering how, precisely, the team will know if a risk has been realized or&#xD;
-    avoided will add clarity to the design process and may well result in a better architecture being built the first time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    During the Construction phase, design artifacts are put into their final form. All the required use-case realizations&#xD;
-    are implemented, as are the interfaces for all classes. Because the phase objective is completeness, complete&#xD;
-    test-first design is appropriate. Later events should invalidate few, if any, tests.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The Inception and Transition phases typically have less focus on design activities for which testing is appropriate.&#xD;
-    When it is, test-first design is applicable. For example, it could be used with candidate proof-of-concept work in&#xD;
-    Inception. As with Construction and Elaboration phase testing, it should be aligned with iteration objectives.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/test-ideas_catalog.xmi b/XP/xp/guidances/concepts/test-ideas_catalog.xmi
deleted file mode 100644
index 9882255..0000000
--- a/XP/xp/guidances/concepts/test-ideas_catalog.xmi
+++ /dev/null
@@ -1,449 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-OrjIrRLW6v_XnqLUQ9GYaQ"
-    name="test-ideas_catalog,1.2384224477983028E-305" guid="-OrjIrRLW6v_XnqLUQ9GYaQ"
-    changeDate="2006-12-01T19:08:47.336-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_test-ideas_catalog__concept_of&quot; name=&quot;XE_test-ideas_catalog__concept_of&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Much of programming involves taking things you've used over and over before, and then using them yet again in a&#xD;
-    different context. Those things are typically of certain classes-data structures (such as linked lists, hash tables, or&#xD;
-    relational databases) or &lt;a href=&quot;./../../../glossary/glossary.htm#operation&quot; target=&quot;_blank&quot;>&lt;i>operations&lt;/i>&lt;/a>&#xD;
-    (such as searching, sorting, creating temporary files, or popping up a browser window). For example, two customer&#xD;
-    relational databases will have many clichéd characteristics.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The interesting thing about these clichés is that they have clichéd &lt;a href=&quot;./../../../glossary/glossary.htm#fault&quot; target=&quot;_blank&quot;>&lt;i>faults&lt;/i>&lt;/a>. People do not invent imaginative new ways to insert something incorrectly into a&#xD;
-    doubly-linked list. They tend to make the same mistakes that they and others have made before. A programmer who pops up&#xD;
-    a browser window might make one of these clichéd mistakes:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        creates a new window when one that's already open should be reused&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        fails to make an obscured or minimized browser window visible&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        uses Internet Explorer when the user has chosen a different default browser&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        fails to check whether JavaScript is enabled&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Since faults are clichéd, so are the &lt;a href=&quot;./../../../glossary/glossary.htm#test_idea&quot; target=&quot;_blank&quot;>&lt;i>test&#xD;
-    ideas&lt;/i>&lt;/a> that can find them. Put these test ideas in your test-idea catalog so you can reuse them.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;HowCatalogsFindFaults&quot; name=&quot;HowCatalogsFindFaults&quot;>How a Test-Ideas Catalog Finds Faults&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    One of the virtues of a catalog is that a single test idea can be useful for finding more than one underlying fault.&#xD;
-    Here's an example of one idea that finds two faults.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The first fault was in a C compiler. This compiler took command-line options like &quot;-table&quot; or &quot;-trace&quot; or &quot;-nolink&quot;.&#xD;
-    The options could be abbreviated to their smallest unique form. For example, &quot;-ta&quot; was as good as &quot;-table&quot;. However,&#xD;
-    &quot;-t&quot; was not allowed, because it was ambiguous: it could mean either &quot;-table&quot; or &quot;-trace&quot;.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Internally, the command-line options were stored in a table like this:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;left&quot;>&#xD;
-    &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;25%&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    -table&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    -trace&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    -nolink&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    When an option was encountered on the command line, it was looked up in the table. It matched if it was the prefix of&#xD;
-    any table entry; that is, &quot;-t&quot; matched &quot;-table&quot;. After one match was found, the rest of the table was searched for&#xD;
-    another match. Another match would be an error, because it would indicate ambiguity.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The code that did the searching looked like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-for (first=0; first &amp;lt; size; first++) {&#xD;
-    if (matches(entry[first], thing_sought)) {&#xD;
-/* at least one match */&#xD;
-for(dup=first+1; dup &amp;lt; size; dup++)&#xD;
-    /* search for another */&#xD;
-    if (matches(entry[dup], thing_sought))&#xD;
-        /* extra match */&#xD;
-        break;  /* error out */&#xD;
-return first;&#xD;
-    }&#xD;
-}&#xD;
-return -1;  /* Not found or ambiguity */&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Do you see the problem? It's fairly subtle.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The problem is the break statement. It's intended to break out of the outermost enclosing loop when a duplicate match&#xD;
-    is found, but it really breaks out of the inner one. That has the same effect as not finding a second match: the index&#xD;
-    of the first match is returned.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Notice that this fault can only be found if the option being sought for matches twice in the table, as &quot;-t&quot; would.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Now let's look at a second, completely different fault.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The code takes a string. It is supposed to replace the last '=' in the string with a '+'. If there is no '=', nothing&#xD;
-    is done. The code uses the standard C library routine &lt;font size=&quot;+0&quot;>strchr&lt;/font> to find the location of '='. Here's&#xD;
-    the code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-ptr = strchr(string, '=');  /* Find last = */&#xD;
-if (ptr != NULL_CHAR)&#xD;
-    *ptr = '+';&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    This problem here is also somewhat subtle.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The function &lt;font size=&quot;+0&quot;>strchr&lt;/font> returns the &lt;i>first&lt;/i> match in the string, not the last. The correct&#xD;
-    function is &lt;font size=&quot;+0&quot;>str&lt;b>&lt;u>r&lt;/u>&lt;/b>chr&lt;/font>. The problem was most likely a typographical error. (Actually,&#xD;
-    the deep underlying problem is that it's definitely unwise to put two functions that differ only by a typo into a&#xD;
-    standard library.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This fault can only be found when there are two or more equal signs in the input. That is:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &quot;a=b&quot; would return the correct result, &quot;a+b&quot;.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &quot;noequals&quot; would return the correct result, &quot;noequals&quot;.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &quot;a=b=c&quot; would incorrectly return &quot;a+b=c&quot;, not the correct &quot;a=b+c&quot;&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    What's interesting and useful here is that we have two faults with completely different root causes (typographical&#xD;
-    error, misunderstanding of a C construct) and different manifestations in the code (wrong function called, misuse of&#xD;
-    break statement) that can be found by the &lt;i>same&lt;/i> test idea (search for something that occurs twice).&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;GoodCatalogs&quot; name=&quot;GoodCatalogs&quot;>A Good Test-Ideas Catalog&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    What makes a good catalog?&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        It contains a small set of test ideas that can find a much larger set of underlying faults.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It's easy to read quickly (skim). You should be able to skip test ideas that are not relevant to your situation.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It contains only test ideas that you will use. For example, someone who doesn't ever deal with Web browsers&#xD;
-        shouldn't have to keep skipping over test ideas for programs that use Web browsers. Someone working on game&#xD;
-        software will want a shorter catalog than someone working on safety-critical software. The game person can afford&#xD;
-        to concentrate only on the test ideas with the highest chance of finding faults.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Given these rules, it seems best to have more than one catalog. Some data and operations are common to all programming,&#xD;
-    so their test ideas can be put into a catalog that all programmers can use. Others are specific to a particular domain,&#xD;
-    so test ideas for them can be put into a catalog of domain-specific test ideas.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A sample catalog (&lt;a href=&quot;./resources/tstids_short-catalog.pdf&quot; target=&quot;_blank&quot;>tstids_short-catalog.pdf&lt;/a>) (&lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot;>Get Adobe Reader&lt;/a>), used in the following example, is a&#xD;
-    good one from which to begin. &lt;a href=&quot;../../../examples/extrnlcntrbtns/test/tstatmtch.htm&quot;>Test Ideas for Mixtures of&#xD;
-    ANDs and ORs&lt;/a> provides another example.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;UsingACatalogExample&quot; name=&quot;UsingACatalogExample&quot;>An Example of Using a Test-Ideas Catalog&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Here's how you might use the sample catalog (&lt;a href=&quot;./resources/tstids_short-catalog.pdf&quot; target=&quot;_blank&quot;>tstids_short-catalog.pdf&lt;/a>) (&lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot;>Get&#xD;
-    Acrobat Reader&lt;/a>). Suppose you're implementing this method:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void applyToCommonFiles(Directory d1,&#xD;
-                Directory d2,&#xD;
-                Operation op);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> takes two directories as arguments. When a file in the first directory has&#xD;
-    the same name as a file in the second, &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> performs some operation on that pair&#xD;
-    of files. It descends subdirectories.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The method for using the catalog is to scan through it looking for major headings that match your situation. Consider&#xD;
-    the test ideas under each heading to see if they are relevant, and then write those that are relevant into a &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html&quot; guid=&quot;8.834380241450745E-306&quot;>Test-Ideas List&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;b>Note:&lt;/b> This step-by-step description might make using the catalog seem laborious. It takes longer to read about&#xD;
-    creating the checklist than it does to actually create one.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    So, in the case of &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font>, you might apply the catalog in the manner described&#xD;
-    throughout the rest of this section.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The first entry is for &lt;b>Any Object&lt;/b>. Could any of the arguments be null pointers? This is a matter of the contract&#xD;
-    between &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> and its callers. The contract could be that the callers will not pass&#xD;
-    in a null pointer. If they do, you can't rely on th expected behavior: &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> could&#xD;
-    perform any action. In such a case, no test is appropriate, since nothing &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font>&#xD;
-    does can be wrong. If, however, &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> is required to check for null pointers, the&#xD;
-    test idea would be useful. Let's assume the latter, which gives us this starting Test-Ideas List:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        d1 is null (error case)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d2 is null (error case)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        op is null (error case)&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The next catalog entry is &lt;b>Strings&lt;/b>. The names of the files are strings, and they're compared to see if they&#xD;
-    match. The idea of testing with the empty string (&quot;&quot;) doesn't seem useful. Presumably some standard string comparison&#xD;
-    routines will be used, and they will handle empty strings correctly.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    But wait... If there are strings being compared, what about case? Suppose &lt;font size=&quot;+0&quot;>d1&lt;/font> contains a file&#xD;
-    named &quot;File&quot; and &lt;font size=&quot;+0&quot;>d2&lt;/font> contains a file named &quot;file&quot;. Should those files match? On UNIX, clearly&#xD;
-    not. On Microsoft&amp;reg; Windows&amp;reg;, they almost certainly should. That's another test idea:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Files match in the two directories, but the case of the names is different.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Notice that this test idea didn't come directly from the catalog. However, the catalog drew our attention to a&#xD;
-    particular aspect of the program (file names as strings), and our creativity gave us an additional idea. It's important&#xD;
-    not to use the catalog too narrowly-use it as a brainstorming technique, a way of inspiring new ideas.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The next entry is &lt;b>Collections&lt;/b>. A directory is a collection of files. Many programs that handle collections fail&#xD;
-    on the empty collection. A few that handle the empty collection, or collections with many elements, fail on collections&#xD;
-    with exactly one element. So these ideas are useful:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        d1 is empty&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d2 is empty&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d1 has exactly one file&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d2 has exactly one file&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The next idea is to use a collection of the maximum possible size. This is useful because programs like &lt;font     size=&quot;+0&quot;>applyToCommonFiles&lt;/font> are often tested with trivial little directories. Then some user comes along and&#xD;
-    applies them to two huge directory trees with thousands of files in them, only to discover that the program is&#xD;
-    grotesquely memory inefficient and can't handle that realistic case.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Now, testing the absolute maximum size for a directory is not important; it only needs to be as large as a user might&#xD;
-    try. However, at the very least, there should be &lt;i>some&lt;/i> test with more than three files in a directory:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        d1 contains very many files&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d2 contains very many files&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The final test idea (duplicate elements) doesn't apply to directories of files. That is, if you have a directory with&#xD;
-    two files that have the same name, you have a problem independent of &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font>-your&#xD;
-    file system is corrupt.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The next catalog entry is &lt;b>Searching&lt;/b>. Those ideas can be translated into &lt;font     size=&quot;+0&quot;>applyToCommonFiles&lt;/font> terms like this:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        d1 and d2 have no files in common (all the names are different)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d1 and d2 have exactly one file in common (it's alphabetically the last element in the directory)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d1 and d2 have more than one file in common&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The final test idea checks whether &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> terminates too soon. Does it return as&#xD;
-    soon as it finds the first match? The parenthetical remark in the test idea before that assumes that the program will&#xD;
-    fetch the list of files in a directory using some library routine that returns them, sorted alphabetically. If not, it&#xD;
-    might be better to find out what the last one really is (the most recently created?) and make that be the match. Before&#xD;
-    you devote a lot of time to finding out how files are ordered, though, ask yourself how likely it is that putting the&#xD;
-    matching element last will make finding defects easier. Putting an element last in a collection is more useful if the&#xD;
-    code explicitly steps through the collection using an index. If it's using an iterator, it's extremely unlikely that&#xD;
-    the order matters.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Let's look at one more entry in the sample catalog. The &lt;b>Linked structures&lt;/b> entry reminds us that we're comparing&#xD;
-    directory &lt;i>trees&lt;/i>, not just flat collections of files. It would be sad if &lt;font     size=&quot;+0&quot;>applyToCommonFiles&lt;/font> worked only in the top-level directories, but not in the lower-level ones. Deciding&#xD;
-    how to test whether &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> works in lower-level directories forces us to confront&#xD;
-    the incompleteness of its description.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    First, when does &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> descend into subdirectories? If the directory structure&#xD;
-    looks like this&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;162&quot; alt=&quot;&quot; src=&quot;resources/tstidsctl-img1.gif&quot; width=&quot;334&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Figure 1: A directory structure&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    does &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> descend into &lt;font size=&quot;+0&quot;>Cdir&lt;/font>? That doesn't seem to make&#xD;
-    sense. There can be no match with anything in the other directory tree. In fact, it seems as if files in subdirectories&#xD;
-    can only match if the subdirectory names match. That is, suppose we have this directory structure:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;165&quot; alt=&quot;&quot; src=&quot;resources/tstidsctl-img2.gif&quot; width=&quot;334&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Figure 2: A second directory structure&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The files named &quot;File&quot; don't match because they're in different subdirectories The subdirectories should be descended&#xD;
-    only if they have the same name in both &lt;font size=&quot;+0&quot;>d1&lt;/font> and &lt;font size=&quot;+0&quot;>d2&lt;/font>. That leads to these&#xD;
-    test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        some subdirectory in d1 is not found in d2 (no descent)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        some subdirectory in d2 is not found in d1 (no descent)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        some subdirectory appears in both d1 and d2 (descend)&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    But that raises other questions. Should the operation (&lt;font size=&quot;+0&quot;>op&lt;/font>) be applied to matching subdirectories&#xD;
-    or just to matching files? If it's applied to the subdirectories, should it be applied before the descent or afterward?&#xD;
-    That makes a difference if, for example, the operation deletes the matching file or directory. For that matter,&#xD;
-    &lt;i>should&lt;/i> the operation be allowed to modify the directory structure? And more specifically: what's the correct&#xD;
-    behavior of &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> if it does? (This is the same issue that comes up with&#xD;
-    iterators.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    These sorts of questions typically arise when you carefully read a method's description of creating test ideas. But&#xD;
-    let's leave them aside for now. Whatever the answers are, there will have to be test ideas for them-test ideas that&#xD;
-    check whether the code correctly implements the answers.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Let's return to the catalog. We still haven't considered all of its test ideas. The first one-empty (nothing in&#xD;
-    structure)-asks for an empty directory. We've already got that from the &lt;b>Collections&lt;/b> entry. We've also got the&#xD;
-    &lt;b>minimal non-empty&lt;/b> structure, which is a directory with a single element. This sort of redundancy is not&#xD;
-    uncommon, but it's easy to ignore.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    What about &lt;b>a circular structure&lt;/b>? Directory structures can't be circular-a directory can't be within one of its&#xD;
-    descendants or within itself... or can it? What about shortcuts (on Windows) or symbolic links (on UNIX)? If there's a&#xD;
-    shortcut in &lt;font size=&quot;+0&quot;>d1&lt;/font>'s directory tree that points back to &lt;font size=&quot;+0&quot;>d1&lt;/font>, should &lt;font     size=&quot;+0&quot;>applyToCommonFiles&lt;/font> keep descending forever? The answer could lead to one or more new test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        d1 is circular because of shortcuts or symbolic links&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        d2 is circular because of shortcuts or symbolic links&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Depending on the correct behavior, there may be more test ideas than that.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Finally, what about &lt;b>depth greater than one&lt;/b>? Earlier test ideas will ensure that we test descending into one&#xD;
-    level of subdirectory, but we should check that &lt;font size=&quot;+0&quot;>applyToCommonFiles&lt;/font> keeps descending:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        descends through several levels (&amp;gt;1) of d1's subdirectories&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        descends through several levels (&amp;gt;1) of d2's subdirectories&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;CreatingYourOwnCatalogs&quot; name=&quot;CreatingYourOwnCatalogs&quot;>Creating and Maintaining Your Own Test-Ideas Catalog&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    As mentioned previously, the generic catalog won't contain all of the test ideas you need. But &lt;a href=&quot;./../../../glossary/glossary.htm#domain&quot; target=&quot;_blank&quot;>&lt;i>domain&lt;/i>&lt;/a>-specific catalogs haven't been&#xD;
-    published outside of the companies that created them. If you want them, you'll need to build them. Here's some advice.&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Do not fill a catalog with your speculations about what ideas would be good for finding faults. Remember that each&#xD;
-        test idea you put in the catalog costs time and money: &#xD;
-        &lt;ul>&#xD;
-            &lt;li>&#xD;
-                your time to maintain the catalog&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                other programmers' time to think about the test idea&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                possibly other programmers' time to implement a test&#xD;
-            &lt;/li>&#xD;
-        &lt;/ul>&lt;br />&#xD;
-         Add only ideas that have a demonstrated track record. You should be able to point to at least one actual fault&#xD;
-        that the test idea would have caught. Ideally, the fault should be one that was missed by other testing; that is,&#xD;
-        one that was reported from the field. One good way to build catalogs is to browse through your company's bug&#xD;
-        database and ask questions about how each fault could have been detected earlier.&#xD;
-    &lt;/li>&#xD;
-    &lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
-        &lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It's unlikely to work if creating and maintaining a Test-Ideas Catalog is something you do in your spare time.&#xD;
-        You'll need time specifically allocated to this task, just like for any other important one. We recommend you&#xD;
-        create and maintain your Test-Ideas Catalog during &lt;a href=&quot;wfs_imptstast.htm&quot;>Workflow Detail: Improve Test&#xD;
-        Assets&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/test-ideas_list.xmi b/XP/xp/guidances/concepts/test-ideas_list.xmi
deleted file mode 100644
index 7299c67..0000000
--- a/XP/xp/guidances/concepts/test-ideas_list.xmi
+++ /dev/null
@@ -1,277 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-3i1jvKMUGGmAYPw4dHFbEg"
-    name="test-ideas_list,8.834380241450745E-306" guid="-3i1jvKMUGGmAYPw4dHFbEg" changeDate="2006-12-01T18:44:08.749-0500"
-    version="1.0.0">
-  <mainDescription>&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Information used in designing tests is gathered from many places: design models, classifier interfaces, statecharts,&#xD;
-    and code itself. At some point, this source document information must be transformed into executable tests:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        specific inputs given to the software under test&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        in a particular hardware and software configuration&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        initialized to a known state&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        with specific results expected&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    It's possible to go directly from source document information to executable tests, but it's often useful to add an&#xD;
-    intermediate step. In this step, test ideas are written into a &lt;i>Test-Ideas List&lt;/i>, which is used to create&#xD;
-    executable tests.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TestIdeas&quot; name=&quot;TestIdeas&quot;>What are Test Ideas?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    A test idea (sometimes referred to as a test requirement) is a brief statement about a test that could be performed. As&#xD;
-    a simple example, let's consider a function that calculates a square root and come up with some test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        give a number that's barely less than zero as input&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        give zero as the input&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        test a number that's a perfect square, like 4 or 16 (is the result exactly 2 or 4?)&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Each of these ideas could readily be converted into an executable test with exact descriptions of inputs and expected&#xD;
-    results.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There are two advantages to this less-specific intermediate form:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        test ideas are more reviewable and understandable than complete tests - it's easier to understand the reasoning&#xD;
-        behind them&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        test ideas support more powerful tests, as described later under the heading &lt;a href=&quot;#TestDesignUsingTheList&quot;>Test&#xD;
-        Design Using the List&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The square root examples all describe inputs, but test ideas can describe any of the elements of an executable test.&#xD;
-    For example, &quot;print to a LaserJet IIIp&quot; describes an aspect of the test environment to be used for a test, as does&#xD;
-    &quot;test with database full&quot;, however, these latter test ideas are very incomplete in themselves: Print &lt;b>what&lt;/b> to the&#xD;
-    printer? Do &lt;b>what&lt;/b> with that full database? They do, however, ensure that important ideas aren't forgotten; ideas&#xD;
-    that will be described in more detail later in test design.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Test ideas are often based on fault&amp;nbsp;models; notions of which faults are plausible in software and how those faults&#xD;
-    can best be uncovered. For example, consider boundaries. It's safe to assume the square root function can be&#xD;
-    implemented something like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
- double sqrt(double x) {     if (x &amp;lt; 0)        // signal error     ...&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    It's also plausible that the &lt;font size=&quot;+0&quot;>&amp;lt;&lt;/font> will be incorrectly typed as &lt;font size=&quot;+0&quot;>&amp;lt;=&lt;/font>.&#xD;
-    People often make that kind of mistake, so it's worth checking. The fault cannot be detected with &lt;font     size=&quot;+0&quot;>X&lt;/font> having the value &lt;font size=&quot;+0&quot;>2&lt;/font>, because both the incorrect expression (&lt;font     size=&quot;+0&quot;>x&amp;lt;=0&lt;/font>) and the correct expression (&lt;font size=&quot;+0&quot;>x&amp;lt;0&lt;/font>) will take the same branch of the&#xD;
-    &lt;font size=&quot;+0&quot;>if&lt;/font> statement. Similarly, giving &lt;font size=&quot;+0&quot;>X&lt;/font> the value -&lt;font size=&quot;+0&quot;>5&lt;/font>&#xD;
-    cannot find the fault. The only way to find it is to give &lt;font size=&quot;+0&quot;>X&lt;/font> the value &lt;font size=&quot;+0&quot;>0&lt;/font>,&#xD;
-    which justifies the second test idea.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In this case, the fault model is explicit. In other cases, it's implicit. For example, whenever a program manipulates a&#xD;
-    linked structure, it's good to test it against a circular one. It's possible that many faults could lead to a&#xD;
-    mishandled circular structure. For the purposes of testing, they needn't be enumerated - it suffices to know that some&#xD;
-    fault is likely enough that the test is worth running.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The following links provide information about getting test ideas from different kinds of fault models. The first two&#xD;
-    are explicit fault models; the last uses implicit ones.&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.html&quot; guid=&quot;1.7150344523489172E-305&quot;>Guideline: Test Ideas for Booleans and Boundaries&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_method_calls.html&quot; guid=&quot;8.5657170364036E-306&quot;>Guideline: Test Ideas for Method Calls&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_catalog.html&quot; guid=&quot;1.2384224477983028E-305&quot;>Concept: Test-Ideas Catalog&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    These fault models can be applied to many different artifacts. For example, the first one describes what to do with&#xD;
-    Boolean expressions. Such expressions can be found in code, in guard conditions, in statecharts and sequence diagrams,&#xD;
-    and in natural-language descriptions of method behaviors (such as you might find in a published API).&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Occasionally it's also helpful to have guidelines for specific artifacts. See &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.html&quot; guid=&quot;1.0347051690476123E-305&quot;>Guideline: Test Ideas for Statechart and Flow Diagrams&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A particular Test-Ideas List might contain test ideas from many fault models, and those fault models could be derived&#xD;
-    from more than one artifact.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TestDesignUsingTheList&quot; name=&quot;TestDesignUsingTheList&quot;>Test Design Using the List&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Let's suppose you're designing tests for a method that searches for a string in a sequential collection. It can either&#xD;
-    obey case or ignore case in its search, and it returns the index of the first match found or -1 if no match is found.&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
- int Collection.find(String string,     Boolean ignoreCase);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Here are some test ideas for this method:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        match found in the first position&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        match found in the last position&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        no match found&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        two or more matches found in the collection&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        case is ignored; match found, but it wouldn't match if case was obeyed&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        case is obeyed; an exact match is found&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        case is obeyed; a string that would have matched if case were ignored is skipped&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    It would be simple to implement these seven tests, one for each test idea. However, different test ideas can be&#xD;
-    combined into a single test. For example, the following test &lt;i>satisfies&lt;/i> test ideas 2, 6, and 7:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        Setup: collection initialized to [&quot;dawn&quot;, &quot;Dawn&quot;]&lt;br />&#xD;
-         Invocation: collection.find(&quot;Dawn&quot;, false)&lt;br />&#xD;
-         Expected result: return value is 1 (it would be 0 if &quot;dawn&quot; were not skipped)&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Making test ideas nonspecific makes them easier to combine.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It's possible to satisfy all of the test ideas in three tests. Why would three tests that satisfy seven test ideas be&#xD;
-    better than seven separate tests?&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        When you're creating a large number of simple tests, it's common to create test N+1 by copying test N and tweaking&#xD;
-        it just enough to satisfy the new test idea. The result, especially in more complex software, is that test N+1&#xD;
-        probably exercises the program in almost the same way as test N. It takes almost exactly the same path through the&#xD;
-        code.&lt;br />&#xD;
-        &lt;br />&#xD;
-         A smaller number of tests, each satisfying several test ideas, doesn't allow a &quot;copy and tweak&quot; approach. Each&#xD;
-        test will be somewhat different from the last, exercising the code in different ways and taking different&#xD;
-        paths.&lt;br />&#xD;
-        &lt;br />&#xD;
-         Why would that be better? If the Test-Ideas List were complete, with a test idea for every fault in the program,&#xD;
-        it wouldn't matter how you wrote the tests. But the list is always missing some test ideas that could find bugs. By&#xD;
-        having each test do very different things from the last one - by adding seemingly unneeded variety - you increase&#xD;
-        the chance that one of the tests will stumble over a bug by sheer dumb luck. In effect, smaller, more complex tests&#xD;
-        increase the chance the test will satisfy a test idea that you didn't know you needed.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Sometimes when you're creating more complex tests, new test ideas come to mind. That happens less often with simple&#xD;
-        tests, because so much of what you're doing is exactly like the last test, which dulls your mind.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    However, there are reasons for not creating complex tests.&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        If each test satisfies a single test idea and the test for idea 2 fails, you immediately know the most likely&#xD;
-        cause: the program doesn't handle a match in the last position. If a test satisfies ideas 2, 6, and 7, then&#xD;
-        isolating the failure is harder.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Complex tests are more difficult to understand and maintain. The intent of the test is less obvious.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Complex tests are more difficult to create. Constructing a test that satisfies five test ideas often takes more&#xD;
-        time than constructing five tests that each satisfy one. Moreover, it's easier to make mistakes - to think you're&#xD;
-        satisfying all five when you're only satisfying four.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    In practice, you must find a reasonable balance between complexity and simplicity. For example, the first tests you&#xD;
-    subject the software to (typically the smoke tests) should be simple, easy to understand and maintain, and intended to&#xD;
-    catch the most obvious problems. Later tests should be more complex, but not so complex they are not maintainable.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    After you've finished a set of tests, it's good to check them against the characteristic test design mistakes discussed&#xD;
-    in &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/concepts/developer_testing.html#TestDesignMistakes&quot; guid=&quot;4.085829182735815E-305&quot;>Concept: Developer Testing&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;UsingTestIdeasBeforeTest&quot; name=&quot;UsingTestIdeasBeforeTest&quot;>Using Test Ideas Before Testing&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    A Test-Ideas List is useful for reviews and inspections of design artifacts. For example, consider this part of a&#xD;
-    design model showing the association between Department and Employee classes.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;45&quot; alt=&quot;&quot; src=&quot;resources/tstidslst-img1.gif&quot; width=&quot;223&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Figure 1: Association between Department and Employee Classes&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The rules for creating test ideas from such a model would ask you to consider the case where a department has many&#xD;
-    employees. By walking through a design and asking &quot;what if, at this point, the department has many employees?&quot;, you&#xD;
-    might discover design or analysis errors. For example, you might realize that only one employee at a time can be&#xD;
-    transferred between departments. That might be a problem if the corporation is prone to sweeping reorganizations where&#xD;
-    many employees need to be transferred.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Such faults, cases where a possibility was overlooked, are called &lt;i>faults of omission&lt;/i>. Just like the faults&#xD;
-    themselves, you have probably omitted tests that detect these faults from your testing effort. For example, see &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_and_agile_process_references.html&quot; guid=&quot;6.191633934532389E-306&quot;>[GLA81]&lt;/a>, &amp;nbsp;&lt;a href=&quot;../../referenc.htm#OST84&quot;>[OST84]&lt;/a>, &lt;a href=&quot;../../referenc.htm#BAS87&quot;>[BAS87]&lt;/a>, &lt;a href=&quot;../../referenc.htm#MAR00&quot;>[MAR00]&lt;/a>, and other studies that&#xD;
-    show how often faults of omission escape into deployment.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The role of testing in design activities is discussed further in &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/concepts/test-first_design.html&quot; guid=&quot;6.556259235358794E-306&quot;>Concept: Test-first Design&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TestIdeasTraceability&quot; name=&quot;TestIdeasTraceability&quot;>Test Ideas and Traceability&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Traceability is a matter of tradeoffs. Is its value worth the cost of maintaining it? This question needs to be&#xD;
-    considered during &lt;a href=&quot;../../activity/ac_tst_dfnasstrcnds.htm&quot;>Activity: Define Assessment and Traceability&#xD;
-    Needs&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When traceability is worthwhile, it's conventional to trace tests back to the artifacts that inspired them. For&#xD;
-    example, you might have traceability between an API and its tests. If the API changes, you know which tests to change.&#xD;
-    If the code (that implements the API) changes, you know which tests to run. If a test puzzles you, you can find the API&#xD;
-    it's intended to test.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The Test-Ideas List adds another level of traceability. You can trace from a test to the test ideas it satisfies, and&#xD;
-    then from the test ideas to the original artifact.&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/test_driven_development.xmi b/XP/xp/guidances/concepts/test_driven_development.xmi
deleted file mode 100644
index c54403d..0000000
--- a/XP/xp/guidances/concepts/test_driven_development.xmi
+++ /dev/null
@@ -1,100 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-yaD6WKGdrZ0n0yBSpwPr4g"
-    name="test_driven_development,1.620567348185129E-306" guid="-yaD6WKGdrZ0n0yBSpwPr4g"
-    changeDate="2006-11-21T18:06:48.997-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__test_driven_development&quot; name=&quot;XE_xp__test_driven_development&quot;>&lt;/a>&lt;a id=&quot;XE_test_driven_development__practice_of&quot; name=&quot;XE_test_driven_development__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__test_driven_development&quot; name=&quot;XE_engineering_practices__test_driven_development&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Test-Driven Development is one of the core programming practices of XP. Many of us have learned over the years the&#xD;
-    value of writing automated tests for our code. Many of us have also learned the difficulty of writing tests after code&#xD;
-    is already in place. Test-Driven Development takes a different, extreme approach to ensure that we test all code, all&#xD;
-    the time.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The practice of Test-Driven Development requires a change in how you program and in how you think. You won't write&#xD;
-    tests as an afterthought. You won't be trying to see if the code you have written works. Instead, you will write tests&#xD;
-    as part of the everyday, every minute way of building software. Instead of writing detailed design specifications on&#xD;
-    paper, write the spec in code. Instead of first striving to perfectly design a system on paper, use tests to guide your&#xD;
-    design. Instead of coding for hours at a stretch only to find that the planning went awry, use Test-Driven Development&#xD;
-    to pace yourself, always assuring forward progress with the firm foundation of an ever-growing suite of running tests.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The steps:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Have an idea where you are going.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Write a test that specifies a tiny bit of functionality.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Ensure that the test fails (you haven't built the functionality yet!).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Write only the code necessary to make the test pass.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Refactor the code, ensuring that it has the clear and simple design for the functionality built to date.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Repeat until you have the desired functionality.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    The rules:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Test everything that can possibly break.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Tests come first.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        All tests run at 100% all the time.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Test-Driven Development is infectious! Developers swear by it. Developers do not seem to abandon it after giving it an&#xD;
-    honest trial.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Testable modules are decoupled from other complex classes, resulting in &lt;b>loosely coupled modules&lt;/b>. Loosely&#xD;
-        coupled modules are a sign of good design.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Code is written so that &lt;b>modules are testable in isolation&lt;/b>. Code written without tests in mind is often&#xD;
-        highly coupled, a big hint that you have a poor object-oriented design. If you have to write tests first, you'll&#xD;
-        devise ways of minimizing dependencies in your system in order to write your tests.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The &lt;b>tests act as documentation,&lt;/b> providing concrete examples of how to use the module being tested.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The tests are the first client of your classes; they &lt;b>show how the developer intended the class to be used&lt;/b>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The &lt;b>tests act as a safety net&lt;/b>. Notifying the programmer immediately when a side-effect defect is introduced&#xD;
-        into the system.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Development is paced&lt;/b>. You can stop at anytime with the tests describing the progress so far. Each&#xD;
-        programming session gives a sense of satisfaction with getting some of the code working.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    Related Information&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    For more information, see &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/test_driven_development_tdd.html&quot; guid=&quot;3.9254165491375454E-306&quot;>Test Driven Development Guidelines&lt;/a>.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/what_is_xp.xmi b/XP/xp/guidances/concepts/what_is_xp.xmi
deleted file mode 100644
index 58a8fd2..0000000
--- a/XP/xp/guidances/concepts/what_is_xp.xmi
+++ /dev/null
@@ -1,46 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-nO38_JQ9G3FQvNlAT5Agqg"
-    name="what_is_xp,9.251272550276345E-306" guid="-nO38_JQ9G3FQvNlAT5Agqg" changeDate="2006-11-08T18:33:57.947-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__what_is_it&quot; name=&quot;XE_xp__what_is_it&quot;>&lt;/a>&lt;a id=&quot;XE_what_is__xp&quot; name=&quot;XE_what_is__xp&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    Kent Beck, author of &lt;i>Extreme Programming Explained&lt;/i> [&lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_and_agile_process_references.html#BEC00&quot; guid=&quot;6.191633934532389E-306&quot;>BEC00&lt;/a>], says, &quot;XP is a light-weight methodology for small-to-medium-sized teams&#xD;
-    developing software in the face of vague or rapidly changing requirements.&quot; Simply stated, XP is a set of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>values&lt;/a>, &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/xp_rights.html&quot; guid=&quot;3.036332011267074E-306&quot;>rights,&lt;/a>&#xD;
-    and best &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/customcategories/xp_best_practices.html&quot; guid=&quot;4.315031901943112E-306&quot;>practices&lt;/a> that support each other in incrementally developing software.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When a team is developing software with XP, the customer creates stories that describe the functionality of the&#xD;
-    software. These stories are very lightweight use-cases. They are small units of functionality that require less than&#xD;
-    one or two weeks to implement. Programmers estimate the stories, and, based upon those estimates, the customer decides&#xD;
-    which stories to do first.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Development is done iteratively and incrementally. Every two weeks, the programming team delivers working stories to&#xD;
-    the customer. Then the customer chooses another two weeks worth of work. The system grows in functionality, piece by&#xD;
-    piece, steered by the customer. Progress is measured and tracked based on the observable behavior of the team.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP relies on evolutionary design and testing techniques that maintain a high quality design while new functionality is&#xD;
-    being added. These techniques avoid the mess of unmaintainable code through continuous review, an emphasis on&#xD;
-    simplicity, and the backstop of nearly universal test coverage.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Programmers work on their programming tasks in pairs. The pair share a single workstation and work together to write a&#xD;
-    single piece of code. Both partners are equally engaged in the writing. The keyboard moves back and forth between them&#xD;
-    frequently.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP programmers practice Test-Driven Development. In short, they write unit tests prior to writing production code.&#xD;
-    However, this is done in very tiny increments. Tiny portions of a test are written first, and then just enough&#xD;
-    production code is written to make those portions pass. This continues iteratively until everything that can be&#xD;
-    practically tested has been tested.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP focuses on continuous delivery of tested, running software from the first day of the project to the last. Delivery&#xD;
-    of real software, combined with simple but frequent planning, provides stakeholders with a clear view of what is done&#xD;
-    and what will be done. This enables the business to steer the project to an on-time shipment of the best possible&#xD;
-    software that can be completed in the time available.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/whole_team.xmi b/XP/xp/guidances/concepts/whole_team.xmi
deleted file mode 100644
index eaf16f5..0000000
--- a/XP/xp/guidances/concepts/whole_team.xmi
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-uqrgrFY-74R1FijPLvcXoQ"
-    name="whole_team,7.89591827591278E-306" guid="-uqrgrFY-74R1FijPLvcXoQ" changeDate="2006-11-08T18:36:31.999-0500"
-    version="1.0.0">
-  <mainDescription>&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    All the contributors to an XP project sit together, members of a whole team. The team shares the project goals and the&#xD;
-    responsibility for achieving them. This team must include a business representative, the &quot;Customer&quot; who provides the&#xD;
-    requirements, sets the priorities, and steers the project. It's best if the Customer or one of her aides is a real end&#xD;
-    user who knows the domain and what is needed. The team will of course have programmers. The team may include testers,&#xD;
-    who help the Customer define the customer acceptance tests. Analysts may serve as helpers to the Customer, helping to&#xD;
-    define the requirements. There is commonly a coach, who helps the team keep on track and facilitates the process. There&#xD;
-    may be a manager, providing resources, handling external communication and coordinating activities. None of these roles&#xD;
-    is necessarily the exclusive property of just one individual. Everybody on an XP team contributes in any way that they&#xD;
-    can. The best teams have no specialists, only general contributors with special skills.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Subservient in organization to the Whole Team are the teams that focus on the business decisions (&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_customer_team.html&quot; guid=&quot;2.9889538140050517E-306&quot;>XP Customer Team&lt;/a>), the technical decisions (&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_developer_team.html&quot; guid=&quot;8.608243854485154E-306&quot;>XP Developer Team&lt;/a>), and the organization that supports those teams (&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_organization.html&quot; guid=&quot;5.613949040902463E-308&quot;>XP Organization&lt;/a>). To create a context for clear communication, XP provides a set of&#xD;
-    guidelines defining the rights of the customer and developer. These guidelines are referred to as the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/xp_rights.html&quot; guid=&quot;3.036332011267074E-306&quot;>customer and a developer bill of rights&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;left&quot;>&#xD;
-    &lt;table width=&quot;75%&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th width=&quot;30%&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_customer_team.html&quot; guid=&quot;2.9889538140050517E-306&quot;>XP Customer Team&lt;/a>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;34%&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_developer_team.html&quot; guid=&quot;8.608243854485154E-306&quot;>XP Developer Team&lt;/a>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;36%&quot;>&#xD;
-                    &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_organization.html&quot; guid=&quot;5.613949040902463E-308&quot;>XP Organization&lt;/a>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/roles/xp_customer.html&quot; guid=&quot;{3C90DD4F-CFDB-4111-922D-3B840B8942DE}&quot;>Customer&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/roles/xp_programmer.html&quot; guid=&quot;{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}&quot;>Programmer&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/roles/xp_tracker.html&quot; guid=&quot;{D8FE277E-4F9A-47EB-855F-C451D601BBAF}&quot;>Tracker&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/roles/xp_tester.html&quot; guid=&quot;{FB65D00B-8304-4CF7-9969-52CE82F503DC}&quot;>Tester&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot;>&#xD;
-                    &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/roles/xp_coach.html&quot; guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>Coach&lt;/a>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Progress visibility&lt;/b>: customer gets real feedback on a daily basis.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Agility&lt;/b>: customer can steer team on a daily basis.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Reduces miscommunication&lt;/b>: contact is direct and face to face, single point of contact.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Speeds up communication&lt;/b>: customer is always available to answer questions.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/xp_practices.xmi b/XP/xp/guidances/concepts/xp_practices.xmi
deleted file mode 100644
index b445bbc..0000000
--- a/XP/xp/guidances/concepts/xp_practices.xmi
+++ /dev/null
@@ -1,64 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-24MPC2FhJbx7Fr0F6QEq8A"
-    name="xp_practices,2.2937799026801584E-305" guid="-24MPC2FhJbx7Fr0F6QEq8A" changeDate="2006-11-08T18:39:14.245-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__practices_of&quot; name=&quot;XE_xp__practices_of&quot;>&lt;/a>&lt;a id=&quot;XE_practices_in__xp&quot; name=&quot;XE_practices_in__xp&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    XP is a collection of guiding values and best practices. Most of these practices have been used in the industry in some&#xD;
-    shape or form for a number of years. XP has simply identified them and tried to push the envelope of these practices in&#xD;
-    order to get the most benefit from them. Taken individually, these practices are all fairly simple. But it is the sum&#xD;
-    of all of them that provides the most benefit as they reinforce each other to address the most difficult problems teams&#xD;
-    encounter when developing software.&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;p>&#xD;
-    &lt;img height=&quot;540&quot; alt=&quot;&quot; src=&quot;./../../../xp/resources/circleOfLife.jpg&quot; width=&quot;720&quot; usemap=&quot;#xp_practices_image_map&quot;     border=&quot;0&quot; /> &lt;map id=&quot;xp_practices_image_map&quot; name=&quot;xp_practices_image_map&quot;>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;298,19,390,88&quot; href=&quot;./../../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;176,135,282,200&quot; href=&quot;./../../../xp/guidances/concepts/collective_ownership.html&quot; guid=&quot;9.300699588493279E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;297,168,434,231&quot; href=&quot;./../../../xp/guidances/concepts/test_driven_development.html&quot; guid=&quot;1.620567348185129E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;447,135,547,198&quot; href=&quot;./../../../xp/guidances/concepts/coding_standard.html&quot; guid=&quot;8.8116853923311E-307&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;15,236,122,305&quot; href=&quot;./../../../xp/guidances/concepts/customer_tests.html&quot; guid=&quot;2.297945473205673E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;218,238,362,307&quot; href=&quot;./../../../xp/guidances/concepts/pair_programming.html&quot; guid=&quot;3.876855509996079E-307&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;392,241,512,305&quot; href=&quot;./../../../xp/guidances/concepts/refactoring_xp_programming.html&quot; guid=&quot;1.4410217108363206E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;614,236,714,302&quot; href=&quot;./../../../xp/guidances/concepts/planning_game.html&quot; guid=&quot;2.7371805612676613E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;143,325,270,393&quot; href=&quot;./../../../xp/guidances/concepts/continuous_integration.html&quot; guid=&quot;3.193414568279561E-305&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;310,321,412,379&quot; href=&quot;./../../../xp/guidances/concepts/simple_design.html&quot; guid=&quot;1.6109092258980447E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;468,323,597,393&quot; href=&quot;./../../../xp/guidances/concepts/xp_sustainable_pace.html&quot; guid=&quot;3.133529870649493E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;307,386,413,436&quot; href=&quot;./../../../xp/guidances/concepts/metaphor_system_of_names.html&quot; guid=&quot;4.884861766532753E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; coords=&quot;312,475,419,539&quot; href=&quot;./../../../xp/guidances/concepts/small_releases.html&quot; guid=&quot;5.762953011420275E-306&quot;>&lt;/area>&#xD;
-        &lt;area shape=&quot;rect&quot; target=&quot;_blank&quot; coords=&quot;561,494,708,538&quot; href=&quot;http://www.xprogramming.com&quot;>&lt;/area>&#xD;
-    &lt;/map>&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This diagram arranges the core practices of Extreme Programming in a way that makes them easy to remember and that&#xD;
-    exemplifies the steering and control cycles of the process.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The outer red circle is called the &quot;Circle of Life&quot;. It's what keeps an XP project going, producing tested working&#xD;
-    software. The &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>Whole Team&lt;/a>, customer members and development members, work together - preferably&#xD;
-    physically together - to build the project. Using the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/planning_game.html&quot; guid=&quot;2.7371805612676613E-305&quot;>Planning Game&lt;/a> elements of Release Planning and Iteration Planning, they plan a&#xD;
-    series of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/small_releases.html&quot; guid=&quot;5.762953011420275E-306&quot;>Small&#xD;
-    Releases&lt;/a> of software that demonstrably pass all the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/customer_tests.html&quot; guid=&quot;2.297945473205673E-305&quot;>Customer Tests&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The innermost blue circle describes the day to day, moment to moment, work of the XP developers. Each feature is&#xD;
-    addressed with &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/simple_design.html&quot; guid=&quot;1.6109092258980447E-306&quot;>Simple Design&lt;/a>, ensuring that the design of the system is just right for the features&#xD;
-    supported. The programmers work in &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/pair_programming.html&quot; guid=&quot;3.876855509996079E-307&quot;>pairs&lt;/a> for all production code development, providing continuous code review and&#xD;
-    valuable, team-wide understanding of the system. They build the software using &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test_driven_development.html&quot; guid=&quot;1.620567348185129E-306&quot;>Test-Driven Development,&lt;/a> a technique that produces well-crafted and well-tested&#xD;
-    software with a minimum of wasted effort, and the design is kept clean by the continuous improvement process of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/refactoring_xp_programming.html&quot; guid=&quot;1.4410217108363206E-306&quot;>Refactoring&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The middle green circle contains the important supporting practices of XP. The software is designed according to a&#xD;
-    common, shared, evolving &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/metaphor_system_of_names.html&quot; guid=&quot;4.884861766532753E-306&quot;>Metaphor&lt;/a> that helps it all hang together. It is kept &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/continuous_integration.html&quot; guid=&quot;3.193414568279561E-305&quot;>continuously integrated&lt;/a> with many system builds every day, each one fully tested. The&#xD;
-    team shares ownership of of all the code so that needed changes can be made by any qualified pair, not just by one&#xD;
-    individual. Since everyone works on everything, the team evolves a &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/coding_standard.html&quot; guid=&quot;8.8116853923311E-307&quot;>standard&#xD;
-    way of coding&lt;/a>. Finally, XP teams work at a &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/xp_sustainable_pace.html&quot; guid=&quot;3.133529870649493E-306&quot;>sustainable pace&lt;/a> that enables them to deliver tested software on a predictable basis&#xD;
-    from the first day of the project until the last.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-     &amp;nbsp;&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/xp_rights.xmi b/XP/xp/guidances/concepts/xp_rights.xmi
deleted file mode 100644
index 3ded318..0000000
--- a/XP/xp/guidances/concepts/xp_rights.xmi
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-vEvfeoyYAPDr-jfyX2QLww"
-    name="xp_rights,3.036332011267074E-306" guid="-vEvfeoyYAPDr-jfyX2QLww" changeDate="2006-11-08T18:44:06.238-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__bill_of_rights&quot; name=&quot;XE_xp__bill_of_rights&quot;>&lt;/a>&lt;a id=&quot;XE_bill_of_rights__in_xp&quot; name=&quot;XE_bill_of_rights__in_xp&quot;>&lt;/a> &#xD;
-&lt;h2>&#xD;
-    Developer Bill of Rights&#xD;
-&lt;/h2>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        You have the right to know what is needed with clear declarations of priority.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to produce quality work at all times.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to ask for and receive help from peers, superiors, and customers.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to make and update your own estimates.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to accept responsibilities instead of having them assigned to you.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h2>&#xD;
-    Customer Bill of Rights&#xD;
-&lt;/h2>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        You have the right to an overall plan, to know what can be accomplished when and at what cost.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to get the greatest possible value out of every programming week.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to see progress in a running system proven to work by passing repeatable tests that you specify.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to change your mind, to substitute functionality, and to change priorities without paying&#xD;
-        exorbitant costs.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        You have the right to be informed of schedule changes in time to choose how to reduce the scope to restore the&#xD;
-        original date. You can cancel the project at any time and be left with a useful working system reflecting the&#xD;
-        investment to date.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/xp_sustainable_pace.xmi b/XP/xp/guidances/concepts/xp_sustainable_pace.xmi
deleted file mode 100644
index f7ff979..0000000
--- a/XP/xp/guidances/concepts/xp_sustainable_pace.xmi
+++ /dev/null
@@ -1,46 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-DoLoZOTPa_LacQ3jUG_lsg"
-    name="xp_sustainable_pace,3.133529870649493E-306" guid="-DoLoZOTPa_LacQ3jUG_lsg"
-    changeDate="2006-11-09T18:07:23.389-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__sustainable_pace&quot; name=&quot;XE_xp__sustainable_pace&quot;>&lt;/a>&lt;a id=&quot;XE_sustainable_pace__practice_of&quot; name=&quot;XE_sustainable_pace__practice_of&quot;>&lt;/a>&lt;a id=&quot;XE_engineering_practices__sustainable_pace&quot; name=&quot;XE_engineering_practices__sustainable_pace&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The assumption in XP is that software development is not a sprint but a marathon. While a sprinter will easily beat a&#xD;
-    marathon runner over a very short distance, the marathon runner will always win in the long run. Consistently working&#xD;
-    overtime will destroy the team, the design, and eventually the product. It creates an environment that makes it&#xD;
-    impossible to do high quality work. People make more mistakes because they are tired (not to mention their low morale),&#xD;
-    causing bugs that require a lot of time to fix down the line. The end result is that it slows everything and everyone&#xD;
-    down.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Continuous overtime can be a symptom of a deeper problem that is not being addressed. Perhaps the process is too broken&#xD;
-    to be fixed by working more. The rule in XP is that, if the team has to do more than one consecutive week of overtime,&#xD;
-    it should reassess the situation and start rethinking the plan. Overtime is OK if you need to get to the end of an&#xD;
-    iteration or a release, but it should always be an exception rather than the rule.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Sustainable pace is about fostering a team that can produce a consistent amount of work over a long period of time.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved predictability&lt;/b>: plans become more accurate.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved product quality&lt;/b>: programmers have the time to do the right thing.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved job satisfaction&lt;/b>: programmers can enjoy their work with as little stress as possible.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Reduced time to market&lt;/b>: less time required to fix bad code and rotting design.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/concepts/xp_values.xmi b/XP/xp/guidances/concepts/xp_values.xmi
deleted file mode 100644
index 35c5fc7..0000000
--- a/XP/xp/guidances/concepts/xp_values.xmi
+++ /dev/null
@@ -1,176 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-pA6XLJKgRiwDTEp_qMlQ9g"
-    name="xp_values,1.076140803519123E-306" guid="-pA6XLJKgRiwDTEp_qMlQ9g" changeDate="2005-12-06T05:48:47.737-0500">
-  <mainDescription>&lt;a id=&quot;XE_xp__core_values&quot; name=&quot;XE_xp__core_values&quot;>&lt;/a> &#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Communication&quot; name=&quot;Communication&quot;>Communication&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    XP emphasizes face-to-face communication over other types of communication, such as documents. XP values documents but&#xD;
-    values personal communication even more. In order to facilitate communication, XP teams:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Use a common system metaphor or vocabulary.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Work closely with one another in an open workspace.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Continuously integrate the code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Work closely with the business people, preferably having them in the same room.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Program in pairs.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Collectively own the code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Frequently plan and report status to the customer.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Simplicity&quot; name=&quot;Simplicity&quot;>Simplicity&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    XP presumes that it is better to do the simple thing today and pay a little more tomorrow if more is really needed than&#xD;
-    to do a more complicated thing today that may never be used. This is a fundamental philosophy that permeates everything&#xD;
-    in an XP project. If something isn't needed today, we don't do it today.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For example:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        We will write no document unless there is an immediate and significant need.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        We will adopt no tool unless there is a tangible and verifiable benefit.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        We will avoid writing infrastructure until it is needed by existing code.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    In order to maintain the simplicity of their software and their team structure, XP teams:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ask themselves: What is the simplest thing that can possibly work?&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Continuously simplify and improve the design through refactoring.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Some time ago, Kent Beck offered the following rules for simple design. In priority order, the code must:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Run all the tests.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Contain no duplicate code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Express all the ideas the author wants to express.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Minimize classes and methods.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Feedback&quot; name=&quot;Feedback&quot;>Feedback&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Feedback works at different scales in XP.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    At the highest level, the customer can see the progress of the team through the working software delivered every two&#xD;
-    weeks. This continuous feedback allows the customer to steer the project to success. We get concrete feedback on the&#xD;
-    state of the system in the form of executable pieces of functionality that pass repeatable, automated acceptance tests.&#xD;
-    These tests prevent the system from backsliding. No new release of the system can fail acceptance tests that used to&#xD;
-    work.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    At the programming level, programmers write unit tests for all the logic in the system to get immediate and concrete&#xD;
-    feedback telling them if the code they just wrote is doing what they expected.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP teams:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Develop in small releases.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Develop in smaller iterations.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Break features and requirements into stories that fit in an iteration.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Break stories into even smaller tasks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Write small unit tests to ensure that tasks work properly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Write acceptance tests to ensure that stories work properly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Track progress and communicate it to the customer frequently.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h2>&#xD;
-    &lt;a id=&quot;Courage&quot; name=&quot;Courage&quot;>Courage&lt;/a>&#xD;
-&lt;/h2>&#xD;
-&lt;p>&#xD;
-    Perhaps a better name for this value is trust. In order to function, the members of an XP team have to have the courage&#xD;
-    to trust each other, trust their customer, trust their practices, and trust themselves.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP team members trust that they can:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Stop when they are tired.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Let every business decision be made by the customer.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Ask customers to reduce the scope of a release.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Ask their peers or customers for help.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Design and implement only what is needed for today and add tomorrow what will be needed tomorrow.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Make changes that improve the functions or structure of the code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Fix the design and retrofit existing code when the design is shown to be inadequate.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Throw away code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Change code they did not write.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Change the process when it is not working.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/examples/test-ideas_catalog_examples.xmi b/XP/xp/guidances/examples/test-ideas_catalog_examples.xmi
deleted file mode 100644
index b839707..0000000
--- a/XP/xp/guidances/examples/test-ideas_catalog_examples.xmi
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-HkQclhewSbkFSomo1l_LBg"
-    name="test-ideas_catalog_examples,6.216049252606417E-306" guid="-HkQclhewSbkFSomo1l_LBg"
-    changeDate="2005-12-06T05:48:05.726-0500">
-  <mainDescription>&lt;a id=&quot;XE_test_idea__example_catalogs_of&quot; name=&quot;XE_test_idea__example_catalogs_of&quot;>&lt;/a>&lt;a
-id=&quot;XE_test_ideas_catalog__examples_of&quot; name=&quot;XE_test_ideas_catalog__examples_of&quot;>&lt;/a>HTML:&amp;nbsp;&lt;a
-href=&quot;resources/tstidactl.htm&quot; target=&quot;_blank&quot;>tstidactl.htm&lt;/a></mainDescription>
-</org.eclipse.epf.uma:GuidanceDescription>
diff --git a/XP/xp/guidances/guidelines/equivalence_class_analysis.xmi b/XP/xp/guidances/guidelines/equivalence_class_analysis.xmi
deleted file mode 100644
index ec7007a..0000000
--- a/XP/xp/guidances/guidelines/equivalence_class_analysis.xmi
+++ /dev/null
@@ -1,301 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-c7t_eJuo1g5hpWTYTCItig"
-    name="equivalence_class_analysis,1.8491691792142673E-308" guid="-c7t_eJuo1g5hpWTYTCItig">
-  <mainDescription>&lt;a id=&quot;XE_runtime_observation_amp;_analysis__concept&quot; name=&quot;XE_runtime_observation_&amp;amp;_analysis__concept&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Except for the most trivial of software applications, it is generally considered impossible to test all the input&#xD;
-    combinations logically feasible for a software system. Therefore, selecting a good subset that has the highest&#xD;
-    probability of finding the most errors, is a worthwhile and important task for testers to undertake.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Testing based on equivalence class analysis (synonyms: &lt;i>equivalence partitioning&lt;/i>, &lt;i>domain analysis&lt;/i>) is a&#xD;
-    form of black-box test analysis that attempts to reduce the total number of potential tests to a minimal set of tests&#xD;
-    that will uncover as many errors as possible [&lt;a href=&quot;../../process/referenc.htm#MYE79&quot;>MYE79&lt;/a>]. It is a method&#xD;
-    that partitions the set of inputs and outputs into a finite number of &lt;i>&lt;a href=&quot;./../../../glossary/glossary.htm#equivalence_class&quot;>equivalence classes&lt;/a>&lt;/i> that enable the selection of a&#xD;
-    representative test value for each class. The test that results from the representative value for a class is said to be&#xD;
-    &quot;equivalent&quot; to the other values in the same class. If no errors were found in the test of the representative value, it&#xD;
-    is reasoned that all the other &quot;equivalent&quot; values wouldn't identify any errors either.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The power of Equivalence Classes lies in their ability to guide the tester using a sampling strategy to reduce the&#xD;
-    combinatorial explosion of potentially necessary tests. The technique provides a logical bases by which a subset of the&#xD;
-    total conceivable number of tests can be selected. Here are some categories of problem areas for large numbers of tests&#xD;
-    that can be benefit from the consideration of equivalence classes:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Combinations of independent variables&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Dependent variables based on hierarchical relationship&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Dependent variables based on temporal relationship&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Clustered relationships based on market exemplars&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Complex relationships that can be modeled&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Strategies&quot; name=&quot;Strategies&quot;>Strategies&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    There are different strategies and techniques that can be used in equivalence partition testing. Here are some&#xD;
-    examples:&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;EquivalenceClassPartition&quot; name=&quot;EquivalenceClassPartition&quot;>Equivalence Class Partition&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Equivalence partition theory as proposed by Glenford Myers [&lt;a href=&quot;../../process/referenc.htm#MYE79&quot;>MYE79&lt;/a>].&#xD;
-    attempts to reduce the total number of test cases necessary by partitioning the input conditions into a finite number&#xD;
-    of equivalence classes. Two types of equivalence classes are classified: the set of valid inputs to the program is&#xD;
-    regarded as the &lt;i>valid equivalence class&lt;/i>, and all other inputs are included in the &lt;i>invalid equivalence&#xD;
-    class&lt;/i>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Here are a set of guidelines to identify equivalence classes:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        If an input condition specifies a range of values (such as, program &quot;accepts values from 10 to 100&quot;), then one&#xD;
-        valid equivalence class (from 10 to 100) and two invalid equivalence classes are identified (less than 10 and&#xD;
-        greater than 100).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If an input condition specifies a set of values (such as, &quot;cloth can be many colors: RED, WHITE, BLACK, GREEN,&#xD;
-        BROWN &quot;), then one valid equivalence class (the valid values) and one invalid equivalence class (all the other&#xD;
-        invalid values) are identified. Each value of the valid equivalence class should be handled distinctly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the input condition is specified as a &quot;must be&quot; situation (such as, &quot;the input string must be upper case&quot;), then&#xD;
-        one valid equivalence class (uppercase characters) and one invalid equivalence (all the other input except&#xD;
-        uppercase characters) class are identified.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Everything finished &quot;long&quot; before the task is done is an equivalence class. Everything done within some short time&#xD;
-        interval before the program is finished is another class. Everything done just before program starts another&#xD;
-        operation is another class.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If a program is specified to work with memory size from 64M to 256M. Then this size range is an equivalence class.&#xD;
-        Any other memory size, which is greater than 256M or less than 64M, can be accepted.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The partition of output event lies in the inputs of the program. Even though different input equivalence classes&#xD;
-        could have same type of output event, you should still treat the input equivalence classes distinctly.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;BoundaryValueAnalysis&quot; name=&quot;BoundaryValueAnalysis&quot;>Boundary Value Analysis&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    In each of the equivalence classes, the boundary conditions are considered to have a higher rate of success identifying&#xD;
-    resulting failures than non-boundary conditions. Boundary conditions are the values at, immediately above or below the&#xD;
-    boundary or &quot;edges&quot; of each equivalence classes.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Tests that result from boundary conditions make use of values at the minimum (min), just above minimum (min+), just&#xD;
-    below the maximum (max-), and the maximum (max) of the range that needs be tested. When testing boundary values,&#xD;
-    testers choose a few test cases for each equivalence class. For the relatively small sample of tests the likelihood of&#xD;
-    failure discovery is high. The Tester is given some relief from the burden of testing a huge population of cases in an&#xD;
-    equivalent class of values that are unlikely to produce large differences in testing results.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Some recommendations when choosing boundary values:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        For a floating variable, if the valid condition of it is from &lt;code>-1.0&lt;/code> to &lt;code>1.0&lt;/code>, test&#xD;
-        &lt;code>-1.0&lt;/code>, &lt;code>1.0&lt;/code>, &lt;code>-1.001&lt;/code> and &lt;code>1.001&lt;/code>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        For an integer, if the valid range of input is &lt;code>10&lt;/code> to &lt;code>100&lt;/code>, test &lt;code>9&lt;/code>,&#xD;
-        &lt;code>10&lt;/code>, &lt;code>100&lt;/code>, &lt;code>101&lt;/code>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If a program expects an uppercase letter, test the boundary A and Z. Test &lt;code>@&lt;/code> and &lt;code>[&lt;/code> too,&#xD;
-        because in ASCII code, &lt;code>@&lt;/code> is just below A and &lt;code>[&lt;/code> is just beyond the Z.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the input or output of a program is an ordered set, pay attention on the first and the last element of the set.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the sum of the inputs must be a specific number (&lt;code>n&lt;/code>), test the program where the sum is&#xD;
-        &lt;code>n-1&lt;/code>, &lt;code>n&lt;/code>, or &lt;code>n+1&lt;/code>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the program accepts a list, test values in the list. All the other values are invalid.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        When reading from or writing to a file, check the first and last characters in the file.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The smallest denomination of money is one cent or equivalent. If the program accepts a specific range, from a to b,&#xD;
-        test a &lt;code>-0.01&lt;/code> and b &lt;code>+0.01&lt;/code>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        For a variable with multiple ranges, each range is an equivalence class. If the sub-ranges are not overlapped, test&#xD;
-        the values on the boundaries, beyond the upper boundary, and below the lower boundary.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;SpecialValues&quot; name=&quot;SpecialValues&quot;>Special Values&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    After attempting the two previous boundary analysis strategies, an experienced tester will observe the program inputs&#xD;
-    to discovery any &quot;special value&quot; cases, which are again potentially rich sources for uncovering software failures. Here&#xD;
-    are some examples:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        For an integer type, zero should always be tested if it is in the valid equivalence class.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        When testing time (hour, minute and second), 59 and 0 should always be tested as the upper and lower bound for each&#xD;
-        field, no matter what constraint the input variable has. Thus, except the boundary values of the input, -1, 0, 59&#xD;
-        and 60 should always be test cases.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        When testing date (year, month and day), several test cases, such as number of days in a specific month, the number&#xD;
-        of days in February in leap year, the number of days in the non-leap year, should be involved.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;CategoryPartition&quot; name=&quot;CategoryPartition&quot;>&quot;Category-Partition&quot; Method&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    &lt;a href=&quot;#OstrandBalcer&quot;>Ostrand and Balcer&lt;/a> [16] developed a partition method that helps testers to analyze the&#xD;
-    system specification, write test scripts, and manage them. Different from common strategies that mostly focuses on the&#xD;
-    code, their method is based on the specification and design information too.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The main benefit of this method is its ability to expose errors before the code has been written because the input&#xD;
-    source is the specification and the tests result from the analysis of that specification. Faults in the specifications&#xD;
-    will be discovered early, often well before they are implemented in code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The strategy for the &quot;category-partition&quot; method follows:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Analyze the specification: decompose the system functionality into functional units, which can be tested&#xD;
-        independently both by specification and implementation.&lt;br />&#xD;
-         From there;&lt;br />&#xD;
-        &lt;br />&#xD;
-         &#xD;
-        &lt;ol>&#xD;
-            &lt;li>&#xD;
-                Identify the parameters and the environment conditions that will influence the function's execution.&#xD;
-                Parameters are the inputs of the function unit. Environment conditions are the system states, which will&#xD;
-                effect the execution of the function unit.&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                Identify the characteristics of the parameters and the environment conditions.&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                Classify the characteristics into categories, which effect the behavior of the system.&lt;br />&#xD;
-                &lt;br />&#xD;
-            &lt;/li>&#xD;
-        &lt;/ol>Ambiguous, contradictory, and missing descriptions of behavior will be discovered in this stage.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Partition the categories into choices: Choices are the different possible situations that might occur and not be&#xD;
-        expected. They represent the same type of information in a category.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Determine the relations and the constraints among choices. The choices in different categories influence with each&#xD;
-        other, which also have an influence of building the test suite. Constraints are added to eliminate the&#xD;
-        contradiction of between choices of different parameters and environments.&lt;br />&#xD;
-        &lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Design test cases according to the categories, choices and constraint information. If a choice causes an error,&#xD;
-        don't combine it with other choices to create the test case. If a choice can be &quot;adequately&quot; tested by one single&#xD;
-        test, it is either the representative of the choice or a special value.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;FurtherReading&quot; name=&quot;FurtherReading&quot;>Further Reading and References&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        Glenford J. Myers, The Art of Software Testing, John Wiley &amp;amp; Sons, Inc., New York, 1979.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        White L. J. and Cohen E. I., A domain strategy for computer program testing, IEEE Transaction on Software&#xD;
-        Engineering, Vol. SE-6, No. 3, 1980.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Lori A. Clarke, Johnhette Hassell, and Debra J Richardson, A Close Look at Domain Testing, IEEE Transaction on&#xD;
-        Software Engineering, 8-4, 1992.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Steven J. Zeil, Faten H. Afifi and Lee J. White, Detection of Linear Detection via Domain Testing, ACM Transaction&#xD;
-        on Software Engineering and Methodology, 1-4, 1992.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        BingHiang Jeng, Elaine J. Weyuker, A Simplified Domain-Testing Strategy, ACM Transaction on Software Engineering&#xD;
-        and Methodology, 3-3, 1994.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Paul C. Jorgensen, Software Testing - A Craftsman's Approach, CRC Press LLC, 1995.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Martin R. Woodward and Zuhoor A. Al-khanjari, Testability, fault, and the domain-to-range ratio: An eternal&#xD;
-        triangle, ACM Press New York, NY, 2000.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Dick Hamlet, On subdomains: Testing, profiles, and components, SIGSOFT: ACM Special Interest Group on Software&#xD;
-        Engineering, 71-16, 2000.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cem Kaner, James Bach, and Bret Pettichord, Lessons learned in Software Testing, John Wiley &amp;amp; Sons, Inc., New&#xD;
-        York, 2002.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Andy Podgurski and Charles Yang, Partition Testing, Stratified Sampling, and Cluster Analysis, SIGSOFT: ACM Special&#xD;
-        Interest Group on Software Engineering, 18-5, 1993.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Debra J. Richardson and Lori A. Clarke, A partition analysis method to increase program reliability, SIGSOFT: ACM&#xD;
-        Special Interest Group on Software Engineering, 1981.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Lori A. Clarke, Johnette Hassell, and Debra J Richardson, A system to generate test data and symbolically execute&#xD;
-        programs, IEEE Transaction on Software Engineering, SE-2, 1976.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Boris Beizer, Black-Box Testing - Techniques for Functional testing of Software and System, John Wiley &amp;amp; Sons,&#xD;
-        Inc., 1995.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Steven J. Zeil, Faten H. Afifi and Lee J. White, Testing for Liner Errors in Nonlinear computer programs, ACM&#xD;
-        Transaction on Software Engineering and Methodology, 1-4, 1992.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        William E. Howden, Functional Program Testing, IEEE Transactions on Software Engineering, Vol. SE-6, No. 2, 1980.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a id=&quot;OstrandBalcer&quot; name=&quot;OstrandBalcer&quot;>Thomas J. Ostrand and Marc J. Balcer&lt;/a>, The Category-Partition method&#xD;
-        for specifying and generating functional tests, Communications of ACM 31, 1988.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cem Kaner, Jack Falk and Hung Quoc Nguyen, Testing Computer Software, John Wiley &amp;amp; Sons, Inc., 1999.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    &amp;nbsp;&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/open_workspace.xmi b/XP/xp/guidances/guidelines/open_workspace.xmi
deleted file mode 100644
index 2da4e84..0000000
--- a/XP/xp/guidances/guidelines/open_workspace.xmi
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-mq7aEjHjqWoRd6aWFK_Dwg"
-    name="open_workspace,3.269440809144354E-305" guid="-mq7aEjHjqWoRd6aWFK_Dwg" changeDate="2005-12-06T07:26:31.188-0500">
-  <mainDescription>&lt;a id=&quot;XE_xp__open_workspace&quot; name=&quot;XE_xp__open_workspace&quot;>&lt;/a>&lt;a id=&quot;XE_workspace__in_xp&quot; name=&quot;XE_workspace__in_xp&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    XP's open workspace borrows from the concept of the war room. Studies have shown that teams working tightly together in&#xD;
-    close proximity achieve much greater productivity than when they are apart in their own separate offices or cubicles.&#xD;
-    In XP, all members of the team, including the customer, sit in the open workspace.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The ideal XP programming environment is an open workspace filled with tables and room for pairs of people to work&#xD;
-    together and maintain contact with their peers.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The open workspace should foster an environment in which programmers can focus on their problems but still hear enough&#xD;
-    to jump in other conversations if they can help. It is an environment that emphasizes teamwork.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In many places in the world, businesses have &quot;cubicle cultures.&quot; In the interests of privacy and enhanced&#xD;
-    concentration, programmers often spend most of their time in their own workspace that is separated from their peers. It&#xD;
-    acts as a little capsule of solitude that lets them work in &quot;peace.&quot; While everyone needs quiet time and some privacy,&#xD;
-    the bulk of software development work is best done collaboratively.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When people go into their small workspaces, they are out of the flow and exchange of information that keeps a project&#xD;
-    vigorous.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In XP, team members should have some private space. They need a place where they can use a phone privately or browse&#xD;
-    email, but software development should be done in an open workspace.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-     &amp;nbsp;&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/pair_programming.xmi b/XP/xp/guidances/guidelines/pair_programming.xmi
deleted file mode 100644
index b2b0151..0000000
--- a/XP/xp/guidances/guidelines/pair_programming.xmi
+++ /dev/null
@@ -1,345 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-nfbUMyTTqEbCp3HDn-NjOA"
-    name="pair_programming,3.85153041801319E-307" guid="-nfbUMyTTqEbCp3HDn-NjOA" changeDate="2006-11-09T19:44:32.495-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__pair_programming&quot; name=&quot;XE_xp__pair_programming&quot;>&lt;/a>&lt;a id=&quot;XE_pair_programming__in_xp&quot; name=&quot;XE_pair_programming__in_xp&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WhatIsPair&quot;>What is pair programming?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WhyPair&quot;>Why Pair Program?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#FormingPairs&quot;>How Pairs Form&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#ChangingPairs&quot;>When to Change Partners&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WorkingAlone&quot;>Can't I work alone?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Productivity&quot;>Doesn't this cut my productivity in half?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Hygiene&quot;>Hygiene and Etiquette Issues&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Disabilities&quot;>Disabilities and Physical Incompatibilities&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Distributed&quot;>Our Team is Geographically Distributed&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#BossHog&quot;>My Pair Partner Hogs the Keyboard and Ignores Me&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#NoSolution&quot;>My Pair Partner and I Cannot Agree on a Solution&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Language&quot;>My Partner and I have different First Languages&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Schedule&quot;>How do we deal with different personal schedules?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#OddNumber&quot;>What if we have an odd number of programmers?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Pathologies&quot;>Pairing Pathologies&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhatIsPair&quot; name=&quot;WhatIsPair&quot;>What is pair programming?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Pair programming is a programming discipline in which all production code is written by pairs of programmers. Each pair&#xD;
-    works together at a single workstation. They share the keyboard, mouse, and monitor.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The two programmers work closely together. The keyboard moves back and forth between them frequently. Both eyes are&#xD;
-    locked on the screen. Both minds are immersed in the code. The code is the product of both brains, not just one. Both&#xD;
-    programmers are equally engaged in writing the code, and neither can claim authorship.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pairs are short lived. A good pairing time is four hours. Sometimes a pair may last for a day. Very rarely they might&#xD;
-    last for a week. Instead, the pairs form for a few hours and then break up and reform with different partners.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    During the iteration-planning meeting, each programmer signed up for tasks to complete by the end of the iteration. The&#xD;
-    programmer remains responsible for those tasks. Half of the pairs he works in will be working on his tasks, and half&#xD;
-    will be working on other's tasks.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhyPair&quot; name=&quot;WhyPair&quot;>Why Pair Program?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Pair programming is a form of continuous code review and usually replaces the practice of code reviews and code&#xD;
-    walkthroughs. The idea is that if code reviews are a good thing, then continuously reviewing the code is better.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Even though every task is the responsibility of an individual programmer, many other programmers will have worked on&#xD;
-    that task with the responsible programmer. Thus, knowledge of the system spreads through the team, and no single&#xD;
-    programmer can claim ownership of any part of the code. It is likely that any programmer on the team will be able to&#xD;
-    work in any module in the system.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Sometimes you get stuck on ideas and can't see past them. Your pair partner can often provide the necessary nudge to&#xD;
-    get you to see a different point of view.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When new people join the team, they learn by pairing. Over the course of one iteration, they will pair with everybody&#xD;
-    on the team and see every part of the system currently being worked upon. This is an excellent way to train a new team&#xD;
-    member.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;FormingPairs&quot; name=&quot;FormingPairs&quot;>How Pairs Form&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    You come to work in the morning and attend the stand-up meeting. Then you walk up to someone and ask him if he'll help&#xD;
-    you. Or perhaps someone will walk up to you and ask you to help him. The rule is: when asked, you must say yes.&#xD;
-    However, you can negotiate schedule.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pairs form naturally. Managers do not get involved with selecting pairs. Pairing is not scheduled or controlled in any&#xD;
-    formal manner. The coach or another team member or the team as a whole may notice that certain team members have&#xD;
-    adopted pathological pairing activities and may intervene.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;ChangingPairs&quot; name=&quot;ChangingPairs&quot;>When to Change Partners&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        When you get tired of your current partner.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        When you think your current partner is too tired or distracted to help.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        When the two of you get stuck on a concept.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Lunchtime.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Quitting time.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Or generally whenever you feel like it.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WorkingAlone&quot; name=&quot;WorkingAlone&quot;>Can't I work alone?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Yes, of course. You just can't check in production code that you've written on your own.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Often we need to hide away somewhere and think some issue through without someone else breathing down our neck or&#xD;
-    distracting us with news of his sister-in-law's hypoglycemia. It is perfectly OK to hide away, and every programmer&#xD;
-    should have a private place to go.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When alone, it is perfectly OK to write some code to help you think through a program. However, in an XP team, you are&#xD;
-    not allowed to check that code into the production environment. Instead, you can bring that code to your next pairing&#xD;
-    session and walk through it with your partner. Your partner must be given every right to modify, delete, or otherwise&#xD;
-    refactor it. You should help your partner become comfortable with the code and keep an open mind to every refactoring.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Often the best approach is for the two of you to review the code you wrote and then rewrite it as a pair. Remember, the&#xD;
-    value of a piece of code is not actually in that code. Rather, it is in the neurons and synapses of the programmers. It&#xD;
-    is always much easier to write a module the second time, and the result is always better. So, if you program alone,&#xD;
-    think of the code as a rough draft that you will throw away and rewrite with your pair partner.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Productivity&quot; name=&quot;Productivity&quot;>Doesn't this cut my productivity in half?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Apparently not. Teams that work in pairs do not report significant loss of productivity. Indeed, they tend to report&#xD;
-    that they are more productive than when they worked alone.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This anecdotal evidence is backed up by some research studies. Some of those studies can be found at &lt;a href=&quot;http://www.pairprogramming.com&quot; target=&quot;_blank&quot;>www.pairprogramming.com&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    One might explain these results by viewing the programmers as two runners pacing each other. When one gets tired or&#xD;
-    defocused, the other provides the motivation and inspiration to keep going. Also, the pair spends less time going down&#xD;
-    dead ends and being blocked on ideas.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    One thing seems clear. Typing is not the critical element. If it were, then pairing would certainly cut productivity in&#xD;
-    half. It may be that pairing allows the two to think twice as quickly.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Hygiene&quot; name=&quot;Hygiene&quot;>Hygiene and Etiquette Issues&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Hygiene and etiquette issues are bad breath, body odor, post-nasal drip, colds, rude noises, gas, motor mouths,&#xD;
-    telephone-jockeys, day-traders, hypochondriacs, etc. Humans are a dirty species. Amazingly, we are usually able to get&#xD;
-    along with each other's nasty little idiosyncrasies, but there are times when one person has certain habits that are&#xD;
-    over the top. How do you pair with such a person?&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Grin and bear it, it'll only last for a couple of hours.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Bring breath mints.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Leave deodorant or gelucel on his desk.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Write anonymous letters to the offender.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Disconnect the phone.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Complain to your boss.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        But, by far, the best advice is to tell your pair partner outright what bothers you.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Disabilities&quot; name=&quot;Disabilities&quot;>Disabilities and Physical Incompatibilities&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Left handed vs. right handed mouse users.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some people need special keyboards to control RSI or OOS.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some people use Dvorak keyboards.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some people need to special screens to be able to see.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Some people prefer a trackball to a mouse.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Problems like these are pretty easy to overcome. Equip certain workstations with two keyboards, two mice, two monitors,&#xD;
-    etc. Pairs don't have to work at the exact same keyboard, mouse, or monitor.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In fact, pairs don't really have to use the same workstation. They could use two completely independent workstations&#xD;
-    sitting next to each other, connected with NetMeeting or some other kind of collaboration software.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Distributed&quot; name=&quot;Distributed&quot;>Our Team is Geographically Distributed&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    At best, pairing over geographical boundaries is difficult. The best approach is to split the project up into&#xD;
-    sub-projects that can be done separately at each geographic location. That way the programmers at each location can&#xD;
-    pair with each other and won't have to interact as much with the remote programmers.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Sometimes the project cannot be easily split amongst all the geographic sites. In that case, you can use NetMeeting or&#xD;
-    other collaborative software to facilitate remote pairing. Remote pairing is possible but not as effective as local&#xD;
-    pairing. When you pair locally, you have the advantage of body language, eye contact, and all the other nuances of&#xD;
-    person-to-person communication to help you. When you pair remotely, you are forced to use a sub-optimal communication&#xD;
-    channel.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;BossHog&quot; name=&quot;BossHog&quot;>My Pair Partner Hogs the Keyboard and Ignores Me&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Perhaps you are outrunning him. Try to go a little slower and get him engaged.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he's got personal problems that are distracting him. Suggest that this might not be a good time to pair.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he thinks you aren't listening to his ideas. Make sure you talk though all ideas with him, and make sure he&#xD;
-        has a chance to try as many of his ideas as you get to try of yours.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he thinks you've been hogging the keyboard. Push the keyboard in his direction and ask him to drive.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he is just not ever going to want to pair program, no matter what. For the moment, the best you can do is&#xD;
-        dissolve the pair and choose another partner. If the behavior continues, the team will have to decide what to do&#xD;
-        about it. Perhaps the team will ask him to write configuration scripts or something.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;NoSolution&quot; name=&quot;NoSolution&quot;>My Pair Partner and I Cannot Agree on a Solution&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Gently ask him if you can drive for a while.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Gently ask him to describe what he is doing.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he needs time to think alone. Suggest this to him and dissolve the pair.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Perhaps he just can't pair program. Dissolve the pair and choose another partner. If the behavior continues, the&#xD;
-        team will have to figure out what to do.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Language&quot; name=&quot;Language&quot;>My Partner and I have different First Languages&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Your only choice is to slow down and work hard to communicate. You might understand him better by writing strategic&#xD;
-    notes than by talking. Work hard on helping him with pronunciation and grammar. Work hard at understanding his accent&#xD;
-    and usage. It will take time, but the situation will improve. Do not give up!&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Schedule&quot; name=&quot;Schedule&quot;>How do we deal with different personal schedules?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Some people come in early; some people stay late. How can you find pair partners if everybody has a different working&#xD;
-    schedule?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Pairs only last for a few hours. All you need is enough overlap time for pairs to form and work effectively. Most&#xD;
-    personal schedules allow this.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Team members may have to get creative with their scheduling to accommodate each other. Some folks may have to change&#xD;
-    their schedules to make sure that others have sufficient pairing opportunity. For example, if Bill can only work in the&#xD;
-    evenings, the team may decide to adopt a rotating schedule for others who can come in late one day and pair with Bill.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;OddNumber&quot; name=&quot;OddNumber&quot;>What if we have an odd number of programmers?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Remember that pairs break up and reform frequently. The odd man out will not have to wait long before someone becomes&#xD;
-    available to pair with. In the meantime, he can read his email or a trade journal or just read through some code that&#xD;
-    he is unfamiliar with.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Pathologies&quot; name=&quot;Pathologies&quot;>Pairing Pathologies&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Joined at the hip. Sometimes two people decide to pair exclusively. This is not a good idea. They are missing the&#xD;
-        opportunity to get the whole team's input and are isolating themselves into one part of the system. The team should&#xD;
-        break them up by suggesting that they pair with others.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The blind leading the blind. It's not a good idea for new members of the team to pair too often with other new&#xD;
-        members of the team. Newbies should pair most often with team members with more seniority.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/planning_game.xmi b/XP/xp/guidances/guidelines/planning_game.xmi
deleted file mode 100644
index b5570c9..0000000
--- a/XP/xp/guidances/guidelines/planning_game.xmi
+++ /dev/null
@@ -1,277 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-85F1Tegv16godTFTKyPdww"
-    name="planning_game,6.7335956461328426E-307" guid="-85F1Tegv16godTFTKyPdww" changeDate="2006-11-09T18:30:46.086-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__planning_game&quot; name=&quot;XE_xp__planning_game&quot;>&lt;/a>&lt;a id=&quot;XE_planning__in_xp&quot; name=&quot;XE_planning__in_xp&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Overview&quot;>XP Planning Overview&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Iterations&quot;>Iterations&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Stories&quot;>User Stories&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#ReleasePlanning&quot;>Release Planning&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#IterationPlanning&quot;>Iteration Planning&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#TaskPlanning&quot;>Task Planning&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Recovery&quot;>Recovery&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Feedback&quot;>Feedback&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#AcceptanceTests&quot;>Acceptance Tests&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#First&quot;>How do we create budgets for the first iteration and release?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Velocity&quot;>How do changes in the team affect velocity?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Overview&quot; name=&quot;Overview&quot;>XP Planning Overview&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    An XP project is broken down into a set of two-week iterations. Each iteration follows the next in a linear sequence.&#xD;
-    Executable code that passes unit tests and acceptance tests is the core deliverable beginning with the first iteration.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Planning an XP project is a continuous activity. There is no master plan that is decided upon at the start of the&#xD;
-    project and that is followed until the end. An XP project is planned in detail, one iteration at a time. The plan for&#xD;
-    an iteration is created at the beginning of that iteration. The plan is then checked and adjusted continuously&#xD;
-    throughout the iteration.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Iterations are grouped into larger milestones called releases. A typical release spans two to three months. At the&#xD;
-    beginning, the release plan is created. This is a very rough plan that tentatively describes the features that the&#xD;
-    project team believes can and should be implemented during that time. The release plan is continuously updated as each&#xD;
-    iteration within the release provides more data.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The overriding principle of XP planning is feedback. Every iteration provides data about the velocity of the team. That&#xD;
-    data is used to continuously calibrate the plan. Measuring the results of each iteration generates a continuous stream&#xD;
-    of data. The team and its managers use that data to make decisions and take actions that will improve the project&#xD;
-    outcome.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Iterations&quot; name=&quot;Iterations&quot;>Iterations&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    An iteration is simply a span of time in which the team implements a set of features. In an XP project, this time is&#xD;
-    typically two weeks and should never be longer than four. The team should decide how long its iterations should be and&#xD;
-    then stick to that time. It is not wise to continuously change the duration of the iterations because that makes&#xD;
-    determination of a team's velocity more complicated.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When an iteration is over, it is over, irrespective of how much the iteration accomplished. It is never wise to extend&#xD;
-    an iteration in order to provide more time to finish the planned deliverables. The ability to plan an XP project&#xD;
-    depends strongly on fixed-length iterations of consistent duration and ruthless termination of each iteration&#xD;
-    irrespective of whether the planned tasks are complete to allow the velocity to be measured.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Stories&quot; name=&quot;Stories&quot;>User Stories&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The content or scope of an XP project is described in user stories. User stories are very simple descriptions of the&#xD;
-    features to be developed. Each story is typically written on a single index card and contains virtually no detail. The&#xD;
-    card contains little more than the name of the feature.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Stories are the tokens of planning. When we create a release plan or an iteration plan, we select the stories we want&#xD;
-    in that release or iteration and schedule them. Once a story is scheduled for an iteration, two things must happen in&#xD;
-    that iteration. First, the details of the story must be fleshed out, resulting in the creation of appropriate&#xD;
-    acceptance tests. Second, the story must be implemented so that it passes those acceptance tests.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In order to choose which stories to schedule for an iteration, we need to know two things: how important is the story&#xD;
-    and how long will the story take to implement. The first comes from the judgment of the customers/stakeholders, and the&#xD;
-    second comes from the judgment of the developers.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Developers estimate the stories. The estimate for a user story should neither be too big nor too small. Those that are&#xD;
-    too big should be split into multiple stories, and those that are too small should be merged. A good guideline is to&#xD;
-    keep the size of a user story between two days and a week of team effort. The customer/stakeholders and the developers&#xD;
-    will negotiate over the stories, splitting and merging as necessary, until they are appropriately sized.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Estimates are written on the story cards as numbers. We refer to these numbers as story points. It doesn't matter what&#xD;
-    units were originally used to create the estimates. It might have been man-days or man weeks or something else. Once&#xD;
-    the estimates are made, we forget the units and simply refer to them as story points.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;ReleasePlanning&quot; name=&quot;ReleasePlanning&quot;>Release Planning&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The customer/stakeholders know what features they want completed for the next release. The developers know how much&#xD;
-    they can get done in the next release. The developers give the customer/stakeholders a budget for the release based&#xD;
-    upon how much the developers got done in the previous release. If the developers finished 720 story points in the last&#xD;
-    release, then it is safe to say that they'll finish about 720 in this release.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The customer/stakeholders choose stories that add up to this number. They choose the stories that are most critical and&#xD;
-    have the most business value. They lay them out in roughly the order in which they'd like to see them implemented. This&#xD;
-    selection and ordering of the stories becomes the release plan.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Any stakeholder can look at the release plan and see about when a particular feature will be implemented. They know&#xD;
-    that, if the feature is listed early, then it is likely to be completed. If a story is listed late in the plan, then&#xD;
-    the risk is higher. The release plan is not static. Any time priorities change, the customer/stakeholders can change&#xD;
-    the plan by reordering stories, adding new stories, removing existing stories, and so on. Thus, the release plan is&#xD;
-    always changing in response to the changing business.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;IterationPlanning&quot; name=&quot;IterationPlanning&quot;>Iteration Planning&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    At the beginning of each iteration, we take a half day to plan that iteration. The developers supply the&#xD;
-    customer/stakeholders with a budget for the iteration based upon what they finished in the last iteration. If they got&#xD;
-    68 story points done in the last iteration, then it is safe to plan for 68 in this iteration.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The customer/stakeholders select the stories from the release plan that they feel are most important for this&#xD;
-    iteration. The sum of the selected story points cannot exceed the budget given by the developers.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Though the customer/stakeholders can suggest an ordering for the stories in an iteration, the developers are not bound&#xD;
-    to that ordering. The developers are free to rearrange the stories within the iteration in any manner that makes sense.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Once the iteration has begun, the customer/stakeholders cannot make arbitrary changes to the stories in that iteration.&#xD;
-    Any change has to be carefully negotiated with the developers. If the customer/stakeholders want to remove a story and&#xD;
-    replace it with another, they must check with the developers to see if that will fit in the iteration. If the&#xD;
-    developers agree, then the change can be made. If the developers do not agree then the customer/stakeholder may decide&#xD;
-    to wait until the next iteration or may decide to completely abort the current iteration and plan a new iteration.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TaskPlanning&quot; name=&quot;TaskPlanning&quot;>Task Planning&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Once the stories have been selected for the iteration, then the developers break the stories down into programming&#xD;
-    tasks. The tasks are recorded on a whiteboard or a flip chart.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Tasks are simple units of work that accomplish a particular goal within a story. One task might be to set up the&#xD;
-    database schema for a story. Another might be to create the HTML pages for a story. Still another task might be to&#xD;
-    write a servlet that checks passwords. A task should be on the order of a man-day of effort.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The breakdown of stories into tasks is a design activity. The developers consider how the stories will be developed and&#xD;
-    whether or not there are any design options that allow the stories to share tasks.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Once the list of tasks is complete, the developers take turns signing up for the tasks. Each developer puts his or her&#xD;
-    initials next to a task and then estimates that task. The estimate is typically in hours.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Each developer has a budget of hours that he keeps in the back of his head. This budget represents the number of hours&#xD;
-    he believes he will have for the development of his tasks in this iteration. Each time a developer signs up for a task,&#xD;
-    he deducts his estimate from that budget. When a developer's budget goes to zero, he stops signing up for tasks.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Ideally, at the end of sign up, all the tasks would have initials, and every developer's budget would be at zero. But&#xD;
-    this is seldom the case. There are two much more likely scenarios:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Everybody's budget is at zero, and there are tasks left. In this case, the developers need to work together to find&#xD;
-        a better division of tasks. If a GUI guy signed up for a database task just to get some new experience, then&#xD;
-        perhaps he should swap with someone who could do that task more quickly. If after such trading there are still&#xD;
-        tasks left over, then the team has to ask the customer/stakeholder to remove some stories or tasks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The tasks are all signed up, but some people still have budget left. In this case, the team needs to ask the&#xD;
-        customer/stakeholders to give them a few more stories.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Recovery&quot; name=&quot;Recovery&quot;>Recovery&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    On the day that marks the halfway point of the iteration, the team has another short meeting. Half the tasks should be&#xD;
-    complete. More importantly, half the stories should be complete. More precisely, a set of stories whose points add up&#xD;
-    to half the iteration budget should be complete. The nightmare we are trying to avoid is that the iteration ends with&#xD;
-    all the stories 95% complete. We'd rather that 95% of the stories be complete.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If half the stories are not complete, then the team asks the customer to remove some stories from the iteration. This&#xD;
-    same kind of check is made towards the end of the iteration. The team assesses how much they have working and how much&#xD;
-    is left. If it appears that they may not complete all the promised stories, then they ask the customer/stakeholders to&#xD;
-    remove some.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    By the same token, if more than half the stories are complete by the midpoint, the developers ask the&#xD;
-    customer/stakeholder for more work. Likewise, as the iteration gets close to the end, any idle developers should help&#xD;
-    others complete their tasks. If it appears that all tasks will be completed early, the developers should ask the&#xD;
-    customer/stakeholders for more stories.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Feedback&quot; name=&quot;Feedback&quot;>Feedback&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The number of story points completed in the previous iteration is the team's current velocity. This velocity is used as&#xD;
-    the budget for the next iteration. Thus we only commit to doing what we know we did in the last iteration.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The same is true for releases. When we plan the next release, we use the number of story points we finished in the&#xD;
-    previous release.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Individual developers use the same technique for their task budgets. If they got 22 hours worth of tasks finished in&#xD;
-    the last iteration, they should only sign up for 22 hours of tasks this time.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;AcceptanceTests&quot; name=&quot;AcceptanceTests&quot;>Acceptance Tests&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    After the iteration-planning meeting is over, the customer/stakeholders must provide the developers with acceptance&#xD;
-    tests for the stories that were selected for the iteration. Typically, these tests will be created with the help of the&#xD;
-    Q/A or testing groups. These tests specify exactly to the developers what the stories being implemented must do, so&#xD;
-    they must be given to the developers as early as possible.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Some XP teams manage to write their acceptance tests an iteration early. The Q/A or testing group works with the&#xD;
-    customer/stakeholders during the current iteration to determine which stories are most likely to be selected for the&#xD;
-    next iteration. Together, they define the set of acceptance tests that will be given to the developers during the next&#xD;
-    iteration planning meeting. By planning ahead like this, the developers can have the acceptance tests for an&#xD;
-    iteration's stories immediately.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;First&quot; name=&quot;First&quot;>How do we create budgets for the first iteration and release?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    If you have history from other projects, then make use of that. Otherwise, you have to guess. A good way to guess is to&#xD;
-    spend a day or two trying to implement one or two stories. This should give you an inkling of your velocity.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Velocity&quot; name=&quot;Velocity&quot;>How do changes in the team affect velocity?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    If the change is small, then it's probably best to allow the velocity to change by itself. If you got 52 story points&#xD;
-    done last iteration, but this iteration you have a new team member, it's probably best to keep your velocity at 52 and&#xD;
-    commit do doing just 52 story points in the next iteration. At the end of that iteration, you may find that you've done&#xD;
-    a little more than 52, and you can adjust your velocity accordingly.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    On the other hand, if 30% of the team is going on vacation for the next iteration, then it's probably wise to reduce&#xD;
-    your velocity accordingly.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-     &amp;nbsp;&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/refactoring.xmi b/XP/xp/guidances/guidelines/refactoring.xmi
deleted file mode 100644
index db5ba01..0000000
--- a/XP/xp/guidances/guidelines/refactoring.xmi
+++ /dev/null
@@ -1,664 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-dbA7zKOJY5WPZyLXErA9vw"
-    name="refactoring,8.137126904637637E-306" guid="-dbA7zKOJY5WPZyLXErA9vw" changeDate="2006-11-09T19:45:22.634-0500"
-    version="1.0.0">
-  <mainDescription>&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WhatIs&quot;>What is refactoring?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Why&quot;>Why should I refactor?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#When&quot;>When should I refactor?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Example&quot;>An example of refactoring&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhatIs&quot; name=&quot;WhatIs&quot;>What is refactoring?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Refactoring is the act of improving the structure of a program without changing its behavior. Refactoring is done in&#xD;
-    tiny little steps, each barely worth doing. In between each step, we run the relevant unit tests to make sure that the&#xD;
-    changes we made have not broken anything. The edit/compile/test cycle is usually between 30 seconds and five minutes.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Why&quot; name=&quot;Why&quot;>Why should I refactor?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The purpose of refactoring is to improve the design and readability of the code. There are several specific goals:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The code should pass all its tests.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It should be as expressive as it is possible for you to make it.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It should be as simple as it is possible for you to make it.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It should have no redundancy.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;When&quot; name=&quot;When&quot;>When should I refactor?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Refactoring is not something that we schedule. There is no line item in the schedule for it. There is no particular&#xD;
-    time when we do it. Refactoring is done all the time. As you and your pair partner work on a task, such as writing&#xD;
-    tests and code, you will notice that the code and tests are not as clean and simple as they could be. That is the time&#xD;
-    to stop and refactor that code.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The rule is: &lt;b>Don't let the sun set on bad code.&lt;/b>&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Example&quot; name=&quot;Example&quot;>An Example of Refactoring&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Consider the two unit tests and the &lt;font size=&quot;3&quot;>&lt;tt>Formatter&lt;/tt>&lt;/font> class shown below. The &lt;font     size=&quot;3&quot;>&lt;tt>Formatter&lt;/tt>&lt;/font> class works but is not as expressive as I'd like it to be. So I'll refactor it in&#xD;
-    stages.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-  public void testCenterLine()&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-     {    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   Formatter f = new Formatter();                    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  f.setLineWidth(10);     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-    assertEquals(&quot;   word   &quot;, f.center(&quot;word&quot;));                &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
- }&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  public void testOddCenterLine() throws Exception&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   {     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  Formatter f = new Formatter();     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
- f.setLineWidth(10);     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-    assertEquals(&quot;  hello   &quot;, f.center(&quot;hello&quot;));&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  }&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&lt;br />&#xD;
-&lt;br />&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-  import java.util.Arrays;&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  public class Formatter&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
- {   &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-    private int width;   &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private char spaces[];    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-  public void setLineWidth(int width)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-     {        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       this.width = width;        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-     spaces = new char[width];        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       Arrays.fill(spaces, ' ');    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       }       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-    public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       {        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       int remainder = 0;        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      StringBuffer b = new StringBuffer();        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-        int padding = (width - line.length()) / 2;        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      remainder = line.length() % 2;        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      b.append(spaces, 0, padding);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       b.append(line);                       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      b.append(spaces, 0, padding + remainder);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       return b.toString();     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-       }&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    The &lt;font size=&quot;3&quot;>&lt;tt>setLineWidth&lt;/tt>&lt;/font> function is a little mysterious. What is this &lt;font     size=&quot;3&quot;>&lt;tt>spaces&lt;/tt>&lt;/font> array and why is it being filled with blanks? By looking ahead into the &lt;font     size=&quot;3&quot;>&lt;tt>center&lt;/tt>&lt;/font> function, we see that the &lt;font size=&quot;3&quot;>&lt;tt>spaces&lt;/tt>&lt;/font> array is just a&#xD;
-    convenience to allow us to move a number of blanks into a &lt;font size=&quot;3&quot;>&lt;tt>StringBuffer&lt;/tt>&lt;/font>. I wonder if we&#xD;
-    really need this convenience array.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For the moment, I'm going to pull the initialization of the array out into its own function named &lt;font     size=&quot;3&quot;>&lt;tt>buildArrayOfSpaces&lt;/tt>&lt;/font>. That way, it's all in one place, and I can think about it a little more&#xD;
-    clearly.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-public void setLineWidth(int width)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   this.width = width;        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-buildArrayOfSpaces(width);&lt;/b>  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-}  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-private void &lt;b>&#xD;
-buildArrayOfSpaces(int width)&lt;/b>&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   spaces = new char[width];        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   Arrays.fill(spaces, ' ');  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-} &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    I don't like the way &lt;font size=&quot;3&quot;>&lt;tt>center&lt;/tt>&lt;/font> function is constructed. There is math scattered all through&#xD;
-    it. I think we can rearrange the math to make things clearer.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-int remainder = line.length() % 2;&lt;/b>        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-int numberOfBlanksInFront = (width - line.length()) / 2;&lt;/b>        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   &lt;b>&#xD;
-int numberOfBlanksAtEnd = (width - line.length()) / 2 + remainder;&lt;/b>    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   StringBuffer b = new StringBuffer();        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(spaces, 0, &lt;b>&#xD;
-numberOfBlanksInFront&lt;/b>);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(line);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(spaces, 0, &lt;b>&#xD;
-numberOfBlanksAtEnd&lt;/b>);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   return b.toString();  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-}&#xD;
-&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&lt;br />&#xD;
-&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    This looks good, but we can reduce the clutter by changing some of the variables into functions.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   StringBuffer b = new StringBuffer();        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(spaces, 0, &lt;b>&#xD;
-numberOfBlanksInFront(line)&lt;/b>);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(line);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(spaces, 0, &lt;b>&#xD;
-numberOfBlanksBehind(line)&lt;/b>);        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   return b.toString();   &#xD;
-}    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-private int numberOfBlanksBehind(String line)&lt;/b>&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-{&lt;/b>        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   &lt;b>&#xD;
-int extraBlankIfOdd = line.length() % 2;&lt;/b>        &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   &lt;b>&#xD;
-return (width - line.length()) / 2 + extraBlankIfOdd;&lt;/b>  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-}&lt;/b>    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-private int numberOfBlanksInFront(String line)&lt;/b>&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-{&lt;/b>        &#xD;
- &lt;b>&#xD;
-return (width - line.length()) / 2;&lt;/b>  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-}&lt;/b>  &#xD;
-&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    This makes the &lt;font size=&quot;3&quot;>&lt;tt>center&lt;/tt>&lt;/font> function read a little better. However, the use of the &lt;font     size=&quot;3&quot;>&lt;tt>StringBuffer.append&lt;/tt>&lt;/font> function is a little confusing. We might be able to improve it a little by&#xD;
-    creating a more explicit function.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   StringBuffer b = new StringBuffer();                    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-appendBlanks(b, numberOfBlanksInFront(line));&lt;/b>     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   b.append(line);     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-appendBlanks(b, numberOfBlanksBehind(line));&lt;/b>     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   return b.toString(); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-}   &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;strong>&#xD;
-private void appendBlanks(StringBuffer b, int numberOfBlanks)&lt;/strong>&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;strong>&#xD;
-{&lt;/strong>     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   &lt;strong>&#xD;
-b.append(spaces, 0, numberOfBlanks);&lt;/strong> &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;strong>&#xD;
-}&lt;/strong> &#xD;
-&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    Now we can rewrite &lt;font size=&quot;3&quot;>&lt;tt>appendBlanks&lt;/tt>&lt;/font> to avoid using the &lt;font size=&quot;3&quot;>&lt;tt>spaces&lt;/tt>&lt;/font>&#xD;
-    array.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-import java.util.Arrays;  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-public class Formatter&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private int width;                       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   public void setLineWidth(int width)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      this.width = width;     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      StringBuffer b = new StringBuffer();              &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      appendBlanks(b, numberOfBlanksInFront(line)); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      b.append(line); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      appendBlanks(b, numberOfBlanksBehind(line)); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return b.toString();     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private void appendBlanks(StringBuffer b, int numberOfBlanks)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   {&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
- while(numberOfBlanks-- &amp;gt; 0)&lt;/b>     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-&lt;b>&#xD;
-    b.append(' ');&lt;/b>     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }      &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private int numberOfBlanksBehind(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      int extraBlankIfOdd = line.length() % 2; &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return (width - line.length()) / 2 + extraBlankIfOdd;                  &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }      &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private int numberOfBlanksInFront(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return (width - line.length()) / 2; }    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   } &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-}&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&lt;br />&#xD;
-&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    The names of functions like &lt;font size=&quot;3&quot;>&lt;tt>numberOfBlanksBehind&lt;/tt>&lt;/font> imply that the reader knows that these&#xD;
-    will be called from the &lt;font size=&quot;3&quot;>&lt;tt>center&lt;/tt>&lt;/font> function. We should eliminate this implication by&#xD;
-    renaming those functions.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-import java.util.Arrays;&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-public class Formatter    &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-{     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private int width;       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   public void setLineWidth(int width)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      this.width = width;     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   public String center(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      StringBuffer b = new StringBuffer(); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      appendBlanks(b, &lt;b>&#xD;
-numberOfBlanksToLeftOfCenter&lt;/b>(line));                &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      b.append(line); &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      appendBlanks(b, &lt;b>&#xD;
-numberOfBlanksToRightOfCenter&lt;/b>(line));                &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return b.toString();     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }       &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private void appendBlanks(StringBuffer b, int numberOfBlanks)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      while(numberOfBlanks-- &amp;gt; 0)     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-         b.append(' ');     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }      &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   private int &lt;b>&#xD;
-numberOfBlanksToRightOfCenter&lt;/b>(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      int extraBlankIfOdd = line.length() % 2; &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return (width - line.length()) / 2 + extraBlankIfOdd;     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }       &#xD;
-&#xD;
-   private int &lt;b>&#xD;
-numberOfBlanksToLeftOfCenter&lt;/b>(String line)&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   { &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-      return (width - line.length()) / 2;     &#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-   }&#xD;
-&lt;/pre>&#xD;
-&lt;pre>&#xD;
-} &#xD;
-&lt;font size=&quot;3&quot;>&#xD;
-&lt;b>&#xD;
-&lt;i>&#xD;
-Run the tests: the tests pass&lt;/i>&lt;/b>&lt;/font>&#xD;
-&lt;/pre>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;p>&#xD;
-    And I think we are done. You might find other refactorings to do, or you might not agree with all of the refactorings&#xD;
-    I've done. That's to be expected. The point is, however, that I have put a lot of effort into the readability and&#xD;
-    simplicity of this class. That effort will help others understand this class and make it easier for them to change the&#xD;
-    class when the time comes.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/resources/Thumbs.db b/XP/xp/guidances/guidelines/resources/Thumbs.db
deleted file mode 100644
index f4a7efc..0000000
--- a/XP/xp/guidances/guidelines/resources/Thumbs.db
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/guidelines/resources/md_state3.gif b/XP/xp/guidances/guidelines/resources/md_state3.gif
deleted file mode 100644
index ee64962..0000000
--- a/XP/xp/guidances/guidelines/resources/md_state3.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/guidelines/resources/tstfrsdsg-img3.gif b/XP/xp/guidances/guidelines/resources/tstfrsdsg-img3.gif
deleted file mode 100644
index 182076e..0000000
--- a/XP/xp/guidances/guidelines/resources/tstfrsdsg-img3.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/guidelines/resources/xp_tdd_guid_database.jpg b/XP/xp/guidances/guidelines/resources/xp_tdd_guid_database.jpg
deleted file mode 100644
index 08b590c..0000000
--- a/XP/xp/guidances/guidelines/resources/xp_tdd_guid_database.jpg
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/guidelines/test_driven_development_tdd.xmi b/XP/xp/guidances/guidelines/test_driven_development_tdd.xmi
deleted file mode 100644
index 31035cc..0000000
--- a/XP/xp/guidances/guidelines/test_driven_development_tdd.xmi
+++ /dev/null
@@ -1,650 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-jc10ie6UDWUJzSDfsQExjw"
-    name="test_driven_development_tdd,3.9254165491375454E-306" guid="-jc10ie6UDWUJzSDfsQExjw"
-    changeDate="2006-11-21T18:17:42.164-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__test_driven_development&quot; name=&quot;XE_xp__test_driven_development&quot;>&lt;/a>&lt;a id=&quot;XE_test_driven_development__in_xp&quot; name=&quot;XE_test_driven_development__in_xp&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WhatIs&quot;>What is TDD?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Java&quot;>A TDD Example in Java&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Benefits&quot;>What are the benefits of TDD?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Costs&quot;>What are the costs of TDD?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Principles&quot;>What testing principles should I employ?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#GUIS&quot;>How do I test GUIs?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Embedded&quot;>How do I test embedded systems?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Concurrency&quot;>How do I test concurrency?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Database&quot;>How do I test database transactions?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Servlets&quot;>How do I test servlets?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WebPages&quot;>How do I test web pages?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhatIs&quot; name=&quot;WhatIs&quot;>What is TDD?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    TDD is the practice of writing unit tests and production code concurrently and at a very fine level of granularity. A&#xD;
-    pair of programmers first write a small portion of a unit test, and then they write just enough production code to make&#xD;
-    that unit test compile and execute. Then they write a little bit more of the test and then add enough production code&#xD;
-    to make that new bit compile and pass. This cycle lasts somewhere between 30 seconds and five minutes. Rarely does it&#xD;
-    grow to ten minutes. In each cycle, the tests come first. Once a unit test is done, the pair goes on to the next test&#xD;
-    until they run out of tests for the task they are currently working on.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Java&quot; name=&quot;Java&quot;>A TDD Example in Java&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    What follows is a simple example of test-driven development. The program we are writing is a text formatter that can&#xD;
-    take arbitrary strings and can horizontally center them in a page. The first column shows the tests, and the second&#xD;
-    column shows the production code. The test is always written first and compiled. If the compile fails, then production&#xD;
-    code is added to make the compile succeed. Then the test is run to see if it passes. If the test fails, then production&#xD;
-    code is added to make the test pass. If the test passes, then a new test is added.&#xD;
-&lt;/p>&#xD;
-&lt;table width=&quot;100%&quot; border=&quot;1&quot;>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-                    &lt;font size=&quot;-1&quot;>&lt;i>&lt;b>First we write the test&lt;/b>&lt;/i>&lt;/font>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-                    &lt;font size=&quot;-1&quot;>&lt;i>&lt;b>Then we write the production code&lt;/b>&lt;/i>&lt;/font>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-    &lt;tbody>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-public void testCenterLine(){ &#xD;
-    Formatter f = new Formatter();&#xD;
-}&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#ff0000&quot; size=&quot;2&quot;>&#xD;
-does not compile&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-class Formatter{&#xD;
-}&#xD;
-&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#008000&quot; size=&quot;2&quot;>&#xD;
-compiles and passes&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-public void testCenterLine(){ &#xD;
-    Formatter f = new Formatter(); &#xD;
-    f.setLineWidth(10);              &#xD;
-    assertEquals(&quot;   word   &quot;, f.center(&quot;word&quot;));&#xD;
-}&#xD;
-&#xD;
-&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#ff0000&quot; size=&quot;2&quot;>&#xD;
-does not compile&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-class Formatter{ &#xD;
-    public void setLineWidth(int width) { &#xD;
-    } &#xD;
-&#xD;
-&#xD;
-    public String center(String line) {&lt;br />&#xD;
-&#xD;
-        return &quot;&quot;;&#xD;
-    }&#xD;
-}&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#ff0000&quot; size=&quot;2&quot;>&#xD;
-compiles and fails&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-                &lt;font size=&quot;2&quot;>&amp;nbsp;&lt;/font>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-import java.util.Arrays;&#xD;
-&#xD;
-&#xD;
-public class Formatter { &#xD;
-    private int width;              &#xD;
-    private char spaces[]; &#xD;
-    &#xD;
-    public void setLineWidth(int width) { &#xD;
-        this.width = width; &#xD;
-        spaces = new char[width]; &#xD;
-        Arrays.fill(spaces, ' '); &#xD;
-    } &#xD;
-&#xD;
-   &#xD;
-    public String center(String line) { &#xD;
-        StringBuffer b = new StringBuffer();&#xD;
-        int padding = width/2 - line.length(); &#xD;
-        b.append(spaces, 0, padding);              &#xD;
-        b.append(line); &#xD;
-        b.append(spaces, 0, padding); &#xD;
-        return b.toString();              &#xD;
-    }&#xD;
-}&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#ff0000&quot; size=&quot;2&quot;>&#xD;
-compiles and unexpectedly fails&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-                &lt;font size=&quot;2&quot;>&amp;nbsp;&lt;/font>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-public String center(String line) { &#xD;
-    StringBuffer b = new StringBuffer();              &#xD;
-    &lt;b>&#xD;
-int padding = (width - line.length()) / 2;&lt;/b> &#xD;
-    b.append(spaces, 0, padding);              &#xD;
-    b.append(line); &#xD;
-    b.append(spaces, 0, padding); &#xD;
-    return b.toString();              &#xD;
-}&#xD;
-&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#008000&quot; size=&quot;2&quot;>&#xD;
-compiles and passes&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-        &lt;tr>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-public void testCenterLine() {&#xD;
-    Formatter f = new Formatter();                &#xD;
-    f.setLineWidth(10); &#xD;
-    assertEquals(&quot;   word   &quot;, f.center(&quot;word&quot;));&#xD;
-} &#xD;
-&#xD;
-&lt;b>&#xD;
-public void testOddCenterLine() { &#xD;
-    Formatter f = new Formatter();&#xD;
-    f.setLineWidth(10); &#xD;
-    assertEquals( &quot;  hello    &quot;, f.center(&quot;hello&quot;));&#xD;
-}&lt;/b>&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#ff0000&quot; size=&quot;2&quot;>&#xD;
-compiles and fails&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-            &lt;td>&#xD;
-&lt;pre>&#xD;
-&lt;font size=&quot;2&quot;>&#xD;
-public String center(String line) { &#xD;
-    &lt;b>&#xD;
-int remainder = 0;&lt;/b> &#xD;
-    StringBuffer b = new StringBuffer(); &#xD;
-    int padding = (width - line.length()) / 2;&#xD;
-    &lt;b>&#xD;
-remainder = line.length() % 2;&lt;/b> &#xD;
-    b.append(spaces, 0, padding); &#xD;
-    b.append(line);&#xD;
-    b.append(spaces, 0, padding + &lt;b>&#xD;
-remainder&lt;/b>); &#xD;
-    return b.toString(); &#xD;
-}&#xD;
-&#xD;
-&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;div align=&quot;center&quot;>&#xD;
-&lt;pre>&#xD;
-&lt;font color=&quot;#008000&quot; size=&quot;2&quot;>&#xD;
-compiles and passes&lt;/font>&#xD;
-&lt;/pre>&#xD;
-                &lt;/div>&#xD;
-            &lt;/td>&#xD;
-        &lt;/tr>&#xD;
-    &lt;/tbody>&#xD;
-&lt;/table>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Benefits&quot; name=&quot;Benefits&quot;>What are the benefits of TDD?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Test Coverage&lt;/b>. If you follow the rules of TDD, then virtually 100% of the lines of code in your production&#xD;
-        program will be covered by unit tests. This does not cover 100% of the paths through the code, but it does make&#xD;
-        sure that virtually every line is executed and tested.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Test Repeatability&lt;/b>. The tests can be run any time you like. This is especially useful after you've made a&#xD;
-        change to the production code. You can run the tests to make sure you haven't broken anything. Having the tests to&#xD;
-        back you up can give you the courage to make changes that would otherwise be too risky to make.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Documentation&lt;/b>. The tests describe your understanding of how the code should behave. They also describe the&#xD;
-        API. Therefore, the tests are a form of documentation. Unit tests are typically pretty simple, so they are easy to&#xD;
-        read. Moreover, they are unambiguous and executable. Finally, if the tests are run every time any change is made to&#xD;
-        the code, they will never get out of date.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>API Design&lt;/b>. When you write tests first, you put yourself in the position of a user of your program's API.&#xD;
-        This can only help you design that API better. Your first concern, as you write the tests, is to make it easy and&#xD;
-        convenient to use that API.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>System Design&lt;/b>. A module that is independently testable is a module that is decoupled from the rest of the&#xD;
-        system. When you write tests first, you automatically decouple the modules you are testing. This has a profoundly&#xD;
-        positive effect on the overall design quality of the system.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Reduced Debugging&lt;/b>. When you move in the tiny little steps recommended by TDD, it is hardly ever necessary to&#xD;
-        use the debugger. Debugging time is reduced enormously.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Your code worked a minute ago!&lt;/b> If you observe a team of developers who are practicing TDD, you will notice&#xD;
-        that every pair of developer had their code working a minute ago. It doesn't matter when you make the observation!&#xD;
-        A minute or so ago, each pair ran their code, and it passed all its tests. Thus, you are never very far away from&#xD;
-        making the system work.&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Costs&quot; name=&quot;Costs&quot;>What are the costs of TDD?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Programming in tiny cycles can seem inefficient. Programmers often find it frustrating to work in increments that&#xD;
-        are so small that they know the outcome of the test. It sometimes seems that such a tiny step is not worth&#xD;
-        taking.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        A lot of test code is produced. It is not uncommon for the bulk of test code to exceed the bulk of production code&#xD;
-        by a large amount. This code has to be maintained at a significant cost.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        A lot of time is spent keeping the tests in sync with the production code. Programmers sometimes feel that time&#xD;
-        spent on keeping the tests working and well structured is time that is not being spent on the customer's&#xD;
-        needs.&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Principles&quot; name=&quot;Principles&quot;>What testing principles should I employ?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Isolation&lt;/b>. When writing a unit test for a module, consider whether you want that module to invoke other&#xD;
-        modules. If not, then isolate the module with interfaces. For example, suppose you are testing a module that&#xD;
-        interacts with the database. The test has nothing to do with the database; it simply tests the way that the module&#xD;
-        manipulates the database. So you isolate the module from the database by creating an interface that represents the&#xD;
-        database and that the module uses. Then, for the purposes of the test, you implement that interface with a test&#xD;
-        stub. This kind of isolation greatly decreases the amount of coupling in the overall system.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    &lt;img height=&quot;166&quot; alt=&quot;&quot; src=&quot;resources/xp_tdd_guid_database.jpg&quot; width=&quot;403&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Simplicity&lt;/b>. Keep your edit/compile/test cycles extremely short: less than five minutes on average. Write&#xD;
-        only enough production code to make the current tests pass. Try not to write code that will make future tests pass.&#xD;
-        At every edit/compile/test cycle, keep the code as simple as it can be.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Increase Generality&lt;/b>. As you add test cases, the production code should become more and more general. Always&#xD;
-        try to increase generality. For example, consider the following test case:&lt;br />&#xD;
-         &#xD;
-        &lt;blockquote>&#xD;
-            &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public testThreeSquared() {     assertEquals(9, MyClass.square(3)); }&#xD;
-&lt;/pre>&#xD;
-            &lt;/blockquote>&#xD;
-        &lt;/blockquote>&#xD;
-        &lt;p>&#xD;
-            We might make this test pass by writing:&#xD;
-        &lt;/p>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;blockquote>&#xD;
-    &lt;blockquote>&#xD;
-&lt;pre>&#xD;
-     public class MyClass {  public static int square(int n) {      return 9;  }               }&#xD;
-&lt;/pre>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        This conforms to the simplicity principle. If &lt;font size=&quot;3&quot;>&lt;tt>testThreeSquared&lt;/tt>&lt;/font> were the only test&#xD;
-        case that mattered, then this implementation would be correct. Of course, we know that it is incorrect, but in its&#xD;
-        current form it verifies that the test case actually passes when it is supposed to. Now suppose that we add a new&#xD;
-        test case:&#xD;
-    &lt;/p>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public testFourSquared() {      assertEquals(16, MyClass.square(4));  }         &#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        We could make this pass by changing the square function as follows:&#xD;
-    &lt;/p>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public static int square(int n) {      if (n == 3)  return 9;      else  return 16;  }&#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        While this would pass the test, it violates the rule to make the code more general. To make the code more general,&#xD;
-        we have to return the square of the argument.&#xD;
-    &lt;/p>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public static int square(int n) {       return n*n;  }&#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        This solution passes all the tests, is simple, and increases the generality of the solution.&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Corner Cases and Boundary Conditions&lt;/b>. Corner cases and boundary conditions are implemented in the production&#xD;
-        code with if statements or other similar decision structures. Don't write these statements unless you have a unit&#xD;
-        test that is failing because they don't exist. For example, let's say you are calculating weekly pay for an hourly&#xD;
-        employee. &#xD;
-        &lt;blockquote>&#xD;
-            &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public void testHourlyPay() {      double hourlyRate = 10.00;      double hoursWorked = 8;      Employee e = new Employee(hourlyRate);      assertEquals(80.00, e.calculatePay(hoursWorked));           }&#xD;
-&lt;/pre>&#xD;
-            &lt;/blockquote>&#xD;
-        &lt;/blockquote>&#xD;
-        &lt;p>&#xD;
-            The code that makes this pass looks like this:&#xD;
-        &lt;/p>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;blockquote>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public class Employee {      private double hourlyRate;        public Employee(double hourlyRate) {  this.hourlyRate = hourlyRate;      }        public double calculatePay(double hoursWorked) {  return hourlyRate * hoursWorked;      }  }&#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        Now let's say we want to calculate overtime pay. Any hours over eight are charged at time-and-a-half. The first&#xD;
-        thing we do is add the new failing test case:&#xD;
-    &lt;/p>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public void testOvertime() {      double hourlyRate = 10.00;      double hoursWorked = 10;      Employee e = new Employee(hourlyRate);      assertEquals(110.00, e.calculatePay(hoursWorked); }&#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        &lt;i>Then&lt;/i> we make the test case pass by changing the production code.&#xD;
-    &lt;/p>&#xD;
-    &lt;blockquote>&#xD;
-        &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public double calculatePay(double hoursWorked) {      double overtimeRate = hourlyRate * 1.5;      double normalHours = Math.min(hoursWorked, 8.0);                   double overtimeHours = hoursWorked ̵; normalHours;      return (normalHours * hourlyRate) + (overtimeHours * overtimeRate);  }&#xD;
-&lt;/pre>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/blockquote>&#xD;
-    &lt;p>&#xD;
-        Avoid adding any &lt;font size=&quot;3&quot;>&lt;tt>if, while, for, do,&lt;/tt>&lt;/font> or any other type of conditional without a&#xD;
-        failing test case. Remember to add test cases for each such boundary condition.&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Test Anything That Could Possibly Break&lt;/b>. By the same token, don't bother to test things that cannot possibly&#xD;
-        break. For example, it is usually fruitless to test simple accessors and mutators. &#xD;
-        &lt;blockquote>&#xD;
-            &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public void testAccessorAndMutator() {      X x = new X();      x.setField(3);               assertEquals(3, x.getField());  }&#xD;
-&lt;/pre>&#xD;
-            &lt;/blockquote>&#xD;
-        &lt;/blockquote>&#xD;
-        &lt;p>&#xD;
-            Accessors and mutators cannot reasonably break. So there's no point in testing them. Judgment clearly has to be&#xD;
-            applied to use this rule. You will be tempted to avoid a necessary unit test by claiming that the code cannot&#xD;
-            possibly break. You'll know you've fallen into this habit when you start finding bugs in methods you thought&#xD;
-            couldn't break.&#xD;
-        &lt;/p>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Keep Test Data in the Code&lt;/b>. It is sometimes tempting to put test data into a file, especially when the input&#xD;
-        to a module is a file. However, the best place for test data is in the unit test code itself. For example, assume&#xD;
-        we have a function that counts the number of characters in a file. The signature for this function is: &#xD;
-        &lt;blockquote>&#xD;
-            &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public int count(String fileName).&#xD;
-&lt;/pre>&#xD;
-            &lt;/blockquote>&#xD;
-        &lt;/blockquote>&#xD;
-        &lt;p>&#xD;
-            In order to keep the test data in the unit test code, the test should be written this way:&#xD;
-        &lt;/p>&#xD;
-    &lt;/li>&#xD;
-    &lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
-        &lt;blockquote>&#xD;
-            &lt;blockquote>&#xD;
-&lt;pre>&#xD;
- public testCount() {      File testFile = new File(&quot;testFile&quot;);               FileOutputStream fos = new FileOutputStream(testFile);      PrintStream ps = new PrintStream(fos);      ps.print(&quot;Oh, you Idiots!&quot;);      ps.close();               assertEquals(15, FileUtil.count(&quot;testFile&quot;));      testFile.delete();           }&#xD;
-&lt;/pre>&#xD;
-            &lt;/blockquote>&#xD;
-        &lt;/blockquote>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        This keeps all the data relevant to the test in one place.&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Test Pruning&lt;/b>. Sometimes you'll write tests that are useful for a time but become redundant as other tests&#xD;
-        take over their role. Don't be afraid to remove old redundant tests. Keep the test suite as small as possible&#xD;
-        without compromising coverage.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Keep Test Time Short&lt;/b>. The effectiveness of the tests depends upon convenience. The more convenient it is to&#xD;
-        run the tests, the more often they will be run. Thus, it is very important to keep the test run time very short. In&#xD;
-        a large system, this means partitioning the tests.&lt;br />&#xD;
-        &lt;br />&#xD;
-         When working on a particular module, you'll want to choose the tests that are relevant to that module and the&#xD;
-        surrounding modules. Keep the test time well under a minute. Ten seconds is often too long.&lt;br />&#xD;
-        &lt;br />&#xD;
-         When checking in a module, run a test suite that tests the whole system but takes no more than 10 minutes to run.&#xD;
-        This may mean you'll have to pull out some of the longer running tests.&lt;br />&#xD;
-        &lt;br />&#xD;
-         Every night, run all the tests in the system. Keep the running time small enough so that they can be run more than&#xD;
-        once before morning just in case there is a problem that forces a rerun.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;GUIS&quot; name=&quot;GUIS&quot;>How do I test GUIs?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The trick to writing unit tests for GUIs is separation and decoupling. Separate the GUI code into three layers,&#xD;
-    typically called &lt;b>Model&lt;/b>, &lt;b>View&lt;/b>, and &lt;b>Presenter&lt;/b>:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The &lt;b>Model&lt;/b> understands the business rules of the items that are to be displayed on the screen. All relevant,&#xD;
-        business-related policies are implemented in this module. Therefore, this module is easy to test based solely on&#xD;
-        its inputs and outputs.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The &lt;b>Presenter&lt;/b> understands how the data is to be presented and how the user will interact with that data. It&#xD;
-        knows that there are buttons, check boxes, text fields, etc. It knows that sometimes the buttons need to be&#xD;
-        disabled (grayed), and it knows sometimes text fields are not editable. It knows, at a mechanical level, how the&#xD;
-        data are displayed and how the interactions take place. However, it does not know anything about the actual GUI&#xD;
-        API. For example, if you are writing a Java Swing GUI, the Presenter does not use any of the swing classes. Rather,&#xD;
-        it sends messages to the View to take care of the actual display and interaction. Thus, the Presenter can be&#xD;
-        tested, again, based solely on its inputs from the Model and its outputs to the View.&lt;br />&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The &lt;b>View&lt;/b> understands the GUI API. It makes no policy, selection, or validation decisions. It has virtually&#xD;
-        zero intelligence. It is simply a shim that ties the interface used by the Presenter to the GUI API. It can be&#xD;
-        tested by writing tests that check the wiring. The tests walk through the GUI data structures, making sure that the&#xD;
-        appropriate button, text fields, and check boxes have been created. The tests send events to the GUI widgets and&#xD;
-        make sure the appropriate callbacks are invoked.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Embedded&quot; name=&quot;Embedded&quot;>How do I test embedded systems?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Some software is written to control hardware. You can test this software by writing a hardware simulator. The tests set&#xD;
-    the hardware simulator up into various states and then drive the system to manipulate that hardware. Finally, the tests&#xD;
-    query the simulation to ensure that the hardware was driven to the correct final state.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Concurrency&quot; name=&quot;Concurrency&quot;>How do I test concurrency?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Some software is reentrant or concurrent. Race conditions can make the software behavior non-deterministic. There are&#xD;
-    failure modes that can be both severe and strongly dependent upon timing and order of events. Software that works&#xD;
-    99.999% of the time can fail that last .001% of the time due to concurrency problems. Finding these problems is a&#xD;
-    challenge.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Usually exhaustive Monte Carlo testing is used to attempt to drive the system through as many states as possible.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Once concurrency problems are discovered, tests can be written that drive the system to the failure state and then&#xD;
-    prove the failure. Thereafter, the problem can be repaired, and the test remains in the test suite as a regression&#xD;
-    test.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Database&quot; name=&quot;Database&quot;>How do I test database transactions?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Almost always the best way to do this is to create an interface that represents the database. Each test case can&#xD;
-    implement that interface and pretend to be the database, supplying its own data and interpreting the calls made by the&#xD;
-    module under test. This prevents test data from actually being written and read from the database. It also allows the&#xD;
-    test code to force failure conditions that are otherwise hard to simulate.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    See: &lt;a href=&quot;http://c2.com/cgi/wiki?MockObject &quot; target=&quot;_blank&quot;>http://c2.com/cgi/wiki?MockObject&lt;/a>&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Servlets&quot; name=&quot;Servlets&quot;>How do I test Servlets?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Servlets are simply pipes through which form data passes into a program and HTML passes out. The trick to testing a&#xD;
-    servlet is to separate the program from the pipe. Keep the servlet code as thin as possible. Put your program in plain&#xD;
-    old classes that don't derive from Servlet. Then you can test those plain old classes as usual. If the servlet itself&#xD;
-    is thin enough, it may be too simple to bother testing.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Of course, you can also set up your own little servlet invoker or use one of the open source versions. These programs&#xD;
-    act like a web server and fire servlets for you. You pass the form data to them, and they pass the HTML back to you.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    See:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;a href=&quot;http://c2.com/cgi/wiki?JunitServlet&quot; target=&quot;_blank&quot;>http://c2.com/cgi/wiki?JunitServlet&lt;/a>&lt;br />&#xD;
-     &lt;a href=&quot;http://c2.com/cgi/wiki?ServletTesting&quot; target=&quot;_blank&quot;>http://c2.com/cgi/wiki?ServletTesting&lt;/a>&lt;br />&#xD;
-     &lt;a href=&quot;http://strutstestcase.sourceforge.net/&quot; target=&quot;_blank&quot;>http://strutstestcase.sourceforge.net/&lt;/a>&#xD;
-&lt;/blockquote>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WebPages&quot; name=&quot;WebPages&quot;>How do I test web pages?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    An HTML document is almost an XML document. There is a tool that allows you to query an HTML document as though it were&#xD;
-    an XML document. That tool is called HTTPUnit. Using this tool, you can write tests that inspect the innards of an HTML&#xD;
-    document without worrying about white space or formatting issues. Another tool called HTMLUnit also does something&#xD;
-    similar. HTMLUnit includes support for testing HTML pages with embedded JavaScript.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    See:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;a href=&quot;http://httpunit.sourceforge.net/&quot; target=&quot;_blank&quot;>http://httpunit.sourceforge.net/&lt;/a>&lt;br />&#xD;
-     &lt;a href=&quot;http://htmlunit.sourceforge.net/&quot; target=&quot;_blank&quot;>http://htmlunit.sourceforge.net/&lt;/a>&lt;br />&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-     &amp;nbsp;&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.xmi b/XP/xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.xmi
deleted file mode 100644
index 3e3988c..0000000
--- a/XP/xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.xmi
+++ /dev/null
@@ -1,1689 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-FX8hDYUKOXsrQulFe9lwtw"
-    name="test_ideas_for_booleans_and_boundaries,1.7150344523489172E-305" guid="-FX8hDYUKOXsrQulFe9lwtw"
-    changeDate="2006-11-21T18:55:18.633-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_test__developer_testing__test_ideas__for_booleans_and_boundaries&quot; name=&quot;XE_test__developer_testing__test_ideas__for_booleans_and_boundaries&quot;>&lt;/a>&lt;a id=&quot;XE_test-ideas__for_booleans_and_boundaries&quot; name=&quot;XE_test-ideas__for_booleans_and_boundaries&quot;>&lt;/a>&lt;a id=&quot;XE_design__developer_testing__test_ideas__for_booleans_and_boundaries&quot; name=&quot;XE_design__developer_testing__test_ideas__for_booleans_and_boundaries&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>&lt;/a>Introduction&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Test ideas are based on &lt;a href=&quot;./../../../glossary/glossary.htm#fault_model&quot; target=&quot;_blank&quot;>fault models&lt;/a>,&#xD;
-    notions of which faults are plausible in software and how those faults can best be uncovered. This guideline shows how&#xD;
-    to create test ideas from boolean and relational expressions. It first motivates the techniques by looking at code,&#xD;
-    then describes how to apply them if the code hasn't been written yet or is otherwise unavailable.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;BooleanExpressions&quot; name=&quot;BooleanExpressions&quot;>&lt;/a>&lt;b>Boolean Expressions&lt;/b>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Consider the following code snippet, taken from an (imaginary) system for managing bomb detonation. It's part of the&#xD;
-    safety system and controls whether the &quot;detonate bomb&quot; button push is obeyed.&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (publicIsClear || technicianClear) {&#xD;
-    bomb.detonate();&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The code is wrong. The &lt;font size=&quot;+0&quot;>||&lt;/font> should be an &lt;font size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font>. That mistake will have&#xD;
-    bad effects. Instead of detonating the bomb when both the bomb technician and public are clear, the system will&#xD;
-    detonate when &lt;i>either&lt;/i> is clear.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    What test would find this bug?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Consider a test in which the button is pushed when both the technician and public are clear. The code will allow the&#xD;
-    bomb to be detonated. But-and this is important-the &lt;i>correct&lt;/i> code (the one that uses an &lt;font     size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font>) would do the same. So the test is useless at finding this fault.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Similarly, this incorrect code behaves correctly when both the technician and public are next to the bomb: the bomb is&#xD;
-    not detonated.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    To find the bug, you have to have a case in which the code as written evaluates differently than the code that should&#xD;
-    have been written. For example, the public must be clear, but the bomb technician is still next to the bomb. Here are&#xD;
-    all the tests in table form:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;100%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        publicIsClear&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        technicianClear&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        Code as written...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        Correct code would have...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;20%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#008000&quot;>detonates&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#008000&quot;>detonated&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        test is useless (for this fault)&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>detonates&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>not detonated&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        useful test&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>detonates&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>not detonated&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        useful test&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#008000&quot;>does not detonate&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#008000&quot;>not detonated&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;20%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        test is useless (for this fault)&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    The two middle tests are both useful for finding this particular fault. Note, however, that they're redundant: since&#xD;
-    either will find the fault, you needn't run both.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There are other ways in which the expression might be wrong. Here are two lists of common mistakes in boolean&#xD;
-    expressions. The faults on the left are all caught by the technique discussed here. The faults on the right might not&#xD;
-    be. So this technique doesn't catch all the faults we might like, but it's still useful.&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;right&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;100%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;b>Faults detected&lt;/b>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;b>Faults possibly not detected&lt;/b>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    Using wrong operator: a &lt;font color=&quot;#ff0000&quot;>&lt;b>||&lt;/b>&lt;/font> b should be a&lt;font                     color=&quot;#ff0000&quot;>&lt;b>&amp;amp;&amp;amp;&lt;/b>&lt;/font>b&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    Wrong variable used: a&amp;amp;&amp;amp;&lt;font color=&quot;#ff0000&quot;>&lt;b>b&lt;/b>&lt;/font>&amp;amp;&amp;amp;c should be a&amp;amp;&amp;amp;&#xD;
-                    &lt;font color=&quot;#ff0000&quot;>&lt;b>x&lt;/b>&lt;/font>&amp;amp;&amp;amp;d&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    Negation is omitted or incorrect: a||b should be &lt;font color=&quot;#ff0000&quot;>&lt;b>!&lt;/b>&lt;/font>a||b, or &lt;font                     color=&quot;#ff0000&quot;>&lt;b>!&lt;/b>&lt;/font> a||b should be a||b&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    Expression is too simple: a&amp;amp;&amp;amp;b should be a&amp;amp;&amp;amp;b&lt;font                     color=&quot;#ff0000&quot;>&lt;b>&amp;amp;&amp;amp;c&lt;/b>&lt;/font>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    The expression is misparenthesized: a&amp;amp;&amp;amp;b||c should be a&amp;amp;&amp;amp;&lt;font                     color=&quot;#ff0000&quot;>&lt;b>(&lt;/b>&lt;/font>b||c&lt;font color=&quot;#ff0000&quot;>&lt;b>)&lt;/b>&lt;/font>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    Expressions with more than one of the faults in the left column&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    The expression is overly complex: a&amp;amp;&amp;amp;b&lt;b>&amp;amp;&amp;amp;c&lt;/b> should be &lt;font                     size=&quot;+0&quot;>a&amp;amp;&amp;amp;b&lt;br />&#xD;
-                    &lt;/font> (This fault is not so likely, but is easy to find with tests useful for other reasons.)&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    How are these ideas used? Suppose you're given a boolean expression like &lt;font size=&quot;+0&quot;>a&amp;amp;&amp;amp;!b&lt;/font>. You&#xD;
-    could construct a truth table like this one:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;right&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;100%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        a&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        b&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        a&amp;amp;&amp;amp;!b&lt;br />&#xD;
-                         (code as written)&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        maybe it should be&lt;br />&#xD;
-                         a&lt;font color=&quot;#ff0000&quot;>&lt;b>||&lt;/b>&lt;/font>!b&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        maybe it should be&lt;br />&#xD;
-                         &lt;font color=&quot;#ff0000&quot;>&lt;b>!&lt;/b>&lt;/font>a&amp;amp;&amp;amp;!b&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        maybe it should be&lt;br />&#xD;
-                         a&amp;amp;&amp;amp;b&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>true&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>true&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>false&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>true&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;14%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>true&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;15%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    If you crunched through all the possibilities, you'd find that the first, second, and fourth possibilities are all&#xD;
-    that's needed. The third expression will find no faults that won't be found by one of the others, so you needn't try&#xD;
-    it. (As the expressions grow more complicated, the savings due to unneeded cases grow quickly.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Of course, no one sane would build such a table. Fortunately, you don't have to. It's easy to memorize the required&#xD;
-    cases for simple expressions. (See the next section.) For more complex expressions, such as &lt;font     size=&quot;+0&quot;>A&amp;amp;&amp;amp;B||C&lt;/font>, see &lt;a href=&quot;../../examples/extrnlcntrbtns/test/tstatmtch.htm&quot; target=&quot;_blank&quot;>Test&#xD;
-    Ideas for Mixtures of ANDs and ORs&lt;/a>, which lists test ideas for expressions with two or three operators. For even&#xD;
-    more complex expressions, a &lt;a href=&quot;http://www.testing.com/tools/multi/README.html&quot; target=&quot;_blank&quot;>program&lt;/a> can be&#xD;
-    used to generate test ideas.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;SimpleExpressionTables&quot; name=&quot;SimpleExpressionTables&quot;>&lt;/a>&lt;b>Tables for Simple Boolean Expressions&lt;/b>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    If the expression is &lt;font size=&quot;+0&quot;>A&amp;amp;&amp;amp;B&lt;/font>, test with:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    If the expression is &lt;font size=&quot;+0&quot;>A||B&lt;/font>, test with:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;50%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    If the expression is &lt;font size=&quot;+0&quot;>A&lt;sub>1&lt;/sub> &amp;amp;&amp;amp; A&lt;sub>2&lt;/sub> &amp;amp;&amp;amp; ... &amp;amp;&amp;amp;&#xD;
-    A&lt;sub>n&lt;/sub>&lt;/font>, test with:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>1,&lt;/sub> A&lt;sub>2&lt;/sub>, ..., and A&lt;sub>n&lt;/sub> are all true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>1&lt;/sub> is false, all the rest are true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>2&lt;/sub> is false, all the rest are true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>n&lt;/sub> is false, all the rest are true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p align=&quot;left&quot;>&#xD;
-    If the expression is &lt;font size=&quot;+0&quot;>A&lt;sub>1&lt;/sub> || A&lt;sub>2&lt;/sub> || ... || A&lt;sub>n&lt;/sub>&lt;/font>, test with:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>1,&lt;/sub> A&lt;sub>2&lt;/sub>, ..., and A&lt;sub>n&lt;/sub> are all false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>1&lt;/sub> is true, all the rest are false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>2&lt;/sub> is true, all the rest are false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        ...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&lt;sub>n&lt;/sub> is true, all the rest are false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    If the expression is &lt;font size=&quot;+0&quot;>A&lt;/font>, test with:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    So, when you need to test &lt;font size=&quot;+0&quot;>a&amp;amp;&amp;amp;!b&lt;/font>, you can apply the first table above, invert the sense&#xD;
-    of b (because it's negated), and get this list of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html&quot; guid=&quot;8.834380241450745E-306&quot;>Test&#xD;
-    Ideas&lt;/a>:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        A true, B false&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        A true, B true&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        A false, B false&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;RelationalExpressions&quot; name=&quot;RelationalExpressions&quot;>&lt;/a>&lt;b>Relational Expressions&lt;/b>&#xD;
-&lt;/h3>&#xD;
-&lt;p align=&quot;left&quot;>&#xD;
-    Here's another example of code with a fault:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (finished &amp;lt; required) {&#xD;
-    siren.sound();&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p align=&quot;left&quot;>&#xD;
-    The &lt;font size=&quot;+0&quot;>&amp;lt;&lt;/font> should be a &lt;font size=&quot;+0&quot;>&amp;lt;=&lt;/font>. Such mistakes are fairly common. As with&#xD;
-    boolean expressions, you can construct a table of test values and see which ones detect the fault:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        finished&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        required&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        code as written...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        the correct code would have...&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        1&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        5&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        sounds the siren&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        sounded the siren&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        5&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        5&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>does not sound the siren&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font color=&quot;#ff0000&quot;>sounded the siren&lt;/font>&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        5&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        1&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        does not sound the siren&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        not sounded the siren&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    More generally, the fault can be detected whenever &lt;font size=&quot;+0&quot;>finished=required&lt;/font>. From analyses of plausible&#xD;
-    faults, we can get these rules for test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If the expression is A&amp;lt;B or A&amp;gt;=B, test with&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A=B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A slightly less than B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    If the expression is A&amp;gt;B or A&amp;lt;=B, test with&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A=B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;100%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        A slightly larger than B&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    What does &quot;slightly&quot; mean? If A and B are integers, A should be one less than or larger than B. If they are floating&#xD;
-    point numbers, A should be a number quite close to B. (It's probably not necessary that it be the the closest floating&#xD;
-    point number to B.)&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;CombinedExpressions&quot; name=&quot;CombinedExpressions&quot;>&lt;/a>&lt;b>Rules for Combined Boolean and Relational Expressions&lt;/b>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Most relational operators occur within boolean expressions, as in this example:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (finished &amp;lt; required) {&#xD;
-    siren.sound();&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The rules for relational expressions would lead to these test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>finished&lt;/font> is equal to required&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>finished&lt;/font> is slightly less than &lt;font size=&quot;+0&quot;>required&lt;/font>&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    The rules for boolean expressions would lead to these:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>finished &amp;lt; required&lt;/font> should be true&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>finished &amp;lt; required&lt;/font> should be false&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    But if &lt;font size=&quot;+0&quot;>finished&lt;/font> is slightly less than &lt;font size=&quot;+0&quot;>required&lt;/font>, &lt;font size=&quot;+0&quot;>finished&#xD;
-    &amp;lt; required&lt;/font> is true, so there's no point in writing down the latter.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    And if &lt;font size=&quot;+0&quot;>finished&lt;/font> equals &lt;font size=&quot;+0&quot;>required&lt;/font>, &lt;font size=&quot;+0&quot;>finished &amp;lt;&#xD;
-    required&lt;/font> is false, so there's no point in writing down that latter one either.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    So, &lt;b>if a relational expression contains no boolean operators (&lt;font size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font> and &lt;font     size=&quot;+0&quot;>||&lt;/font>), ignore the fact that it's also a boolean expression.&lt;/b>&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Things are a bit more complicated with combinations of boolean and relational operators, like this one:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (count&amp;lt;5 || always) {&#xD;
-   siren.sound();&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    From the relational expression, you get:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count&lt;/font> slightly less than 5&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count&lt;/font> equal to 5&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    From the boolean expression, you get:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count&amp;lt;5&lt;/font> true, always false&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count&amp;lt;5&lt;/font> false, always true&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count&amp;lt;5&lt;/font> false, always false&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    These can be combined into three more specific test ideas. (Here, note that &lt;font size=&quot;+0&quot;>count&lt;/font> is an&#xD;
-    integer.)&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count=4&lt;/font>, always false&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count=5&lt;/font>, always true&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count=5&lt;/font>, always false&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    Notice that &lt;font size=&quot;+0&quot;>count=5&lt;/font> is used twice. It might seem better to use it only once, to allow the use of&#xD;
-    some other value-after all, why test &lt;font size=&quot;+0&quot;>count&lt;/font> with 5 twice? Wouldn't it be better to try it once&#xD;
-    with 5 and another time with some other value such that &lt;font size=&quot;+0&quot;>count&amp;lt;5&lt;/font> is false? It would be, but&#xD;
-    it's dangerous to try. That's because it's easy to make a mistake. Suppose you tried the following:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count=4&lt;/font>, always false&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>count=5&lt;/font>, always true&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;font size=&quot;+0&quot;>&lt;b>count&amp;lt;5&lt;/b>&lt;/font> &lt;b>false&lt;/b>, &lt;font size=&quot;+0&quot;>always&lt;/font> false&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    Suppose that there's a fault that can &lt;i>only&lt;/i> be caught with &lt;font size=&quot;+0&quot;>count=5&lt;/font>. What that means is&#xD;
-    that the value 5 will cause &lt;font size=&quot;+0&quot;>count&amp;lt;5&lt;/font> to produce false in the second test, when the correct&#xD;
-    code would have produced true. However, that false value is immediately or'd with the value of always, which is true.&#xD;
-    That means the value of the whole expression is correct, even though the value of the relational subexpression was&#xD;
-    wrong. The fault will go undiscovered.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The fault doesn't go undiscovered if it's the &lt;i>other&lt;/i> count=5 that is left less specific.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Similar problems happen when the relational expression is on the right-hand side of the boolean operator.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Because it's hard to know which subexpressions have to be exact and which can be general, it's best to make them all&#xD;
-    exact. The alternative is to use the &lt;a href=&quot;http://www.testing.com/tools/multi/README.html&quot; target=&quot;_blank&quot;>boolean&#xD;
-    expression program&lt;/a> mentioned above. It produces correct test ideas for arbitrary mixed boolean-and-relational&#xD;
-    expressions.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;TestIdeasWithoutCode&quot; name=&quot;TestIdeasWithoutCode&quot;>&lt;/a>&lt;b>Test ideas without Code&lt;/b>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    As explained in &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/concepts/test-first_design.html&quot; guid=&quot;6.556259235358794E-306&quot;>Concept: Test-first Design&lt;/a>, it's usually preferable to design tests before&#xD;
-    implementing code. So, although the techniques are motivated by code examples, they'll usually be applied without code.&#xD;
-    How?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Certain design artifacts, such as statecharts and sequence diagrams, use boolean expressions as guards. Those cases are&#xD;
-    straightforward-simply add the test ideas from the boolean expressions to the artifact's test idea checklist. See &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.html&quot; guid=&quot;1.0347051690476123E-305&quot;>Guideline: Test Ideas for Statechart and Activity Diagrams&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The trickier case is when boolean expressions are implicit rather than explicit. That's often the case in descriptions&#xD;
-    of APIs. Here's an example. Consider this method:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-List matchList(Directory d1, Directory d1,&#xD;
-       FilenameFilter excluder);&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The description of this method's behavior might read like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        Returns a List of the absolute pathnames of all files that appear in both Directories. Subdirectories are&#xD;
-        descended. [...] Filenames that match the &lt;font size=&quot;+0&quot;>excluder&lt;/font> are excluded from the returned list. The&#xD;
-        excluder only applies to the top-level directories, not to filenames in subdirectories.&#xD;
-    &lt;/p>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The words &quot;and&quot; and &quot;or&quot; do not appear. But when is a filename included in the return list? When it appears in the&#xD;
-    first directory &lt;b>and&lt;/b> it appears in the second directory &lt;b>and&lt;/b> it's either in a lower level directory&#xD;
-    &lt;b>or&lt;/b> it's not specifically excluded. In code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (appearsInFirst &amp;amp;&amp;amp; appearsInSecond &amp;amp;&amp;amp;&#xD;
-    (inLowerLevel || !excluded)) {&#xD;
-  add to list&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Here are the test ideas for that expression, given in tabular form:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        appearsInFirst&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        appearsInSecond&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        inLower&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        excluded&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-     The general approach for discovering implicit boolean expressions from text is to first list the actions described&#xD;
-    (such as &quot;returns a matching name&quot;). Then write a boolean expression that describes the cases in which an action is&#xD;
-    taken. Derive test ideas from all the expressions.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There's room for disagreement in that process. For example, one person might write down the boolean expression used&#xD;
-    above. Another might say that there are really two distinct actions: first, the program discovers matching names, then&#xD;
-    it filters them out. So, instead of one expression, there are two:&#xD;
-&lt;/p>&#xD;
-&lt;dl>&#xD;
-    &lt;dt>&#xD;
-        discover a match:&#xD;
-    &lt;/dt>&#xD;
-    &lt;dd>&#xD;
-        happens when a file is in the first directory &lt;b>and&lt;/b> a file with the same name is in the second directory&#xD;
-    &lt;/dd>&#xD;
-    &lt;dt>&#xD;
-        filter a match:&#xD;
-    &lt;/dt>&#xD;
-    &lt;dd>&#xD;
-        happens when the matching files are in the top level &lt;b>and&lt;/b> the name matches the &lt;font         size=&quot;+0&quot;>excluder&lt;/font>&#xD;
-    &lt;/dd>&#xD;
-&lt;/dl>&#xD;
-&lt;p>&#xD;
-    These different approaches can lead to different test ideas and thus different tests. But the differences are most&#xD;
-    likely not particularly important. That is, the time spent worrying about which expression is right, and trying&#xD;
-    alternatives, would be better spent on other techniques and producing more tests. If you're curious about what the&#xD;
-    sorts of differences might be, read on.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The second person would get two sets of test ideas.&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-    &lt;p>&#xD;
-        test ideas about discovering a match:&#xD;
-    &lt;/p>&#xD;
-    &lt;ul>&#xD;
-        &lt;li>&#xD;
-            file in first directory, file in second directory (true, true)&#xD;
-        &lt;/li>&#xD;
-        &lt;li>&#xD;
-            file in first directory, file not in second directory (true, false)&#xD;
-        &lt;/li>&#xD;
-        &lt;li>&#xD;
-            file not in first directory, file in second directory (false, true)&#xD;
-        &lt;/li>&#xD;
-    &lt;/ul>&#xD;
-    &lt;p>&#xD;
-        test ideas about filtering a match (once one has been discovered):&#xD;
-    &lt;/p>&#xD;
-    &lt;ul>&#xD;
-        &lt;li>&#xD;
-            matching files are in the top level, the name matches the &lt;font size=&quot;+0&quot;>excluder&lt;/font> (true, true)&#xD;
-        &lt;/li>&#xD;
-        &lt;li>&#xD;
-            matching files are in the top level, the name doesn't match the &lt;font size=&quot;+0&quot;>excluder&lt;/font> (true, false)&#xD;
-        &lt;/li>&#xD;
-        &lt;li>&#xD;
-            matching files are in some lower level, the name matches the &lt;font size=&quot;+0&quot;>excluder&lt;/font> (false, true)&#xD;
-        &lt;/li>&#xD;
-    &lt;/ul>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Suppose those two sets of test ideas are combined. The ones in the second set only matter when the file is in both&#xD;
-    directories, so they can only be combined with the first idea in the first set. That gives us the following:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        file in first directory&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        file in second directory&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        in top level&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        matches excluder&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    Two of the test ideas about discovering a match do not appear in that table. We can add them like this:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        file in first directory&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        file in second directory&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        in top level&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        matches excluder&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    The blank cells indicate that the columns are irrelevant.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This table now looks rather similar to the first person's table. The similarity can be emphasized by using the same&#xD;
-    terminology. The first person's table has a column called &quot;inLower&quot;, and the second person's has one called &quot;in top&#xD;
-    level&quot;. They can be converted by flipping the sense of the values. Doing that, we get this version of the second table:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        appearsInFirst&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        appearsInSecond&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        inLower&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-                &lt;th width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        excluded&#xD;
-                    &lt;/p>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        false&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        true&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        -&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    The first three rows are identical to the first person's table. The last two differ only in that this version doesn't&#xD;
-    specify values that the first does. This amounts to an assumption about the way the code was written. The first assumed&#xD;
-    a complicated boolean expression:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (appearsInFirst &amp;amp;&amp;amp; appearsInSecond &amp;amp;&amp;amp;&#xD;
-    (inLowerLevel || !excluded)) {&#xD;
-  add to list&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The second assumes nested boolean expressions:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-if (appearsInFirst &amp;amp;&amp;amp; appearsInSecond) {&#xD;
-    // found match.&#xD;
-    if (inTopLevel &amp;amp;&amp;amp; excluded) {&#xD;
-// filter it&#xD;
-    }&#xD;
-}     &#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The difference between the two is that the test ideas for the first detect two faults that the ideas for the second do&#xD;
-    not, because those faults don't apply.&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        In the first implementation, there can be a misparenthesization fault. Are the parentheses around the &lt;font         size=&quot;+0&quot;>||&lt;/font> correct or incorrect? Since the second implementation has no &lt;font size=&quot;+0&quot;>||&lt;/font> and no&#xD;
-        parentheses, the fault cannot exist.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The test requirements for the first implementation check whether the second &lt;font size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font>&#xD;
-        should be an &lt;font size=&quot;+0&quot;>||&lt;/font>. In the second implementation, that explicit &lt;font         size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font> is replaced by the implicit &lt;font size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font> of the nested &lt;font         size=&quot;+0&quot;>if&lt;/font> statements. There's no &lt;font size=&quot;+0&quot;>||&lt;/font>-for-&lt;font size=&quot;+0&quot;>&amp;amp;&amp;amp;&lt;/font> fault,&#xD;
-        per se. (It might be the case that the nesting is incorrect, but this technique does not address that.)&lt;br />&#xD;
-    &lt;/li>&#xD;
-&lt;/ol></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/test_ideas_for_method_calls.xmi b/XP/xp/guidances/guidelines/test_ideas_for_method_calls.xmi
deleted file mode 100644
index 330419f..0000000
--- a/XP/xp/guidances/guidelines/test_ideas_for_method_calls.xmi
+++ /dev/null
@@ -1,583 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-nwZMQTZtIwI5weh9c_HoYA"
-    name="test_ideas_for_method_calls,8.5657170364036E-306" guid="-nwZMQTZtIwI5weh9c_HoYA"
-    changeDate="2006-11-21T18:58:59.045-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_test__developer_testing__test_ideas__for_method_calls&quot; name=&quot;XE_test__developer_testing__test_ideas__for_method_calls&quot;>&lt;/a>&lt;a id=&quot;XE_design__developer_testing__test_ideas__for_method_calls&quot; name=&quot;XE_design__developer_testing__test_ideas__for_method_calls&quot;>&lt;/a>&lt;a id=&quot;XE_test-ideas__for_method_calls&quot; name=&quot;XE_test-ideas__for_method_calls&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Here's an example of defective code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-File file = new File(stringName);&#xD;
-file.delete();&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The defect is that &lt;font size=&quot;+0&quot;>File.delete&lt;/font> can fail, but the code doesn't check for that. Fixing it requires&#xD;
-    the addition of the italicized code shown here:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-File file = new File(stringName);&#xD;
-&lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-if (&lt;/b>&lt;/i>&lt;/font>file.delete()&lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-== false) {...}&lt;/b>&lt;/i>&lt;/font>&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    This guideline describes a method for detecting cases where your code does not handle the result of calling a method.&#xD;
-    (Note that it assumes that the method called produces the correct result for whatever inputs you give it. That's&#xD;
-    something that should be tested, but creating test ideas for the called method is a separate activity. That is, it's&#xD;
-    not your job to test &lt;font size=&quot;+0&quot;>File.delete&lt;/font>.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The key notion is that you should create a test idea for each &lt;i>distinct unhandled relevant result&lt;/i> of a method&#xD;
-    call. To define that term, let's first look at &lt;i>result&lt;/i>. When a method executes, it changes the state of the&#xD;
-    world. Here are some examples:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        It might push return values on the runtime stack.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It might throw an exception.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It might change a global variable.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It might update a record in a database.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It might send data over the network.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It might print a message to standard output.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    Now let's look at &lt;i>relevant&lt;/i>, again using some examples.&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Suppose the method being called prints a message to standard output. That &quot;changes the state of the world&quot;, but it&#xD;
-        cannot affect the further processing of this program. No matter what gets printed, even nothing at all, it can't&#xD;
-        affect the execution of your code.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the method returns true for success and false for failure, your program very likely should branch based on the&#xD;
-        result. So that return value is relevant.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the called method updates a database record that your code later reads and uses, the result (updating the&#xD;
-        record) is relevant.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    (There's no absolute line between relevant and irrelevant. By calling &lt;font size=&quot;+0&quot;>print&lt;/font>, your method might&#xD;
-    cause buffers to be allocated, and that allocation might be relevant after &lt;font size=&quot;+0&quot;>print&lt;/font> returns. It's&#xD;
-    conceivable that a defect might depend on whether and what buffers were allocated. It's conceivable, but is it at all&#xD;
-    plausible?)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    A method might often have a very large number of results, but only some of them will be &lt;i>distinct&lt;/i>. For example,&#xD;
-    consider a method that writes bytes to disk. It might return a number less than zero to indicate failure; otherwise, it&#xD;
-    returns the number of bytes written (which might be fewer than the number requested). The large number of possibilities&#xD;
-    can be grouped into three distinct results:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        a number less than zero.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        the number written equals the number requested&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        some bytes were written, but less than the number requested.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    All the values less than zero are grouped into one result because no reasonable program will make a distinction among&#xD;
-    them. All of them (if, indeed, more than one is possible) should be treated as an error. Similarly, if the code&#xD;
-    requested that 500 bytes be written, it doesn't matter if 34 were actually written or 340: the same thing will probably&#xD;
-    be done with the unwritten bytes. (If something different should be done for some value, such as 0, that will form a&#xD;
-    new distinct result.)&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    There's one last word in the defining term to explain. This particular testing technique is not concerned with distinct&#xD;
-    results that are already &lt;i>handled&lt;/i>. Consider, again, this code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-File file = new File(stringName);&#xD;
-if (file.delete() == false) {...}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    There are two distinct results (true and false). The code handles them. It might handle them incorrectly, but test&#xD;
-    ideas from &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.html&quot; guid=&quot;1.7150344523489172E-305&quot;>Guideline: Test Ideas for Booleans and Boundaries&lt;/a> will check that. This test&#xD;
-    technique is concerned with distinct results that are not specifically handled by distinct code. That might happen for&#xD;
-    two reasons: you thought the distinction was irrelevant, or you simply overlooked it. Here's an example of the first&#xD;
-    case:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-result = m.method();&#xD;
-switch (result) {&#xD;
-    case FAIL:&#xD;
-    case CRASH:&#xD;
-       ...&#xD;
-       break;&#xD;
-    case DEFER:&#xD;
-       ...&#xD;
-       break;&#xD;
-    default:&#xD;
-       ...&#xD;
-       break;&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    &lt;font size=&quot;+0&quot;>FAIL&lt;/font> and &lt;font size=&quot;+0&quot;>CRASH&lt;/font> are handled by the same code. It might be wise to check&#xD;
-    that that's really appropriate. Here's an example of an overlooked distinction:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-result = s.shutdown();&#xD;
-if (result == PANIC) {&#xD;
-   ...&#xD;
-} else {&#xD;
-   // success! Shut down the reactor.&#xD;
-   ...&#xD;
-} &#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    It turns out that shutdown can return an additional distinct result: &lt;font size=&quot;+0&quot;>RETRY&lt;/font>. The code as written&#xD;
-    treats that case the same as the success case, which is almost certainly wrong.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;FindingTestIdeas&quot; name=&quot;FindingTestIdeas&quot;>Finding test ideas&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    So your goal is to think of those distinct relevant results you previously overlooked. That seems impossible: why would&#xD;
-    you realize they're relevant now if you didn't earlier?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The answer is that a systematic re-examination of your code, when in a testing frame of mind and not a programming&#xD;
-    frame of mind, can sometimes cause you to think new thoughts. You &lt;i>can&lt;/i> question your own assumptions by&#xD;
-    methodically stepping through your code, looking at the methods you call, rechecking their documentation, and thinking.&#xD;
-    Here are some cases to watch for.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &quot;Impossible&quot; cases&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Often, it will appear that error returns are impossible. Doublecheck your assumptions.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This example shows a Java implementation of a common Unix idiom for handling temporary files.&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-File file = new File(&quot;tempfile&quot;);&#xD;
-FileOutputStream s;&#xD;
-try {&#xD;
-    // open the temp file.&#xD;
-    s = new FileOutputStream(file);&#xD;
-} catch (IOException e) {...}&#xD;
-// Make sure temp file will be deleted&#xD;
-file.delete();&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    The goal is to make sure that a temporary file is always deleted, no matter how the program exits. You do this by&#xD;
-    creating the temporary file, then immediately deleting it. On Unix, you can continue to work with the deleted file, and&#xD;
-    the operating system takes care of cleaning up when the process exits. A not-painstaking Unix programmer might not&#xD;
-    write the code to check for a failed deletion. Since she just successfully created the file, she must be able to delete&#xD;
-    it.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This trick doesn't work on Windows. The deletion will fail because the file is open. Discovering that fact is hard: as&#xD;
-    of August 2000, the Java documentation did not enumerate the situations in which &lt;font size=&quot;+0&quot;>delete&lt;/font> could&#xD;
-    fail; it merely says that it can. But-perhaps-when in &quot;testing mode&quot;, the programmer might question her assumption.&#xD;
-    Since her code is supposed to be &quot;write once, run everywhere&quot;, she might ask a Windows programmer when &lt;font     size=&quot;+0&quot;>File.delete&lt;/font> fails on Windows and so discover the awful truth.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &quot;Irrelevant&quot; cases&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Another force against noticing a distinct relevant value is being already convinced that it doesn't matter. A Java&#xD;
-    &lt;font size=&quot;+0&quot;>Comparator&lt;/font>'s &lt;font size=&quot;+0&quot;>compare&lt;/font> method returns either a number &amp;lt;0, 0, or a number&#xD;
-    &amp;gt;0. Those are three distinct cases that might be tried. This code lumps two of them together:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void allCheck(Comparator c) {&#xD;
-   ...&#xD;
-   if (c.compare(o1, o2) &amp;lt;= 0) {&#xD;
-      ...&#xD;
-   } else {&#xD;
-      ...&#xD;
-   } &#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    But that might be wrong. The way to discover whether it is or not is to try the two cases separately, even if you&#xD;
-    really believe it will make no difference. (Your beliefs are really what you're testing.) Note that you might be&#xD;
-    executing the &lt;font size=&quot;+0&quot;>then&lt;/font> case of the &lt;font size=&quot;+0&quot;>if&lt;/font> statement more than once for other&#xD;
-    reasons. Why not try one of them with the result less than 0 and one with the result exactly equal to zero?&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Uncaught exceptions&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Exceptions are a kind of distinct result. By way of background, consider this code:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void process(Reader r) {&#xD;
-   ...&#xD;
-   try {&#xD;
-      ...&#xD;
-      int c = r.read();&#xD;
-      ...&#xD;
-   } catch (IOException e) {&#xD;
-      ...&#xD;
-   }&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    You'd expect to check whether the handler code really does the right thing with a read failure. But suppose an&#xD;
-    exception is explicitly unhandled. Instead, it's allowed to propagate upward through the code under test. In Java, that&#xD;
-    might look like this:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void process(Reader r) &lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-throws IOException&lt;/b>&lt;/i>&lt;/font> {&#xD;
-    ...&#xD;
-    int c = r.read();&#xD;
-    ...&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    This technique asks you to test that case &lt;i>even though&lt;/i> the code explicitly doesn't handle it. Why? Because of&#xD;
-    this kind of fault:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void process(Reader r) throws IOException {&#xD;
-    ...&#xD;
-    &lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-Tracker.hold(this);&lt;/b>&lt;/i>&lt;/font>&#xD;
-    ...&#xD;
-    int c = r.read();&#xD;
-    ...&#xD;
-    &lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-Tracker.release(this);&lt;/b>&lt;/i>&lt;/font>&#xD;
-    ...&#xD;
-}&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    Here, the code affects global state (through &lt;font size=&quot;+0&quot;>Tracker.hold&lt;/font>). If the exception is thrown, &lt;font     size=&quot;+0&quot;>Tracker.release&lt;/font> will never be called.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    (Notice that the failure to release will probably have no obvious immediate consequences. The problem will most likely&#xD;
-    not be visible until &lt;font size=&quot;+0&quot;>process&lt;/font> is called again, whereupon the attempt to &lt;font     size=&quot;+0&quot;>hold&lt;/font> the object for a second time will fail. A good article about such defects is Keith Stobie's &lt;a href=&quot;http://www.testingcraft.com/stobie-exceptions.pdf&quot; target=&quot;_blank&quot;>&quot;Testing for Exceptions&quot;&lt;/a>. &amp;nbsp; (&lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot; target=&quot;_blank&quot;>Get Adobe Reader&lt;/a>))&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;UndiscoveredFaults&quot; name=&quot;UndiscoveredFaults&quot;>Undiscovered faults&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    This particular technique does not address all defects associated with method calls. Here are two kinds that it's&#xD;
-    unlikely to catch.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Incorrect arguments&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Consider these two lines of C code, where the first line is wrong and the second line is correct.&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-... strncmp(s1, s2, strlen(s1)) ...&#xD;
-... strncmp(s1, s2, strlen(&lt;font color=&quot;#ff0000&quot;>&#xD;
-&lt;i>&#xD;
-&lt;b>&#xD;
-s2&lt;/b>&lt;/i>&lt;/font>)) ...&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    &lt;font size=&quot;+0&quot;>strncmp&lt;/font> compares two strings and returns a number less than 0 if the first one is&#xD;
-    lexicographically less than the second (would come earlier in a dictionary), 0 if they're equal, and a number greater&#xD;
-    than 0 if the first one is lexicographically larger. However, it only compares the number of characters given by the&#xD;
-    third argument. The problem is that the length of the first string is used to limit the comparison, whereas it should&#xD;
-    be the length of the second.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    This technique would require three tests, one for each distinct return value. Here are three you could use:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    s1&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    s2&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    expected result&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    actual result&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;a&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;bbb&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &amp;lt;0&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &amp;lt;0&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;bbb&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;a&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &amp;gt;0&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &amp;gt;0&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;foo&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;foo&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    =0&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    =0&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    The defect is not discovered because nothing in this technique &lt;i>forces&lt;/i> the third argument to have any particular&#xD;
-    value. What's needed is a test case like this:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    &lt;b>s1&lt;/b>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    &lt;b>s2&lt;/b>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    &lt;b>expected result&lt;/b>&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    &lt;b>actual result&lt;/b>&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;foo&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &quot;foo&lt;font color=&quot;#ff0000&quot;>&lt;i>&lt;b>d&lt;/b>&lt;/i>&lt;/font>&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;font color=&quot;#ff0000&quot;>&lt;i>&lt;b>&amp;lt;0&lt;/b>&lt;/i>&lt;/font>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    =0&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    While there are techniques suitable for catching such defects, they are seldom used in practice. Your testing effort is&#xD;
-    probably better spent on a rich set of tests that targets many types of defects (and that you hope catches this type as&#xD;
-    a side effect).&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Indistinct results&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    There's a danger that comes when you're coding - and testing - method-by-method. Here's an example. There are two&#xD;
-    methods. The first, &lt;font size=&quot;+0&quot;>connect&lt;/font>, wants to establish a network connection:&#xD;
-&lt;/p>&#xD;
-&lt;blockquote>&#xD;
-&lt;pre>&#xD;
-void connect() {&#xD;
-   ...&#xD;
-   Integer portNumber = serverPortFromUser();&#xD;
-   if (portNumber == null) {&#xD;
-      // pop up message about invalid port number&#xD;
-      return;&#xD;
-   }&#xD;
-&lt;/pre>&#xD;
-&lt;/blockquote>&#xD;
-&lt;p>&#xD;
-    It calls &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> to get a port number. That method returns two distinct values. It&#xD;
-    returns a port number chosen by the user if the number chosen is valid (1000 or greater). Otherwise, it returns null.&#xD;
-    If null is returned, the code under test pops up an error message and quits.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    When &lt;font size=&quot;+0&quot;>connect&lt;/font> was tested, it worked as intended: a valid port number caused a connection to be&#xD;
-    established, and an invalid one led to a popup.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The code to &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> is a bit more complicated. It first pops up a window that asks&#xD;
-    for a string and has the standard OK and CANCEL buttons. Based on what the user does, there are four cases:&#xD;
-&lt;/p>&#xD;
-&lt;ol>&#xD;
-    &lt;li>&#xD;
-        If the user types a valid number, that number is returned.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the number is too small (less than 1000), null is returned (so the message about invalid port number will be&#xD;
-        displayed).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the number is misformatted, null is again returned (and the same message is appropriate).&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        If the user clicks CANCEL, null is returned.&#xD;
-    &lt;/li>&#xD;
-&lt;/ol>&#xD;
-&lt;p>&#xD;
-    This code also works as intended.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The combination of the two chunks of code, though, has a bad consequence: the user presses CANCEL and gets a message&#xD;
-    about an invalid port number. All the code works as intended, but the overall effect is still wrong. It was tested in a&#xD;
-    reasonable way, but a defect was missed.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The problem here is that &lt;font size=&quot;+0&quot;>null&lt;/font> is one result that represents two distinct &lt;i>meanings&lt;/i> (&quot;bad&#xD;
-    value&quot; and &quot;user cancelled&quot;). Nothing in this technique forces you to notice that problem with the design of &lt;font     size=&quot;+0&quot;>serverPortFromUser&lt;/font>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Testing can help, though. When &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> is tested in isolation - just to see if it&#xD;
-    returns the intended value in each of those four cases - the context of use is lost. Instead, suppose it were tested&#xD;
-    via &lt;font size=&quot;+0&quot;>connect&lt;/font>. There would be four tests that would exercise both of the methods simultaneously:&#xD;
-&lt;/p>&#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;table     style=&quot;BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid&quot;      cellspacing=&quot;0&quot; bordercolordark=&quot;#808080&quot; cellpadding=&quot;4&quot; width=&quot;85%&quot; bordercolorlight=&quot;#808080&quot; border=&quot;1&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    input&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    expected result&#xD;
-                &lt;/th>&#xD;
-                &lt;th scope=&quot;col&quot; align=&quot;middle&quot; width=&quot;25%&quot; bgcolor=&quot;#c0c0c0&quot;>&#xD;
-                    thought process&#xD;
-                &lt;/th>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    user types &quot;1000&quot;&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    connection to port 1000 is opened&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> returns a number, which is used.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        user types &quot;999&quot;&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        popup about invalid port number&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> returns null, which leads to popup&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;p align=&quot;center&quot;>&#xD;
-                        user types &quot;i99&quot;&#xD;
-                    &lt;/p>&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    popup about invalid port number&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;font size=&quot;+0&quot;>serverPortFromUser&lt;/font> returns null, which leads to popup&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    users clicks CANCEL&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    whole connection process should be cancelled&#xD;
-                &lt;/td>&#xD;
-                &lt;td align=&quot;middle&quot; width=&quot;25%&quot;>&#xD;
-                    &lt;font size=&quot;+0&quot;>&lt;i>serverPortFromUser&lt;/i>&lt;/font> &lt;i>returns null, hey wait a minute that doesn't make&#xD;
-                    sense...&lt;/i>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&lt;br />&#xD;
-&lt;/div>&#xD;
-&lt;p>&#xD;
-    As is often the case, testing in a larger context reveals integration problems that escape small-scale testing. And, as&#xD;
-    is also often the case, careful thought during test design reveals the problem before the test is run. (But if the&#xD;
-    defect isn't caught then, it will be caught when the test is run.)&lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.xmi b/XP/xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.xmi
deleted file mode 100644
index 0157d46..0000000
--- a/XP/xp/guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.xmi
+++ /dev/null
@@ -1,243 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-60dp5lxFJEpUarhchGCnHw"
-    name="test_ideas_for_statechart_and_flow_diagrams,1.0347051690476123E-305" guid="-60dp5lxFJEpUarhchGCnHw"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_state_machine__test_ideas_for&quot; name=&quot;XE_state_machine__test_ideas_for&quot;>&lt;/a>&lt;a id=&quot;XE_test_idea__for_state_machine&quot; name=&quot;XE_test_idea__for_state_machine&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;>Introduction&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    This guideline shows how to identify &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html#TestIdeas&quot; guid=&quot;8.834380241450745E-306&quot;>test ideas&lt;/a> from statecharts and other design structures that consist mainly of nodes&#xD;
-    connected by arcs and that show something of the possible control flows of a program. The main goal of this testing is&#xD;
-    to traverse every arc in some test. If you've never exercised an arc, why do you think it will work when a customer&#xD;
-    does?&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Implementation&quot; name=&quot;Implementation&quot;>Testing the Implementation&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Consider this statechart:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;253&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img3.gif&quot; width=&quot;567&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig1: HVAC Statechart&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Here's a first list of test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Idle state receives Too Hot event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Idle state receives Too Cool event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cooling/Startup state receives Compressor Running event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cooling/Ready state receives Fan Running event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cooling/Running state receives OK event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Cooling/Running state receives Failure event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Failure state receives Failure Cleared event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Heating state receives OK event&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Heating state receives Failure event&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    These test ideas could all be exercised in a single test, or you could create several tests that each exercise a few.&#xD;
-    As with all test design, strive for a balance between the ease of implementation of many simple tests and the&#xD;
-    additional defect-finding power of complex tests. (See &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html#TestDesignUsingTheList&quot; guid=&quot;8.834380241450745E-306&quot;>&quot;test design using the list&quot;&lt;/a> in the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/test-ideas_list.html&quot; guid=&quot;8.834380241450745E-306&quot;>Concept: Test Ideas List&lt;/a> page.) If you have use case scenarios that describe certain&#xD;
-    paths through the statechart, you should favor tests that take those paths.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In any case, the tests should check that all actions required by the statechart actually take place. For example, is&#xD;
-    the alarm started on entry to the Failure state, then stopped upon exit?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The test should also check that the transition leads to the correct next state. That can be a difficult problem when&#xD;
-    the states are invisible from the outside. The only way to detect an incorrect state is to inject some sequence of&#xD;
-    events that leads to incorrect output. More precisely, you would need to construct a follow-on sequence of events whose&#xD;
-    externally-visible results for the &lt;i>correct&lt;/i> state differ from those that the same sequence would provoke from&#xD;
-    each possible &lt;i>incorrect&lt;/i> state.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In the example above, how would you know that the Failure Cleared event in the Failure state correctly led to the Idle&#xD;
-    state, instead of staying in the Failure state? You might trust that the stopping of the Alarm meant that transition&#xD;
-    had been made, but it might be better to check by lowering the temperature enough to make the heater start or raising&#xD;
-    it enough to turn on cooling. If something happens, you're more confident that the transition was correct. If nothing&#xD;
-    happens, it's likely the device stayed in the Failure state.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    At the very least, determining whether the resulting state is correct complicates test design. It is often better to&#xD;
-    make the state machine explicit and make its states visible to the tests.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    Other statechart constructs&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    Statecharts consist of more than arcs and arrows. Here is a list of statechart constructs and the effect they have on&#xD;
-    the test idea list.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Event actions, entry actions, and exit actions&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    These do not generate test ideas per se. Rather, the tests should check that the actions behave as specified. If the&#xD;
-    actions represent substantial programs, those programs must be tested. The test ideas for the programs might be&#xD;
-    combined with test ideas from the statechart, but it's probably more manageable to separate them. Make the decision&#xD;
-    based on the effort involved and on your suspicion that there might be interactions between events. That is, if a&#xD;
-    particular action on one arc cannot possibly share data with an action on another arc, there is no reason to exercise&#xD;
-    the two actions in the same test (as you would if they were part of the same path through a statechart test).&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Guard conditions&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Guard conditions are boolean expressions. The test ideas for guard conditions are derived as described in &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../xp/guidances/guidelines/test_ideas_for_booleans_and_boundaries.html&quot; guid=&quot;1.7150344523489172E-305&quot;>Guideline: Test Ideas for Booleans and Boundaries&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In the example above, the Too Cool transition from the Idle state is guarded with [restart time &amp;gt;= 5 mins]. That&#xD;
-    leads to two separate test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Idle state receives Too Cool event when restart time is five minutes (transition taken)&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Idle state receives Too Cool event when restart time is just less than five minutes (transition blocked)&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;p>&#xD;
-    In both cases, any test that uses the test idea should check that the correct state is reached.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Internal transitions&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    An internal transition adds the same sort of ideas to a test idea list as an external transition does. It's merely that&#xD;
-    the next state is the same as the original state. It would be prudent to set up the test such that the state's entry&#xD;
-    and exit actions would cause an observable effect if they were incorrectly triggered.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Nested states&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    When constructing tests, set them up such that entry and exit events of the composite state have observable effects.&#xD;
-    You want to notice if they're skipped.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Concurrent substates&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Testing of concurrency falls outside of the scope of developer testing.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    Deferred events&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    If you suspect an event might be handled differently depending on whether it was deferred and queued rather than&#xD;
-    generated while the program was actually in the receiving state, you might test those two cases.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If the event in the receiving state has a guard condition, consider the ramifications of changes to the condition's&#xD;
-    variables between the time the event is generated and the time it is received.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    If more than one state can handle a deferred event, consider testing deferral to each of the possible receiving states.&#xD;
-    Perhaps the implementation assumes that the &quot;obvious&quot; state will handle the event.&#xD;
-&lt;/p>&#xD;
-&lt;h5>&#xD;
-    History states&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Here is an example of a history state:&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;211&quot; alt=&quot;&quot; src=&quot;resources/md_state3.gif&quot; width=&quot;412&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig2: History State Example&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The transition into the history state represents three real transitions, and thus three test ideas:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        BackupUp event in Command state leads to Collecting state&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        BackupUp event in Command state leads to Copying state&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        BackupUp event in Command state leads to CleaningUp state&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h5>&#xD;
-    Chain states&#xD;
-&lt;/h5>&#xD;
-&lt;p>&#xD;
-    Chain states do not seem to have any implications for test design, except that they introduce more actions that need to&#xD;
-    be checked.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Design&quot; name=&quot;Design&quot;>Testing the Design&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The preceding discussion focuses on checking whether the implementation matches the design. But the design might also&#xD;
-    be wrong. While examining the design to find test ideas, also check for two types of problems:&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;b>Missing events.&lt;/b> The statechart shows a state's response to events &lt;i>that the designer anticipated could arrive&#xD;
-    in that state&lt;/i>. It's not unknown for designers to overlook events. For example, in this statechart (repeated from&#xD;
-    the top of the page), perhaps the designer forgot that a failure can occur in the Ready substate of Cooling, not just&#xD;
-    when the fan is Running.&#xD;
-&lt;/p>&#xD;
-&lt;p align=&quot;center&quot;>&#xD;
-    &lt;img height=&quot;253&quot; alt=&quot;&quot; src=&quot;resources/tstfrsdsg-img3.gif&quot; width=&quot;567&quot; />&#xD;
-&lt;/p>&#xD;
-&lt;p class=&quot;picturetext&quot;>&#xD;
-    Fig3: HVAC Statechart&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    For this reason, it's wise to ask, for each state, whether any of the events that apply to other states might apply to&#xD;
-    this one. If you discover that one does, correct your design.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;b>Incomplete or missing guard conditions.&lt;/b> Similarly, perhaps guard conditions on one transition will suggest guard&#xD;
-    conditions on others. For example, the above statechart takes care not to restart the heater too often, but there is no&#xD;
-    such restriction on the cooling system. Should there be?&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It is also possible that variables used on one guard condition will suggest that other guard conditions are too simple.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Interactions&quot; name=&quot;Interactions&quot;>Testing Interactions&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Testing each arc in a graph is by no means complete testing. For example, suppose the start state initializes a&#xD;
-    variable to 0, state Setter sets it to 5, and state Divider divides it into 100 (100/variable). If there's a path from&#xD;
-    the start state to Divider that does not pass through Setter, you have a divide-by-zero exception. If the statechart&#xD;
-    has many states, simply exercising each arc might miss that path.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Except for very simple statecharts, testing every path is infeasible. In practice, tests that are complex and&#xD;
-    correspond to use case scenarios are often sufficient. If you desire stronger tests, consider requiring a path from&#xD;
-    each state where a datum is given a value to each state that uses it.&#xD;
-&lt;/p>&lt;br />&#xD;
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/guidelines/xp_environment.xmi b/XP/xp/guidances/guidelines/xp_environment.xmi
deleted file mode 100644
index cbcffca..0000000
--- a/XP/xp/guidances/guidelines/xp_environment.xmi
+++ /dev/null
@@ -1,115 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-OuWRQbxXBGWox8SgcCr6sQ"
-    name="xp_environment,3.754748120034442E-307" guid="-OuWRQbxXBGWox8SgcCr6sQ" changeDate="2005-12-06T07:25:25.664-0500">
-  <mainDescription>&lt;a id=&quot;XE_xp__environment&quot; name=&quot;XE_xp__environment&quot;>&lt;/a>&lt;a id=&quot;XE_environment__in_xp&quot; name=&quot;XE_environment__in_xp&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    No process is an island. In other words, you can't expect to just take a process or process elements off a shelf and&#xD;
-    use them without regard to their context.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    XP has certain key requirements of the &quot;environment&quot;; the physical, organizational, and business setting where it will&#xD;
-    be applied.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Physical&quot;>Physical Requirements&lt;/a> &#xD;
-        &lt;ul>&#xD;
-            &lt;li>&#xD;
-                &lt;a href=&quot;#OpenWorkspace&quot;>Open Workspace&lt;/a>&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                &lt;a href=&quot;#Toolset&quot;>Uniform Toolset&lt;/a>&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                &lt;a href=&quot;#BuildMachine&quot;>Dedicated Build Machine&lt;/a>&#xD;
-            &lt;/li>&#xD;
-            &lt;li>&#xD;
-                &lt;a href=&quot;#VersionControl&quot;>Version Control Tool&lt;/a>&#xD;
-            &lt;/li>&#xD;
-        &lt;/ul>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Org&quot;>Organizational Requirements&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Business&quot;>Business Requirements&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Physical&quot; name=&quot;Physical&quot;>Physical Requirements&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;OpenWorkspace&quot; name=&quot;OpenWorkspace&quot;>Open Workspace&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    One key aspect of XP is a strong focus on communication. To communicate effectively, a team should have as few physical&#xD;
-    barriers to each other as possible. The ideal XP programming environment is an open workspace filled with tables and&#xD;
-    room for pairs of people to work together and maintain contact with their peers. For more details, see the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/guidelines/open_workspace.html&quot; guid=&quot;3.269440809144354E-305&quot;>open workspace guideline&lt;/a>.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;Toolset&quot; name=&quot;Toolset&quot;>Uniform Toolset&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    XP works best when there are no artificial impediments to getting and giving help. If you have an open workspace with&#xD;
-    five computers for production coding and each of them has a wildly different set of tools, some people will gravitate&#xD;
-    to the machines that have the tools they like and feel uncomfortable moving to the machines that have unfamiliar tools.&#xD;
-    Think about your own experiences. Do you feel hindered working in an unfamiliar IDE? How much does that impede you when&#xD;
-    someone asks for your help. If, as a team, you adopt a uniform set of tools and keep your development machines&#xD;
-    homogenous, you are making it far easier for people to give and receive help.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;BuildMachine&quot; name=&quot;BuildMachine&quot;>Dedicated Build Machine&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    In XP, there are many different ways to do builds. However, the primary constraint is that all unit tests are run prior&#xD;
-    to checking in any production code. In most situations, the easiest way to accomplish this is to have a dedicated build&#xD;
-    machine. You can check in your code and trigger a build across the network or walk to the build machine and run the&#xD;
-    build. Either way, having a dedicated machine gives you the advantage of having a common, pristine environment for your&#xD;
-    builds.&#xD;
-&lt;/p>&#xD;
-&lt;h4>&#xD;
-    &lt;a id=&quot;VersionControl&quot; name=&quot;VersionControl&quot;>Version Control Tool&lt;/a>&#xD;
-&lt;/h4>&#xD;
-&lt;p>&#xD;
-    All software projects need version control tools; however, in XP we place a premium upon their usability. The ability&#xD;
-    to be able to check out code without locking it is also valued. When a team writes pervasive unit tests and practices&#xD;
-    collective code ownership, locking code for revision is often too pessimistic. It creates unncessary bottlenecks.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Org&quot; name=&quot;Org&quot;>Organizational Requirements&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Organizations adopting XP should be able to dedicate someone to act as the customer for each XP team. The customer role&#xD;
-    in XP is critical. If the person who is acting as the customer has other responsibilities, it is best if those&#xD;
-    responsibilities are subordinate to being available to the rest of the team.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In addition to having an available customer, organizations practicing XP should allow teams to be self-sufficient. In&#xD;
-    organizations where many functions are supported by different groups (configuration management group, deployment group,&#xD;
-    QA), the different functions can impede development if there are not mechanisms to allow each team to do what it takes&#xD;
-    to finalize its iterations without waiting for other teams.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Business&quot; name=&quot;Business&quot;>Business Requirements&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    XP works best in situations where organizations can take advantage of variable scope. If a business creates a fixed&#xD;
-    scope contract with a fixed end date, it can be hard to discern how long it really takes for a team to sustainably&#xD;
-    develop good software.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    People in the organizations look at the schedule rather than the velocity data that XP produces. The result is all too&#xD;
-    predictable. Software may be delivered on time, but it may also be buggy and a poor platform for future development. In&#xD;
-    XP, we recognize that each team has a particular speed at which they can reliably develop software. That speed varies&#xD;
-    from team to team. If a team is pushed faster than that speed, the results are often disasterous.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/practices/sustainable_pace.xmi b/XP/xp/guidances/practices/sustainable_pace.xmi
deleted file mode 100644
index cc3e8b2..0000000
--- a/XP/xp/guidances/practices/sustainable_pace.xmi
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:PracticeDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-AS84xtg2NOXfrqA6eVRzMQ"
-    name="new_practice,_ycm9gGZBEdqvwYzpSSc2Nw" guid="-AS84xtg2NOXfrqA6eVRzMQ" changeDate="2005-12-06T05:20:39.800-0500">
-  <mainDescription>&lt;h3>&#xD;
-    Description&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    The assumption in XP is that software development is not a sprint but a marathon. While a sprinter will easily beat a&#xD;
-    marathon runner over a very short distance, the marathon runner will always win in the long run. Consistently working&#xD;
-    overtime will destroy the team, the design, and eventually the product. It creates an environment that makes it&#xD;
-    impossible to do high quality work. People make more mistakes because they are tired (not to mention their low morale),&#xD;
-    causing bugs that require a lot of time to fix down the line. The end result is that it slows everything and everyone&#xD;
-    down.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Continuous overtime can be a symptom of a deeper problem that is not being addressed. Perhaps the process is too broken&#xD;
-    to be fixed by working more. The rule in XP is that, if the team has to do more than one consecutive week of overtime,&#xD;
-    it should reassess the situation and start rethinking the plan. Overtime is OK if you need to get to the end of an&#xD;
-    iteration or a release, but it should always be an exception rather than the rule.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    Sustainable pace is about fostering a team that can produce a consistent amount of work over a long period of time.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    Benefits&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved predictability&lt;/b>: plans become more accurate.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved product quality&lt;/b>: programmers have the time to do the right thing.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Improved job satisfaction&lt;/b>: programmers can enjoy their work with as little stress as possible.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;b>Reduced time to market&lt;/b>: less time required to fix bad code and rotting design.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:PracticeDescription>
diff --git a/XP/xp/guidances/supportingmaterials/getting_started_with_xp.xmi b/XP/xp/guidances/supportingmaterials/getting_started_with_xp.xmi
deleted file mode 100644
index 6a97fb2..0000000
--- a/XP/xp/guidances/supportingmaterials/getting_started_with_xp.xmi
+++ /dev/null
@@ -1,57 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-PCk5_o83KYiPZaKUzt021A"
-    name="getting_started_with_xp,1.2284921351651456E-304" guid="-PCk5_o83KYiPZaKUzt021A"
-    changeDate="2006-11-08T18:14:04.387-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp__getting started_with&quot; name=&quot;XE_xp__getting started_with&quot;>&lt;/a>&lt;a id=&quot;XE_getting started__with_xp&quot; name=&quot;XE_getting started__with_xp&quot;>&lt;/a> &#xD;
-&lt;h3>&#xD;
-    Topics&#xD;
-&lt;/h3>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#WhatisXP&quot;>What is XP?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Start&quot;>Where do I start?&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a href=&quot;#Providing&quot;>Providing Feedback&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;WhatisXP&quot; name=&quot;WhatisXP&quot;>What is XP?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    Extreme Programming or XP is a development process that can be used by small to medium sized teams to develop high&#xD;
-    quality software within a predictable schedule and budget and with a minimum of overhead. XP is currently one of the&#xD;
-    most widely used agile processes in the industry.&#xD;
-&lt;/p>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Start&quot; name=&quot;Start&quot;>Where do I start?&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    If you are unfamiliar with XP and want to learn more about it, we suggest you take the following steps:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Get a quick &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/what_is_xp.html&quot; guid=&quot;9.251272550276345E-306&quot;>overview of XP&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Learn what the &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/guidances/concepts/motivation.html&quot; guid=&quot;1.6390805262958034E-306&quot;>motivation behind XP&lt;/a> is.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Understand what &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development.html&quot; guid=&quot;1.041091673844025E-305&quot;>Agile Software Development&lt;/a> means.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Take a tour of the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a> and &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP Practices&lt;/a>.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul>&#xD;
-&lt;h3>&#xD;
-    &lt;a id=&quot;Providing&quot; name=&quot;Providing&quot;>Providing Feedback&lt;/a>&#xD;
-&lt;/h3>&#xD;
-&lt;p>&#xD;
-    As this is the first version of the XP plug-in, we are looking to the community for advice on how to make&amp;nbsp;it&#xD;
-    better. You can help us do this by sending us your suggestions, comments, or questions to the discussions lists (see &lt;a href=&quot;http://www.eclipse.org/epf&quot;>www.eclipse.org/epf&lt;/a> for more information).&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/resources/.cvsignore b/XP/xp/guidances/supportingmaterials/resources/.cvsignore
deleted file mode 100644
index 085e8ba..0000000
--- a/XP/xp/guidances/supportingmaterials/resources/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Thumbs.db
diff --git a/XP/xp/guidances/supportingmaterials/resources/CRsym_obj.gif b/XP/xp/guidances/supportingmaterials/resources/CRsym_obj.gif
deleted file mode 100644
index d1f6a31..0000000
--- a/XP/xp/guidances/supportingmaterials/resources/CRsym_obj.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/supportingmaterials/xp_and_agile_process_references.xmi b/XP/xp/guidances/supportingmaterials/xp_and_agile_process_references.xmi
deleted file mode 100644
index ca02b74..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_and_agile_process_references.xmi
+++ /dev/null
@@ -1,231 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-8UKMv929ysWDBF1IOAAgsg"
-    name="xp_and_agile_process_references,6.191633934532389E-306" guid="-8UKMv929ysWDBF1IOAAgsg"
-    changeDate="2006-11-29T19:47:27.124-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_references__xp_bibliography_of&quot; name=&quot;XE_references__xp_bibliography_of&quot;>&lt;/a> &#xD;
-&lt;div align=&quot;center&quot;>&#xD;
-    &lt;br />&#xD;
-     &#xD;
-    &lt;table width=&quot;100%&quot; border=&quot;0&quot;>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;AUE01&quot; name=&quot;AUE01&quot;>AUE01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ken Auer et al. 2001. &lt;i>Extreme Programming Applied: Playing to Win.&lt;/i> Addison-Wesley Publishing&#xD;
-                    Co.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Experiences from pioneers in applying XP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BEC00&quot; name=&quot;BEC00&quot;>BEC00&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Kent Beck 2000. &lt;i>Extreme Programming Explained&lt;/i> Addison-Wesley Publishing Co.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Good introduction to the fundamental ideas of XP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;BEC01&quot; name=&quot;BEC01&quot;>BEC01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Kent Beck, Martin Fowler 2001. &lt;i>Planning Extreme Programming&lt;/i> Addison-Wesley Publishing Co.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Explains how to plan and manage an XP project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-        &lt;tbody>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;COC01&quot; name=&quot;COC01&quot;>COC01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Alistair Cockburn 2001. &lt;i>Agile Software Development&lt;/i> Addison-Wesley Publishing Co.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Peers into the team dynamics, the cultures, the communications aspects of software development.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;FOW99&quot; name=&quot;FOW99&quot;>FOW99&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Martin Fowler et al. 1999. &lt;i>Refactoring: Improving the Design of Existing Code&lt;/i> Addison-Wesley&#xD;
-                    Publishing Co.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;JEF01&quot; name=&quot;JEF01&quot;>JEF01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Ron Jeffries, Ann Anderson, and Chet Hendrickson 2001. &lt;i>Extreme Programming Installed.&lt;/i>&#xD;
-                    Addison-Wesley.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    This book describes practical Extreme Programming techniques.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KER01&quot; name=&quot;KER01&quot;>KER01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Norman L. Kerth, April 2001. &lt;i>Project Retrospectives: A Handbook for Team Reviews.&lt;/i> Dorset&#xD;
-                    House.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    &quot;Presents a convincing argument for the value of taking the time to study past projects and learn from&#xD;
-                    them [...] Kerth's sensitivity to the complex interpersonal issues surrounding project retrospectives&#xD;
-                    will help any facilitator, participant, or manager get the most out of these important learning&#xD;
-                    activities.&quot; Karl E. Wiegers, February 8, 2003.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;KRO03&quot; name=&quot;KRO03&quot;>KRO03&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Per Kroll and Philippe Kruchten 2003. &lt;i>The Rational Unified Process Made Easy, A Practitioners Guide&#xD;
-                    to the RUP.&lt;/i> Addison Wesley Longman.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A practical guide to adopting the spirit, principles and practices of the RUP. An invaluable resource&#xD;
-                    in helping you decide how to apply the RUP in your organization or project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;NEW01&quot; name=&quot;NEW01&quot;>NEW01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    James Newkirk and Robert Martin 2001. &lt;i>Extreme Programming in Practice.&lt;/i> Addison-Wesley Publishing&#xD;
-                    Co.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A report of experience using XP on a web project.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;SUC01&quot; name=&quot;SUC01&quot;>SUC01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    Giancarlo Succi, Michele Marchesi 2001. &lt;i>Extreme Programming Examined.&lt;/i> Addison-Wesley Publishing&#xD;
-                    Co.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    A collection of papers covering a wide variety of topics related to XP.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                    &lt;a id=&quot;WAK01&quot; name=&quot;WAK01&quot;>WAK01&lt;/a>&#xD;
-                &lt;/td>&#xD;
-                &lt;td colspan=&quot;2&quot;>&#xD;
-                    William Wake 2001. &lt;i>Extreme Programming Explored.&lt;/i> Addison-Wesley Publishing Co.&amp;nbsp;&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                    Based on the popular XPlorations website. Specific subjects are explored in detail.&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-            &lt;tr>&#xD;
-                &lt;td valign=&quot;top&quot; width=&quot;12%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td width=&quot;10%&quot;>&#xD;
-                &lt;/td>&#xD;
-                &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;>&#xD;
-                &lt;/td>&#xD;
-            &lt;/tr>&#xD;
-        &lt;/tbody>&#xD;
-    &lt;/table>&#xD;
-&lt;/div></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/xp_artifacts.xmi b/XP/xp/guidances/supportingmaterials/xp_artifacts.xmi
deleted file mode 100644
index 241a354..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_artifacts.xmi
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-O3LVBobhzFRt-5bytDkqqQ"
-    name="xp_artifacts,1.545655831828372E-305" guid="-O3LVBobhzFRt-5bytDkqqQ" changeDate="2006-11-29T19:45:12.644-0500"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_artifact__overview_of_all_xp_artifacts&quot; name=&quot;XE_artifact__overview_of_all_xp_artifacts&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    In the spirit of simplicity, one of the basic &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a>, the number of artifacts in XP is fairly small. Actually, in XP we don't really talk about artifacts as&#xD;
-    such. Except for the production code, all other artifacts generated by the process imply work that is tangential to&#xD;
-    getting to the end goal, a running product. In theory, everything else should be considered as optional. The set of&#xD;
-    artifacts presented&amp;nbsp;here is commonly used by XP teams to deliver software in an efficient manner. As a rule, try&#xD;
-    to limit the amount of effort put on any tangential work unless it can be proved to improve the process in some&#xD;
-    demonstrable way.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The XP artifacts are:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_vision.html&quot; guid=&quot;{2300FB25-7249-4481-A1BD-978240906832}&quot;>Vision&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_user_story.html&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;>User Story&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_customer_test.html&quot; guid=&quot;{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}&quot;>Customer Test&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_release_plan.html&quot; guid=&quot;{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}&quot;>Release Plan&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_metaphor.html&quot; guid=&quot;{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}&quot;>Metaphor (System of Names)&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_iteration_plan.html&quot; guid=&quot;{DC18E34B-70C1-403D-84CC-1BF117A7473D}&quot;>Iteration Plan&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_coding_standard.html&quot; guid=&quot;{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}&quot;>Coding Standard&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_unit_test.html&quot; guid=&quot;{D156652E-7C52-4EBD-8F23-F38169877A57}&quot;>Unit Test&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_production_code.html&quot; guid=&quot;{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}&quot;>Production Code&lt;/a>&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../xp/workproducts/xp_build.html&quot; guid=&quot;{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}&quot;>Build&lt;/a>&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/xp_copyright.xmi b/XP/xp/guidances/supportingmaterials/xp_copyright.xmi
deleted file mode 100644
index 54b8b80..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_copyright.xmi
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-31JQsY6FjFegmq-JJZdndg"
-    name=",_XI5PQHEPEdug-a-RuUM3Hg" guid="-31JQsY6FjFegmq-JJZdndg" changeDate="2006-11-10T18:05:13.550-0500">
-  <mainDescription>Copyright (c) 2002, 2006 IBM Corporation and Object Mentor. All rights reserved. &lt;br />&#xD;
-This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which&#xD;
-accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot; target=&quot;_blank&quot;>http://www.eclipse.org/legal/epl-v10.html&lt;/a>. &lt;br />&#xD;
-Contributors: IBM Corporation and Object Mentor - initial implementation&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/xp_customer_team.xmi b/XP/xp/guidances/supportingmaterials/xp_customer_team.xmi
deleted file mode 100644
index 2d1bd76..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_customer_team.xmi
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-mZMamrTcnR6xoZgvw9XU-A"
-    name="xp_customer_team,2.9889538140050517E-306" guid="-mZMamrTcnR6xoZgvw9XU-A"
-    changeDate="2005-12-06T05:43:10.832-0500">
-  <mainDescription>&lt;p>&#xD;
-    The customer team provides the requirements, sets the priorities and steers the project. The customer team can be made&#xD;
-    up of one or more business representatives from different parts of the organization. If there is more than one&#xD;
-    representative, it is important that the customer team speak to the developers in one voice (&quot;The Customer&quot;) in order&#xD;
-    to keep communication focused. It is best if the customer team includes a real end user who knows the domain and what&#xD;
-    is needed. There may be a manager, providing resources, handling external communication and coordinating activities.&#xD;
-    The team may include testers, who help the customer define the customer acceptance tests. Analysts may also help to&#xD;
-    define the requirements.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/xp_developer_team.xmi b/XP/xp/guidances/supportingmaterials/xp_developer_team.xmi
deleted file mode 100644
index 7082e41..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_developer_team.xmi
+++ /dev/null
@@ -1,15 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-_11Y5NHJcC5lkqB4CeSpbg"
-    name="xp_developer_team,8.608243854485154E-306" guid="-_11Y5NHJcC5lkqB4CeSpbg"
-    changeDate="2005-12-06T05:43:06.686-0500">
-  <mainDescription>&lt;p>&#xD;
-    The developer team writes the software that will meet the customer's needs. The team consists of programmers, and&#xD;
-    commonly a coach, who helps the team stay on track and facilitates the process.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    &lt;br />&#xD;
-    &lt;br />&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/supportingmaterials/xp_organization.xmi b/XP/xp/guidances/supportingmaterials/xp_organization.xmi
deleted file mode 100644
index 3d001ab..0000000
--- a/XP/xp/guidances/supportingmaterials/xp_organization.xmi
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-2nINowSo0VedqZTd4LIZIg"
-    name="xp_organization,5.613949040902463E-308" guid="-2nINowSo0VedqZTd4LIZIg" changeDate="2005-12-06T06:12:10.223-0500">
-  <mainDescription>&lt;p>&#xD;
-    On all but the smallest of projects, the people involved in a software project will be part of one or more entities&#xD;
-    (businesses, functional groups, governments, communities, etc.). The &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP Practices&lt;/a> focus on the roles directly involved in identifying what the software needs to do (&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_customer_team.html&quot; guid=&quot;2.9889538140050517E-306&quot;>XP Customer Team&lt;/a>) and developing that software (&lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/supportingmaterials/xp_developer_team.html&quot; guid=&quot;8.608243854485154E-306&quot;>XP Developer Team&lt;/a>). To support those teams, the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/whole_team.html&quot; guid=&quot;7.89591827591278E-306&quot;>Whole Team&lt;/a> includes a third important group, the XP Organization.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The specific roles that XP identifies as part of the XP Organization are the XP Tracker and the XP Coach. The XP&#xD;
-    Organization also includes all of the people who make up the infrastructure that allows the project to exist. This&#xD;
-    includes management, accounting, support, facilities, etc. Because these are supporting roles, XP attempts to minimize&#xD;
-    the dependence of the XP Customer Team and the XP Developer Team on the XP Organization. In XP, the goal is for the&#xD;
-    whole team to be self-managing and largely self-supporting. XP does not give specific practice guidance to these other&#xD;
-    roles, but does suggest that these roles also guide their practices with the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/xp_values.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a> of communication, simplicity, feedback, and courage.&#xD;
-&lt;/p>&lt;br /></mainDescription>
-</org.eclipse.epf.uma:ContentDescription>
diff --git a/XP/xp/guidances/whitepapers/refactoring.xmi b/XP/xp/guidances/whitepapers/refactoring.xmi
deleted file mode 100644
index 59b8d61..0000000
--- a/XP/xp/guidances/whitepapers/refactoring.xmi
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-ql_2w28A9SIIZQca3Wg-kQ"
-    name="refactoring,1.0713784560673905E-305" guid="-ql_2w28A9SIIZQca3Wg-kQ" changeDate="2006-11-10T18:40:03.134-0500"
-    version="1.0.0">
-  <mainDescription>&lt;address>
-    By&amp;nbsp;Michael Feathers.
-&lt;/address>
-&lt;address>
-    All Rights Reserved.
-&lt;/address>
-&lt;p>
-    A&amp;nbsp;&lt;a href=&quot;resources/refactoring.pdf&quot; target=&quot;_blank&quot;>PDFversion&lt;/a> of this article is available; however, you
-    must have &lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot; target=&quot;_blank&quot;>Adobe Acrobat&lt;/a> installed to
-    view it.
-&lt;/p>
-&lt;h3>
-    Abstract
-&lt;/h3>
-&lt;p>
-    This paper addresses refactoring from the context of starting with legacy code, as opposed to so called &quot;green field&quot;
-    development. Topics covered include: Test Coverings; Inflection Points; Breaking External and Internal Dependencies.
-&lt;/p>
-&lt;p>
-    &lt;br />
-     &amp;nbsp;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:GuidanceDescription>
diff --git a/XP/xp/guidances/whitepapers/resources/refactoring.pdf b/XP/xp/guidances/whitepapers/resources/refactoring.pdf
deleted file mode 100644
index a627aed..0000000
--- a/XP/xp/guidances/whitepapers/resources/refactoring.pdf
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/whitepapers/resources/xppair.pdf b/XP/xp/guidances/whitepapers/resources/xppair.pdf
deleted file mode 100644
index fe0eb9f..0000000
--- a/XP/xp/guidances/whitepapers/resources/xppair.pdf
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/whitepapers/resources/xprefact.pdf b/XP/xp/guidances/whitepapers/resources/xprefact.pdf
deleted file mode 100644
index 187c9b1..0000000
--- a/XP/xp/guidances/whitepapers/resources/xprefact.pdf
+++ /dev/null
Binary files differ
diff --git a/XP/xp/guidances/whitepapers/xp_guidelines_pair_programming.xmi b/XP/xp/guidances/whitepapers/xp_guidelines_pair_programming.xmi
deleted file mode 100644
index 08381a8..0000000
--- a/XP/xp/guidances/whitepapers/xp_guidelines_pair_programming.xmi
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-Ymu8T1hQ_QoxCaNAQhD9AA"
-    name="rup_xp_guidelines_pair_programming,7.290386721197834E-306" guid="-Ymu8T1hQ_QoxCaNAQhD9AA"
-    changeDate="2006-11-29T18:10:56.067-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_XP__Pair_Programming&quot; name=&quot;XE_XP__Pair_Programming&quot;>&lt;/a> 
-&lt;address>
-    By Robert C. Martin&lt;br />
-     Object Mentor, Inc.&lt;br />
-     &lt;a href=&quot;http://www.objectmentor.com&quot; target=&quot;_blank&quot;>www.objectmentor.com&lt;/a>
-&lt;/address>
-All Rights Reserved.&amp;nbsp; 
-&lt;p>
-    A &lt;a href=&quot;resources/xppair.pdf&quot; target=&quot;_blank&quot;>PDF version&lt;/a> of this article is available, however, you must have
-    &lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot; target=&quot;_blank&quot;>Adobe Acrobat&lt;/a> installed to view it.
-&lt;/p>
-&lt;h3>
-    Abstract
-&lt;/h3>
-&lt;p>
-    Pair programming is a well-tested, well accepted alternative to code reviews. More than that, it's a fundamentally
-    different way to write software. The benefits go far beyond productivity and quality, and affect such things as the
-    robustness and morale of the team.
-&lt;/p>
-&lt;br />
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:GuidanceDescription>
diff --git a/XP/xp/guidances/whitepapers/xp_guidelines_test-first_design_and_refactoring.xmi b/XP/xp/guidances/whitepapers/xp_guidelines_test-first_design_and_refactoring.xmi
deleted file mode 100644
index 799e933..0000000
--- a/XP/xp/guidances/whitepapers/xp_guidelines_test-first_design_and_refactoring.xmi
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-_AgYWcSlbVBZOVcQfJuBnQ"
-    name="xp_guidelines_test-first_design_and_refactoring,6.334658646686929E-306"
-    guid="-_AgYWcSlbVBZOVcQfJuBnQ" changeDate="2006-11-29T18:11:30.669-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_XP__Test-first_Design_and_Refactoring&quot; name=&quot;XE_XP__Test-first_Design_and_Refactoring&quot;>&lt;/a> 
-&lt;address>
-    By Robert C. Martin&lt;br />
-     Object Mentor, Inc.&lt;br />
-     &lt;a href=&quot;http://www.objectmentor.com&quot; target=&quot;_blank&quot;>www.objectmentor.com&lt;/a>
-&lt;/address>
-&lt;p>
-    All Rights Reserved.
-&lt;/p>
-&lt;p>
-    A &lt;a href=&quot;resources/xprefact.pdf&quot; target=&quot;_blank&quot;>PDF version&lt;/a> of this article is available, however, you must have
-    &lt;a href=&quot;http://www.adobe.com/products/acrobat/alternate.html&quot; target=&quot;_blank&quot;>Adobe Acrobat&lt;/a> installed to view it.
-&lt;/p>
-&lt;h3>
-    Abstract&amp;nbsp;
-&lt;/h3>
-&lt;p>
-    This paper demonstrates the techniques of refactoring in the presence of test-first design and conveys a programming
-    attitude. A program is not done when it works; a program is done when it works &lt;i>and&lt;/i> when it's as simple and clean
-    as possible.
-&lt;/p>
-&lt;br />
-&lt;br /></mainDescription>
-</org.eclipse.epf.uma:GuidanceDescription>
diff --git a/XP/xp/plugin.xmi b/XP/xp/plugin.xmi
deleted file mode 100644
index 4e74300..0000000
--- a/XP/xp/plugin.xmi
+++ /dev/null
@@ -1,821 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore" xmlns:org.eclipse.epf.uma.resourcemanager="http:///org/eclipse/epf/uma/resourcemanager.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0">
-  <org.eclipse.epf.uma.resourcemanager:ResourceManager xmi:id="_TOlmEGMyEdqsrK7eslBiiA"
-      guid="_TOlmEGMyEdqsrK7eslBiiA">
-    <resourceDescriptors xmi:id="_TOlmEWMyEdqsrK7eslBiiA" id="-MqIvi7DInwjz8kX7QEyU3g"
-        uri="customcategories/getting_started.xmi"/>
-    <resourceDescriptors xmi:id="_TPioUGMyEdqsrK7eslBiiA" id="-hZ1cvRhigpDb6WbQckPWcA"
-        uri="customcategories/key_xp_concepts.xmi"/>
-    <resourceDescriptors xmi:id="_TPou8GMyEdqsrK7eslBiiA" id="-LVHbtWMGC3pAL9abD018MA"
-        uri="customcategories/xp_best_practices.xmi"/>
-    <resourceDescriptors xmi:id="_TQBJcGMyEdqsrK7eslBiiA" id="-QcM1bn-XJLcMSggRp54YlQ"
-        uri="customcategories/conceptual_road_maps.xmi"/>
-    <resourceDescriptors xmi:id="_TQHQEGMyEdqsrK7eslBiiA" id="-8FSBtYSGN9EGWRr1N6fbPQ"
-        uri="customcategories/guidelines_overview.xmi"/>
-    <resourceDescriptors xmi:id="_TQNWsGMyEdqsrK7eslBiiA" id="-_GqtAEsGnq12qQmyqWdHHQ"
-        uri="customcategories/xp_white_papers.xmi"/>
-    <resourceDescriptors xmi:id="_TQNWsWMyEdqsrK7eslBiiA" id="-a8huB5Sn0Qjfe-SkZubH1w"
-        uri="customcategories/references.xmi"/>
-    <resourceDescriptors xmi:id="_Teo0QGMyEdqsrK7eslBiiA" id="-c5D4uYtVcDvab8GzkO0HiQ"
-        uri="customcategories/xp_roles_and_tasks.xmi"/>
-    <resourceDescriptors xmi:id="_TgcyIGMyEdqsrK7eslBiiA" id="-W67fNE0rT1c2PM-20yXbrw"
-        uri="tasks/develop_xp_vision.xmi"/>
-    <resourceDescriptors xmi:id="_Tgo_YGMyEdqsrK7eslBiiA" id="-ZUxMgSWqLlaO5p1r1-ug6Q"
-        uri="workproducts/xp_vision.xmi"/>
-    <resourceDescriptors xmi:id="_TgvGAGMyEdqsrK7eslBiiA" id="-U8NScY6mORb4XPcNZ_mrEA"
-        uri="guidances/concepts/refactoring_xp_programming.xmi"/>
-    <resourceDescriptors xmi:id="_Tg1MoGMyEdqsrK7eslBiiA" id="--qg2qc3dqmgeB63Nx7Zndg"
-        uri="guidances/concepts/coding_standard.xmi"/>
-    <resourceDescriptors xmi:id="_Tg7TQGMyEdqsrK7eslBiiA" id="-n52TyFa7Reb3LOJV1JMpvg"
-        uri="guidances/concepts/pair_programming.xmi"/>
-    <resourceDescriptors xmi:id="_ThBZ4GMyEdqsrK7eslBiiA" id="-ql_2w28A9SIIZQca3Wg-kQ"
-        uri="guidances/whitepapers/refactoring.xmi"/>
-    <resourceDescriptors xmi:id="_Th-cIGMyEdqsrK7eslBiiA" id="-qIbMRqe8wqKN2-HLtNUcLw"
-        uri="tasks/define_coding_standard.xmi"/>
-    <resourceDescriptors xmi:id="_Th-cIWMyEdqsrK7eslBiiA" id="-9EbmL3qGJ_TemB83cJublQ"
-        uri="tasks/estimate_task.xmi"/>
-    <resourceDescriptors xmi:id="_TiEiwGMyEdqsrK7eslBiiA" id="-DbsgXRUjLhsnnpioGI2b3g"
-        uri="tasks/implement_spike.xmi"/>
-    <resourceDescriptors xmi:id="_TiQwAGMyEdqsrK7eslBiiA" id="-IoT5LZUu3vnNFp-pwPUMHA"
-        uri="tasks/refactor_code.xmi"/>
-    <resourceDescriptors xmi:id="_TiW2oGMyEdqsrK7eslBiiA" id="-dbA7zKOJY5WPZyLXErA9vw"
-        uri="guidances/guidelines/refactoring.xmi"/>
-    <resourceDescriptors xmi:id="_Ti1XwGMyEdqsrK7eslBiiA" id="-nfbUMyTTqEbCp3HDn-NjOA"
-        uri="guidances/guidelines/pair_programming.xmi"/>
-    <resourceDescriptors xmi:id="_TjHroGMyEdqsrK7eslBiiA" id="-NznKylxa2Y_MG8lACUV9Bw"
-        uri="workproducts/xp_coding_standard.xmi"/>
-    <resourceDescriptors xmi:id="_TjNyQGMyEdqsrK7eslBiiA" id="-HkQclhewSbkFSomo1l_LBg"
-        uri="guidances/examples/test-ideas_catalog_examples.xmi"/>
-    <resourceDescriptors xmi:id="_TjT44GMyEdqsrK7eslBiiA" id="-0rSxLFlmQfyKrgnqi1NKrg"
-        uri="guidances/concepts/simple_design.xmi"/>
-    <resourceDescriptors xmi:id="_TjZ_gGMyEdqsrK7eslBiiA" id="-2OU2wQP_WNWX5zzWzx4ANw"
-        uri="guidances/concepts/metaphor_system_of_names.xmi"/>
-    <resourceDescriptors xmi:id="_TjgGIGMyEdqsrK7eslBiiA" id="-umDp1nFYrMetgnJ-kUMhHw"
-        uri="tasks/breakdown_story.xmi"/>
-    <resourceDescriptors xmi:id="_Tj-nQGMyEdqsrK7eslBiiA" id="-Z9xFd9JTnJuNN5S27p06UQ"
-        uri="tasks/estimate_user_story.xmi"/>
-    <resourceDescriptors xmi:id="_TkEt4GMyEdqsrK7eslBiiA" id="-sQUFozEqR3Gpa5PnCjFh9Q"
-        uri="workproducts/xp_metaphor.xmi"/>
-    <resourceDescriptors xmi:id="_TkK0gGMyEdqsrK7eslBiiA" id="-35rZhRLEVuTVI4280ncN0A"
-        uri="guidances/concepts/continuous_integration.xmi"/>
-    <resourceDescriptors xmi:id="_TkQ7IGMyEdqsrK7eslBiiA" id="--tP2hgRfEkZPGYvy1y0GZQ"
-        uri="tasks/integrate_system.xmi"/>
-    <resourceDescriptors xmi:id="_TkXBwGMyEdqsrK7eslBiiA" id="-rphHqeONv59sqZq_6FzE6Q"
-        uri="workproducts/xp_build.xmi"/>
-    <resourceDescriptors xmi:id="_TkdIYGMyEdqsrK7eslBiiA" id="-oW2j2l-rXqHeWPIgjPpbng"
-        uri="guidances/concepts/customer_tests.xmi"/>
-    <resourceDescriptors xmi:id="_TkjPAGMyEdqsrK7eslBiiA" id="-nGaswirSOYturOoUWwGdRw"
-        uri="guidances/concepts/product_quality.xmi"/>
-    <resourceDescriptors xmi:id="_TkpVoGMyEdqsrK7eslBiiA" id="-3i1jvKMUGGmAYPw4dHFbEg"
-        uri="guidances/concepts/test-ideas_list.xmi"/>
-    <resourceDescriptors xmi:id="_Tk7pgGMyEdqsrK7eslBiiA" id="-WgE0oiE2yddCOMnfzL25Gw"
-        uri="tasks/define_customer_test.xmi"/>
-    <resourceDescriptors xmi:id="_TlCXMGMyEdqsrK7eslBiiA" id="-c7t_eJuo1g5hpWTYTCItig"
-        uri="guidances/guidelines/equivalence_class_analysis.xmi"/>
-    <resourceDescriptors xmi:id="_TlOkcGMyEdqsrK7eslBiiA" id="-p0GGwGNG5O8Dn6O6ZzivIw"
-        uri="tasks/report_acceptance_test_result.xmi"/>
-    <resourceDescriptors xmi:id="_TlUrEGMyEdqsrK7eslBiiA" id="-KfsuH9i0hVMlGV7PVIa3FQ"
-        uri="roles/xp_tester.xmi"/>
-    <resourceDescriptors xmi:id="_TokMUGMyEdqsrK7eslBiiA" id="-fm-gBePbdl_WMsE5NxEreQ"
-        uri="tasks/automate_acceptance_test.xmi"/>
-    <resourceDescriptors xmi:id="_ToqS8GMyEdqsrK7eslBiiA" id="-6RyabSc-ZUEtoEKb90BCbg"
-        uri="tasks/run_acceptance_test.xmi"/>
-    <resourceDescriptors xmi:id="_TowZkGMyEdqsrK7eslBiiA" id="-OPKuXnenD910fJyGKA99aw"
-        uri="tasks/setup_tester_environment.xmi"/>
-    <resourceDescriptors xmi:id="_To2gMGMyEdqsrK7eslBiiA" id="-YYMUwBepQ28JU78LtraO3w"
-        uri="workproducts/xp_customer_test.xmi"/>
-    <resourceDescriptors xmi:id="_To8m0GMyEdqsrK7eslBiiA" id="-gAMIwaLmqX7bf6GLCqwB-g"
-        uri="roles/xp_coach.xmi"/>
-    <resourceDescriptors xmi:id="_TpCtcGMyEdqsrK7eslBiiA" id="-DoLoZOTPa_LacQ3jUG_lsg"
-        uri="guidances/concepts/xp_sustainable_pace.xmi"/>
-    <resourceDescriptors xmi:id="_TpI0EGMyEdqsrK7eslBiiA" id="-u-Svthjtn1xLK2IwVUpk5Q"
-        uri="tasks/adapt_and_improve_process.xmi"/>
-    <resourceDescriptors xmi:id="_TpO6sGMyEdqsrK7eslBiiA" id="-I3yOxhkbTu3OCbzQ0sUsyA"
-        uri="tasks/explain_process.xmi"/>
-    <resourceDescriptors xmi:id="_TpVBUGMyEdqsrK7eslBiiA" id="-32JWpciwfc2e7HgQavJDkw"
-        uri="tasks/improve_team_skills.xmi"/>
-    <resourceDescriptors xmi:id="_TpbH8GMyEdqsrK7eslBiiA" id="-SH3UFVsPViLT3hOalbaxgA"
-        uri="tasks/keep_process_on_track.xmi"/>
-    <resourceDescriptors xmi:id="_TphOkGMyEdqsrK7eslBiiA" id="-L85wOCiwe2O8D8CISEGGGg"
-        uri="tasks/resolve_conflicts.xmi"/>
-    <resourceDescriptors xmi:id="_TpnVMGMyEdqsrK7eslBiiA" id="-FIhk4OEzZl2IAVMXurpBLA"
-        uri="roles/xp_tracker.xmi"/>
-    <resourceDescriptors xmi:id="_Tptb0GMyEdqsrK7eslBiiA" id="-FxF90KOknQ5km30pP0038w"
-        uri="tasks/track_story_completion.xmi"/>
-    <resourceDescriptors xmi:id="_TpzicGMyEdqsrK7eslBiiA" id="-0iRnQW0M9QDTNqWNijBB5A"
-        uri="tasks/track_task_completion.xmi"/>
-    <resourceDescriptors xmi:id="_Tp5pEGMyEdqsrK7eslBiiA" id="-vcCn_ksJo5Jw27aNZb1Cvw"
-        uri="guidances/concepts/small_releases.xmi"/>
-    <resourceDescriptors xmi:id="_Tp_vsGMyEdqsrK7eslBiiA" id="-7gEOFFavlkSqwIoTNrvfJA"
-        uri="tasks/define_release_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TqF2UGMyEdqsrK7eslBiiA" id="-85F1Tegv16godTFTKyPdww"
-        uri="guidances/guidelines/planning_game.xmi"/>
-    <resourceDescriptors xmi:id="_TqSDkGMyEdqsrK7eslBiiA" id="-WOPGmKUuYbvVeVHp0sgEgw"
-        uri="tasks/report_project_status.xmi"/>
-    <resourceDescriptors xmi:id="_TqYKMGMyEdqsrK7eslBiiA" id="-cU3MzukpGPAtw0wSS23R-g"
-        uri="tasks/update_iteration_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TqeQ0GMyEdqsrK7eslBiiA" id="-YO16TebjP7U0gkcYg7OY_A"
-        uri="tasks/update_release_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TqkXcGMyEdqsrK7eslBiiA" id="-mMZ9KUhiFwBbzSFjq_tO4A"
-        uri="workproducts/xp_release_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TqqeEGMyEdqsrK7eslBiiA" id="-23MZj6vLVbgbkXaptH4riQ"
-        uri="roles/xp_system_administrator.xmi"/>
-    <resourceDescriptors xmi:id="_TqwksGMyEdqsrK7eslBiiA" id="-1rVEQRCvrcicCdhpuuIZ8w"
-        uri="tasks/setup_programmer_environment.xmi"/>
-    <resourceDescriptors xmi:id="_Tq8x8GMyEdqsrK7eslBiiA" id="-OuWRQbxXBGWox8SgcCr6sQ"
-        uri="guidances/guidelines/xp_environment.xmi"/>
-    <resourceDescriptors xmi:id="_TrC4kGMyEdqsrK7eslBiiA" id="-92rjXjWhll5LOtPc58YERg"
-        uri="roles/xp_customer.xmi"/>
-    <resourceDescriptors xmi:id="_TsAh4GMyEdqsrK7eslBiiA" id="-CPHs6R59_druVDY6nRjHEw"
-        uri="guidances/concepts/planning_game.xmi"/>
-    <resourceDescriptors xmi:id="_TsGogGMyEdqsrK7eslBiiA" id="-BWG5zUGb8c25kuLJ3ck8ng"
-        uri="tasks/define_iteration_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TsMvIGMyEdqsrK7eslBiiA" id="-cqTu_uwmZrF3sFspx465XQ"
-        uri="tasks/write_user_story.xmi"/>
-    <resourceDescriptors xmi:id="_TsS1wGMyEdqsrK7eslBiiA" id="-45BLJONIjGn7h4z87VXqHQ"
-        uri="workproducts/xp_iteration_plan.xmi"/>
-    <resourceDescriptors xmi:id="_TslJoGMyEdqsrK7eslBiiA" id="-f1cDEBpC5wbDTQ9ru9UbLw"
-        uri="workproducts/xp_production_code.xmi"/>
-    <resourceDescriptors xmi:id="_TsrQQGMyEdqsrK7eslBiiA" id="-YP0i7TC6QNgemddcj1iE7g"
-        uri="guidances/concepts/collective_ownership.xmi"/>
-    <resourceDescriptors xmi:id="_TsxW4GMyEdqsrK7eslBiiA" id="-yaD6WKGdrZ0n0yBSpwPr4g"
-        uri="guidances/concepts/test_driven_development.xmi"/>
-    <resourceDescriptors xmi:id="_Ts3dgGMyEdqsrK7eslBiiA" id="-RoFHDUeLz4UFKDuFirQp3g"
-        uri="roles/xp_programmer.xmi"/>
-    <resourceDescriptors xmi:id="_Ts9kIGMyEdqsrK7eslBiiA" id="-aJBLg1aguP1bIWvQbJSd6w"
-        uri="guidances/concepts/developer_testing.xmi"/>
-    <resourceDescriptors xmi:id="_TtV-oGMyEdqsrK7eslBiiA" id="-3AbfvnHrCOIQS63sEjrOew"
-        uri="guidances/concepts/test-first_design.xmi"/>
-    <resourceDescriptors xmi:id="_TtiL4GMyEdqsrK7eslBiiA" id="-OrjIrRLW6v_XnqLUQ9GYaQ"
-        uri="guidances/concepts/test-ideas_catalog.xmi"/>
-    <resourceDescriptors xmi:id="_Tt6mYGMyEdqsrK7eslBiiA" id="-Ymu8T1hQ_QoxCaNAQhD9AA"
-        uri="guidances/whitepapers/xp_guidelines_pair_programming.xmi"/>
-    <resourceDescriptors xmi:id="_TuAtAGMyEdqsrK7eslBiiA" id="-_AgYWcSlbVBZOVcQfJuBnQ"
-        uri="guidances/whitepapers/xp_guidelines_test-first_design_and_refactoring.xmi"/>
-    <resourceDescriptors xmi:id="_TuGzoGMyEdqsrK7eslBiiA" id="-kNZQ2Mr_nyfmCboprjMNTg"
-        uri="tasks/write_code.xmi"/>
-    <resourceDescriptors xmi:id="_TuM6QGMyEdqsrK7eslBiiA" id="-jc10ie6UDWUJzSDfsQExjw"
-        uri="guidances/guidelines/test_driven_development_tdd.xmi"/>
-    <resourceDescriptors xmi:id="_TurbYGMyEdqsrK7eslBiiA" id="-nwZMQTZtIwI5weh9c_HoYA"
-        uri="guidances/guidelines/test_ideas_for_method_calls.xmi"/>
-    <resourceDescriptors xmi:id="_TvD14GMyEdqsrK7eslBiiA" id="-60dp5lxFJEpUarhchGCnHw"
-        uri="guidances/guidelines/test_ideas_for_statechart_and_flow_diagrams.xmi"/>
-    <resourceDescriptors xmi:id="_TvQDIGMyEdqsrK7eslBiiA" id="-FX8hDYUKOXsrQulFe9lwtw"
-        uri="guidances/guidelines/test_ideas_for_booleans_and_boundaries.xmi"/>
-    <resourceDescriptors xmi:id="_TxcbgGMyEdqsrK7eslBiiA" id="-rtY57MTVQrEcfTKwD3-Wvw"
-        uri="workproducts/xp_user_story.xmi"/>
-    <resourceDescriptors xmi:id="_TxiiIGMyEdqsrK7eslBiiA" id="-dwfXb2dWJOQkTuLo-BTFeQ"
-        uri="workproducts/xp_unit_test.xmi"/>
-    <resourceDescriptors xmi:id="_Tx68oGMyEdqsrK7eslBiiA" id="-PCk5_o83KYiPZaKUzt021A"
-        uri="guidances/supportingmaterials/getting_started_with_xp.xmi"/>
-    <resourceDescriptors xmi:id="_TyBDQGMyEdqsrK7eslBiiA" id="-nO38_JQ9G3FQvNlAT5Agqg"
-        uri="guidances/concepts/what_is_xp.xmi"/>
-    <resourceDescriptors xmi:id="_TyNQgGMyEdqsrK7eslBiiA" id="-nIpFvBhY9WogqrEQv4NknQ"
-        uri="guidances/concepts/motivation.xmi"/>
-    <resourceDescriptors xmi:id="_TyT-MGMyEdqsrK7eslBiiA" id="-EHSlFv7Gla5oCPGBiaZKow"
-        uri="guidances/concepts/agile_software_development.xmi"/>
-    <resourceDescriptors xmi:id="_TygLcGMyEdqsrK7eslBiiA" id="-pA6XLJKgRiwDTEp_qMlQ9g"
-        uri="guidances/concepts/xp_values.xmi"/>
-    <resourceDescriptors xmi:id="_TymSEGMyEdqsrK7eslBiiA" id="-24MPC2FhJbx7Fr0F6QEq8A"
-        uri="guidances/concepts/xp_practices.xmi"/>
-    <resourceDescriptors xmi:id="_TysYsGMyEdqsrK7eslBiiA" id="-vEvfeoyYAPDr-jfyX2QLww"
-        uri="guidances/concepts/xp_rights.xmi"/>
-    <resourceDescriptors xmi:id="_TzK50GMyEdqsrK7eslBiiA" id="-27sE-swoOUGtar9a0f3RPw"
-        uri="guidances/concepts/extreme_programming.xmi"/>
-    <resourceDescriptors xmi:id="_TzXHEGMyEdqsrK7eslBiiA" id="-mq7aEjHjqWoRd6aWFK_Dwg"
-        uri="guidances/guidelines/open_workspace.xmi"/>
-    <resourceDescriptors xmi:id="_TzdNsGMyEdqsrK7eslBiiA" id="-8UKMv929ysWDBF1IOAAgsg"
-        uri="guidances/supportingmaterials/xp_and_agile_process_references.xmi"/>
-    <resourceDescriptors xmi:id="_T0mdMGMyEdqsrK7eslBiiA" id="-_11Y5NHJcC5lkqB4CeSpbg"
-        uri="guidances/supportingmaterials/xp_developer_team.xmi"/>
-    <resourceDescriptors xmi:id="_T0sj0GMyEdqsrK7eslBiiA" id="-mZMamrTcnR6xoZgvw9XU-A"
-        uri="guidances/supportingmaterials/xp_customer_team.xmi"/>
-    <resourceDescriptors xmi:id="_T0yqcGMyEdqsrK7eslBiiA" id="-O3LVBobhzFRt-5bytDkqqQ"
-        uri="guidances/supportingmaterials/xp_artifacts.xmi"/>
-    <resourceDescriptors xmi:id="_GkS58GZBEdqvwYzpSSc2Nw" id="-uqrgrFY-74R1FijPLvcXoQ"
-        uri="guidances/concepts/whole_team.xmi"/>
-    <resourceDescriptors xmi:id="_MhXf4GZCEdqvwYzpSSc2Nw" id="-AS84xtg2NOXfrqA6eVRzMQ"
-        uri="guidances/practices/sustainable_pace.xmi"/>
-    <resourceDescriptors xmi:id="_7IA_sGZHEdqvwYzpSSc2Nw" id="-2nINowSo0VedqZTd4LIZIg"
-        uri="guidances/supportingmaterials/xp_organization.xmi"/>
-    <resourceDescriptors xmi:id="_-s6MEHEPEdug-a-RuUM3Hg" id="-31JQsY6FjFegmq-JJZdndg"
-        uri="guidances/supportingmaterials/xp_copyright.xmi"/>
-  </org.eclipse.epf.uma.resourcemanager:ResourceManager>
-  <org.eclipse.epf.uma:MethodPlugin xmi:id="{35DCB3E1-2766-423E-A849-57ECD4F41A40}"
-      name="xp" guid="{35DCB3E1-2766-423E-A849-57ECD4F41A40}" changeDate="2006-11-08T17:45:47.271-0500"
-      copyrightStatement="_XI5PQHEPEdug-a-RuUM3Hg">
-    <methodPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6QGE-EdqnIZeW8YpHcA"
-        name="Content" guid="_mhU6QGE-EdqnIZeW8YpHcA">
-      <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6QWE-EdqnIZeW8YpHcA"
-          name="Categories" guid="_mhU6QWE-EdqnIZeW8YpHcA">
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6QmE-EdqnIZeW8YpHcA"
-            name="Domains" guid="_mhU6QmE-EdqnIZeW8YpHcA"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6Q2E-EdqnIZeW8YpHcA"
-            name="Disciplines" guid="_mhU6Q2E-EdqnIZeW8YpHcA"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6RGE-EdqnIZeW8YpHcA"
-            name="RoleSets" guid="_mhU6RGE-EdqnIZeW8YpHcA">
-          <contentElements xsi:type="org.eclipse.epf.uma:RoleSet" xmi:id="_13azwGNdEdqsrK7eslBiiA"
-              name="xp_roles" guid="_13azwGNdEdqsrK7eslBiiA" presentationName="XP Roles"
-              roles="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6} {3C90DD4F-CFDB-4111-922D-3B840B8942DE} {08A6AF28-69B1-42DC-A957-2E6CDCB436C1} {0CB3C507-AFEE-4DA8-982B-9B93C8729910} {D8FE277E-4F9A-47EB-855F-C451D601BBAF} {FB65D00B-8304-4CF7-9969-52CE82F503DC}"/>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6RWE-EdqnIZeW8YpHcA"
-            name="WP Types" guid="_mhU6RWE-EdqnIZeW8YpHcA"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6RmE-EdqnIZeW8YpHcA"
-            name="Tools" guid="_mhU6RmE-EdqnIZeW8YpHcA"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6R2E-EdqnIZeW8YpHcA"
-            name="StandardCategories" guid="_mhU6R2E-EdqnIZeW8YpHcA"/>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6SGE-EdqnIZeW8YpHcA"
-            name="CustomCategories" guid="_mhU6SGE-EdqnIZeW8YpHcA" reusedPackages="_ms9igWE-EdqnIZeW8YpHcA _mhU6SGE-EdqnIZeW8YpHcA {45A887AB-A968-48AF-8213-4D470DA9DBCC} {90FB58E1-B403-4358-85D0-BD902528D810} {01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C} {8367713C-3AEA-489D-B136-DB87D6340A3F} {DBE91BD5-0065-4049-AA61-058C77F1D2A3} {796EA4CB-0038-43B8-A568-792DCC3B9F22}">
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6SWE-EdqnIZeW8YpHcA"
-              name="Hidden" guid="_mhU6SWE-EdqnIZeW8YpHcA" reusedPackages="_mhU6SGE-EdqnIZeW8YpHcA">
-            <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_mhU6SmE-EdqnIZeW8YpHcA"
-                name="Custom Categories" guid="_mhU6SmE-EdqnIZeW8YpHcA" categorizedElements="_ms9ig2E-EdqnIZeW8YpHcA _mtDpJGE-EdqnIZeW8YpHcA _mtcqtmE-EdqnIZeW8YpHcA _mtcquWE-EdqnIZeW8YpHcA _um0n8GdjEdqlnYmIxoiUEQ _8NSdoGdjEdqlnYmIxoiUEQ"/>
-          </childPackages>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_ms9ig2E-EdqnIZeW8YpHcA"
-              name="getting_started" guid="_ms9ig2E-EdqnIZeW8YpHcA" presentationName="Getting Started"
-              variabilityType="replaces" categorizedElements="1.2284921351651456E-304 1.9093436569802954E-305 4.315031901943112E-306 2.0279775416255596E-305 6.505229665845286E-306 _8NSdoGdjEdqlnYmIxoiUEQ">
-            <presentation xmi:id="-MqIvi7DInwjz8kX7QEyU3g" href="uma://-MqIvi7DInwjz8kX7QEyU3g#-MqIvi7DInwjz8kX7QEyU3g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="1.9093436569802954E-305"
-              name="key_xp_concepts" guid="1.9093436569802954E-305" briefDescription="The following concepts are a good starting point to introduce the &quot;spirit&quot; of XP."
-              presentationName="Key XP Concepts" categorizedElements="9.251272550276345E-306 1.6390805262958034E-306 1.041091673844025E-305 1.076140803519123E-306 2.2937799026801584E-305 3.036332011267074E-306">
-            <presentation xmi:id="-hZ1cvRhigpDb6WbQckPWcA" href="uma://-hZ1cvRhigpDb6WbQckPWcA#-hZ1cvRhigpDb6WbQckPWcA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="4.315031901943112E-306"
-              name="xp_best_practices" guid="4.315031901943112E-306" presentationName="XP Best Practices"
-              categorizedElements="3.133529870649493E-306 5.762953011420275E-306 9.300699588493279E-306 2.7371805612676613E-305 3.876855509996079E-307 1.4410217108363206E-306 1.620567348185129E-306 2.297945473205673E-305 3.193414568279561E-305 1.6109092258980447E-306 4.884861766532753E-306 8.8116853923311E-307 7.89591827591278E-306">
-            <presentation xmi:id="-LVHbtWMGC3pAL9abD018MA" href="uma://-LVHbtWMGC3pAL9abD018MA#-LVHbtWMGC3pAL9abD018MA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_mtDpJGE-EdqnIZeW8YpHcA"
-              name="conceptual_road_maps" guid="_mtDpJGE-EdqnIZeW8YpHcA" presentationName="Conceptual Roadmap"
-              variabilityType="replaces" categorizedElements="5.2637267673584526E-306">
-            <presentation xmi:id="-QcM1bn-XJLcMSggRp54YlQ" href="uma://-QcM1bn-XJLcMSggRp54YlQ#-QcM1bn-XJLcMSggRp54YlQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="2.0279775416255596E-305"
-              name="guidelines_overview" guid="2.0279775416255596E-305" presentationName="Guidelines Overview"
-              categorizedElements="3.754748120034442E-307 3.269440809144354E-305 3.85153041801319E-307 8.137126904637637E-306 3.9254165491375454E-306 6.7335956461328426E-307">
-            <presentation xmi:id="-8FSBtYSGN9EGWRr1N6fbPQ" href="uma://-8FSBtYSGN9EGWRr1N6fbPQ#-8FSBtYSGN9EGWRr1N6fbPQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="6.505229665845286E-306"
-              name="xp_white_papers" guid="6.505229665845286E-306" briefDescription="Here are some white papers relating to XP."
-              presentationName="XP White Papers" categorizedElements="7.290386721197834E-306 6.334658646686929E-306 1.0713784560673905E-305">
-            <presentation xmi:id="-_GqtAEsGnq12qQmyqWdHHQ" href="uma://-_GqtAEsGnq12qQmyqWdHHQ#-_GqtAEsGnq12qQmyqWdHHQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_mtcqtmE-EdqnIZeW8YpHcA"
-              name="references" guid="_mtcqtmE-EdqnIZeW8YpHcA" presentationName="References"
-              variabilityType="replaces" categorizedElements="6.191633934532389E-306">
-            <presentation xmi:id="-a8huB5Sn0Qjfe-SkZubH1w" href="uma://-a8huB5Sn0Qjfe-SkZubH1w#-a8huB5Sn0Qjfe-SkZubH1w"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_mtcquWE-EdqnIZeW8YpHcA"
-              name="xp_basic_roles_artifacts" guid="_mtcquWE-EdqnIZeW8YpHcA" presentationName="XP Roles and Artifacts"
-              categorizedElements="3.967980776087095E-306 1.545655831828372E-305"/>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="3.967980776087095E-306"
-              name="xp_roles_and_tasks" guid="3.967980776087095E-306" presentationName="XP Roles and Tasks"
-              categorizedElements="5.613949040902463E-308">
-            <presentation xmi:id="-c5D4uYtVcDvab8GzkO0HiQ" href="uma://-c5D4uYtVcDvab8GzkO0HiQ#-c5D4uYtVcDvab8GzkO0HiQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_um0n8GdjEdqlnYmIxoiUEQ"
-              name="overview" guid="_um0n8GdjEdqlnYmIxoiUEQ" presentationName="Overview"
-              categorizedElements="_ms9ig2E-EdqnIZeW8YpHcA _mtDpJGE-EdqnIZeW8YpHcA _mtcqtmE-EdqnIZeW8YpHcA"/>
-          <contentElements xsi:type="org.eclipse.epf.uma:CustomCategory" xmi:id="_8NSdoGdjEdqlnYmIxoiUEQ"
-              name="xp_team" guid="_8NSdoGdjEdqlnYmIxoiUEQ" presentationName="XP Team"
-              categorizedElements="_13azwGNdEdqsrK7eslBiiA _mtcquWE-EdqnIZeW8YpHcA"/>
-        </childPackages>
-      </childPackages>
-      <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_mhU6S2E-EdqnIZeW8YpHcA"
-          name="CoreContent" guid="_mhU6S2E-EdqnIZeW8YpHcA">
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{90FB58E1-B403-4358-85D0-BD902528D810}"
-            name="xp_essentials" guid="{90FB58E1-B403-4358-85D0-BD902528D810}" briefDescription=" This component provides the essential concepts required to understand XP. "
-            reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {45A887AB-A968-48AF-8213-4D470DA9DBCC} {BC57C7CE-BFA8-464F-9925-D27A7968B63C} {8367713C-3AEA-489D-B136-DB87D6340A3F} {01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C} {796EA4CB-0038-43B8-A568-792DCC3B9F22}">
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{BC57C7CE-BFA8-464F-9925-D27A7968B63C}"
-              name="xp_requirements" guid="{BC57C7CE-BFA8-464F-9925-D27A7968B63C}"
-              briefDescription=" This component provides guidance for defining requirements on an XP project. "
-              reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {BC57C7CE-BFA8-464F-9925-D27A7968B63C}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{A179D686-1E79-4CB0-97B5-103B4FBBBDEF}"
-                name="xp_customer_req" guid="{A179D686-1E79-4CB0-97B5-103B4FBBBDEF}"
-                presentationName="XP Customer (Requirements)" variabilityType="contributes"
-                variabilityBasedOnElement="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-                responsibleFor="{2300FB25-7249-4481-A1BD-978240906832}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{A8708FFB-BB20-40AF-BEF2-7A8A814FF74D}"
-                name="develop_xp_vision" guid="{A8708FFB-BB20-40AF-BEF2-7A8A814FF74D}"
-                presentationName="Define Vision" performedBy="{A179D686-1E79-4CB0-97B5-103B4FBBBDEF}"
-                output="{2300FB25-7249-4481-A1BD-978240906832}">
-              <presentation xmi:id="-W67fNE0rT1c2PM-20yXbrw" href="uma://-W67fNE0rT1c2PM-20yXbrw#-W67fNE0rT1c2PM-20yXbrw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{2300FB25-7249-4481-A1BD-978240906832}"
-                name="xp_vision" guid="{2300FB25-7249-4481-A1BD-978240906832}" briefDescription="Defines the stakeholder's view of the product to be developed, specified in terms of the stakeholder's key needs and features."
-                presentationName="XP Vision" variabilityType="extends">
-              <presentation xmi:id="-ZUxMgSWqLlaO5p1r1-ug6Q" href="uma://-ZUxMgSWqLlaO5p1r1-ug6Q#-ZUxMgSWqLlaO5p1r1-ug6Q"/>
-            </contentElements>
-          </childPackages>
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C}"
-              name="xp_programming" guid="{01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C}"
-              briefDescription=" This component provides guidance for programming on XP projects. "
-              reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C} {796EA4CB-0038-43B8-A568-792DCC3B9F22}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{C587F94C-90FD-4943-A4DE-68E9B6875071}"
-                name="xp_implementer" guid="{C587F94C-90FD-4943-A4DE-68E9B6875071}"
-                presentationName="XP Programmer (Implementer)" variabilityType="contributes"
-                variabilityBasedOnElement="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}"
-                conceptsAndPapers="1.4410217108363206E-306 8.8116853923311E-307 3.876855509996079E-307 1.0713784560673905E-305"
-                responsibleFor="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.4410217108363206E-306"
-                name="refactoring_xp_programming" guid="1.4410217108363206E-306" presentationName="Refactoring">
-              <presentation xmi:id="-U8NScY6mORb4XPcNZ_mrEA" href="uma://-U8NScY6mORb4XPcNZ_mrEA#-U8NScY6mORb4XPcNZ_mrEA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="8.8116853923311E-307"
-                name="coding_standard" guid="8.8116853923311E-307" presentationName="Coding Standard">
-              <presentation xmi:id="--qg2qc3dqmgeB63Nx7Zndg" href="uma://--qg2qc3dqmgeB63Nx7Zndg#--qg2qc3dqmgeB63Nx7Zndg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="3.876855509996079E-307"
-                name="pair_programming" guid="3.876855509996079E-307" presentationName="Pair Programming">
-              <presentation xmi:id="-n52TyFa7Reb3LOJV1JMpvg" href="uma://-n52TyFa7Reb3LOJV1JMpvg#-n52TyFa7Reb3LOJV1JMpvg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Whitepaper" xmi:id="1.0713784560673905E-305"
-                name="refactoring" guid="1.0713784560673905E-305" presentationName="Refactoring">
-              <presentation xmi:id="-ql_2w28A9SIIZQca3Wg-kQ" href="uma://-ql_2w28A9SIIZQca3Wg-kQ#-ql_2w28A9SIIZQca3Wg-kQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{C88D5B0A-1A59-4575-ADDF-8ECBBAB83410}"
-                name="define_coding_standard" guid="{C88D5B0A-1A59-4575-ADDF-8ECBBAB83410}"
-                presentationName="Define Coding Standard" performedBy="{C587F94C-90FD-4943-A4DE-68E9B6875071}"
-                output="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}" optionalInput="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}">
-              <presentation xmi:id="-qIbMRqe8wqKN2-HLtNUcLw" href="uma://-qIbMRqe8wqKN2-HLtNUcLw#-qIbMRqe8wqKN2-HLtNUcLw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{EC483990-8129-4AE3-893C-0F7406C128DA}"
-                name="estimate_task" guid="{EC483990-8129-4AE3-893C-0F7406C128DA}"
-                presentationName="Estimate Task" performedBy="{C587F94C-90FD-4943-A4DE-68E9B6875071}">
-              <presentation xmi:id="-9EbmL3qGJ_TemB83cJublQ" href="uma://-9EbmL3qGJ_TemB83cJublQ#-9EbmL3qGJ_TemB83cJublQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{85BE1C0E-F389-4246-BB22-9A52988018B7}"
-                name="implement_spike" guid="{85BE1C0E-F389-4246-BB22-9A52988018B7}"
-                presentationName="Implement Spike" performedBy="{C587F94C-90FD-4943-A4DE-68E9B6875071}"
-                output="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1} {D156652E-7C52-4EBD-8F23-F38169877A57}"
-                optionalInput="{7C34EE96-C3EA-49FD-A53C-7C113B86AE01} {21946731-4F5C-4862-8B4D-868629952B92}">
-              <presentation xmi:id="-DbsgXRUjLhsnnpioGI2b3g" href="uma://-DbsgXRUjLhsnnpioGI2b3g#-DbsgXRUjLhsnnpioGI2b3g"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{3DD335BB-45F6-49C7-B17A-90652C73A485}"
-                name="refactor_code" guid="{3DD335BB-45F6-49C7-B17A-90652C73A485}"
-                presentationName="Refactor Code" guidelines="8.137126904637637E-306 3.85153041801319E-307"
-                performedBy="{C587F94C-90FD-4943-A4DE-68E9B6875071}" mandatoryInput="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}"
-                output="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1} {D156652E-7C52-4EBD-8F23-F38169877A57}"
-                optionalInput="{7C34EE96-C3EA-49FD-A53C-7C113B86AE01} {D156652E-7C52-4EBD-8F23-F38169877A57}">
-              <presentation xmi:id="-IoT5LZUu3vnNFp-pwPUMHA" href="uma://-IoT5LZUu3vnNFp-pwPUMHA#-IoT5LZUu3vnNFp-pwPUMHA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="8.137126904637637E-306"
-                name="refactoring" guid="8.137126904637637E-306" presentationName="Refactoring">
-              <presentation xmi:id="-dbA7zKOJY5WPZyLXErA9vw" href="uma://-dbA7zKOJY5WPZyLXErA9vw#-dbA7zKOJY5WPZyLXErA9vw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="3.85153041801319E-307"
-                name="pair_programming" guid="3.85153041801319E-307" presentationName="Pair Programming">
-              <presentation xmi:id="-nfbUMyTTqEbCp3HDn-NjOA" href="uma://-nfbUMyTTqEbCp3HDn-NjOA#-nfbUMyTTqEbCp3HDn-NjOA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}"
-                name="xp_coding_standard" guid="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}"
-                briefDescription="Describes the conventions to be used when working with the programming language."
-                presentationName="Coding Standard" examples="6.216049252606417E-306">
-              <presentation xmi:id="-NznKylxa2Y_MG8lACUV9Bw" href="uma://-NznKylxa2Y_MG8lACUV9Bw#-NznKylxa2Y_MG8lACUV9Bw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Example" xmi:id="6.216049252606417E-306"
-                name="test-ideas_catalog_examples" guid="6.216049252606417E-306" briefDescription="The example is attached below."
-                presentationName="Test-Ideas Catalog Examples">
-              <presentation xmi:id="-HkQclhewSbkFSomo1l_LBg" href="uma://-HkQclhewSbkFSomo1l_LBg#-HkQclhewSbkFSomo1l_LBg"/>
-            </contentElements>
-          </childPackages>
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{796EA4CB-0038-43B8-A568-792DCC3B9F22}"
-              name="xp_design" guid="{796EA4CB-0038-43B8-A568-792DCC3B9F22}" briefDescription=" This component provides guidance for how to design on an XP project. "
-              reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {796EA4CB-0038-43B8-A568-792DCC3B9F22}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{AB49377E-B734-45D9-A8AE-906AE216CBC7}"
-                name="xp_designer" guid="{AB49377E-B734-45D9-A8AE-906AE216CBC7}" presentationName="XP Programmer (Designer)"
-                variabilityType="contributes" variabilityBasedOnElement="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}"
-                conceptsAndPapers="1.6109092258980447E-306 4.884861766532753E-306"
-                responsibleFor="{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.6109092258980447E-306"
-                name="simple_design" guid="1.6109092258980447E-306" presentationName="Simple Design">
-              <presentation xmi:id="-0rSxLFlmQfyKrgnqi1NKrg" href="uma://-0rSxLFlmQfyKrgnqi1NKrg#-0rSxLFlmQfyKrgnqi1NKrg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="4.884861766532753E-306"
-                name="metaphor_system_of_names" guid="4.884861766532753E-306" presentationName="Metaphor (System of Names)">
-              <presentation xmi:id="-2OU2wQP_WNWX5zzWzx4ANw" href="uma://-2OU2wQP_WNWX5zzWzx4ANw#-2OU2wQP_WNWX5zzWzx4ANw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{90DBD758-58B8-4383-94DD-312D349512BC}"
-                name="breakdown_story" guid="{90DBD758-58B8-4383-94DD-312D349512BC}"
-                presentationName="Break down Story" performedBy="{AB49377E-B734-45D9-A8AE-906AE216CBC7}"
-                optionalInput="{21946731-4F5C-4862-8B4D-868629952B92}">
-              <presentation xmi:id="-umDp1nFYrMetgnJ-kUMhHw" href="uma://-umDp1nFYrMetgnJ-kUMhHw#-umDp1nFYrMetgnJ-kUMhHw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{23A924D3-5989-40DD-86A9-9D8FCFB8AE52}"
-                name="estimate_user_story" guid="{23A924D3-5989-40DD-86A9-9D8FCFB8AE52}"
-                presentationName="Estimate User Story" performedBy="{AB49377E-B734-45D9-A8AE-906AE216CBC7}"
-                optionalInput="{21946731-4F5C-4862-8B4D-868629952B92}">
-              <presentation xmi:id="-Z9xFd9JTnJuNN5S27p06UQ" href="uma://-Z9xFd9JTnJuNN5S27p06UQ#-Z9xFd9JTnJuNN5S27p06UQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}"
-                name="xp_metaphor" guid="{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}" briefDescription="A commonly understood vocabulary describing the significant pieces of the system and their associated relationships."
-                presentationName="Metaphor (System of Names)">
-              <presentation xmi:id="-sQUFozEqR3Gpa5PnCjFh9Q" href="uma://-sQUFozEqR3Gpa5PnCjFh9Q#-sQUFozEqR3Gpa5PnCjFh9Q"/>
-            </contentElements>
-          </childPackages>
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{DBE91BD5-0065-4049-AA61-058C77F1D2A3}"
-              name="xp_integration" guid="{DBE91BD5-0065-4049-AA61-058C77F1D2A3}"
-              briefDescription=" This component provides guidance for integrating and building executables on XP projects. "
-              reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {DBE91BD5-0065-4049-AA61-058C77F1D2A3}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{2F4BC5DA-F706-4C38-9D38-6911C7856B10}"
-                name="xp_integrator" guid="{2F4BC5DA-F706-4C38-9D38-6911C7856B10}"
-                presentationName="XP Programmer (Integrator)" variabilityType="contributes"
-                variabilityBasedOnElement="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}"
-                conceptsAndPapers="3.193414568279561E-305" responsibleFor="{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="3.193414568279561E-305"
-                name="continuous_integration" guid="3.193414568279561E-305" presentationName="Continuous Integration">
-              <presentation xmi:id="-35rZhRLEVuTVI4280ncN0A" href="uma://-35rZhRLEVuTVI4280ncN0A#-35rZhRLEVuTVI4280ncN0A"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{70FEC254-8555-4844-AD82-68367E25F082}"
-                name="integrate_system" guid="{70FEC254-8555-4844-AD82-68367E25F082}"
-                presentationName="Integrate and Build" performedBy="{2F4BC5DA-F706-4C38-9D38-6911C7856B10}"
-                output="{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}" optionalInput="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}">
-              <presentation xmi:id="--tP2hgRfEkZPGYvy1y0GZQ" href="uma://--tP2hgRfEkZPGYvy1y0GZQ#--tP2hgRfEkZPGYvy1y0GZQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}"
-                name="xp_build" guid="{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}" briefDescription="The result of the code integration and building process."
-                presentationName="XP Build" variabilityType="extends">
-              <presentation xmi:id="-rphHqeONv59sqZq_6FzE6Q" href="uma://-rphHqeONv59sqZq_6FzE6Q#-rphHqeONv59sqZq_6FzE6Q"/>
-            </contentElements>
-          </childPackages>
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{8367713C-3AEA-489D-B136-DB87D6340A3F}"
-              name="xp_testing" guid="{8367713C-3AEA-489D-B136-DB87D6340A3F}" briefDescription=" This component provides guidance for testing on XP projects. "
-              reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {8367713C-3AEA-489D-B136-DB87D6340A3F}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{9EE5F015-C409-4DD9-91AC-1A87DB833E92}"
-                name="xp_customer_tst" guid="{9EE5F015-C409-4DD9-91AC-1A87DB833E92}"
-                presentationName="XP Customer Test" variabilityType="contributes"
-                variabilityBasedOnElement="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-                conceptsAndPapers="2.297945473205673E-305 3.712584012051524E-306 8.834380241450745E-306"
-                responsibleFor="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="2.297945473205673E-305"
-                name="customer_tests" guid="2.297945473205673E-305" presentationName="Customer Tests">
-              <presentation xmi:id="-oW2j2l-rXqHeWPIgjPpbng" href="uma://-oW2j2l-rXqHeWPIgjPpbng#-oW2j2l-rXqHeWPIgjPpbng"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="3.712584012051524E-306"
-                name="product_quality" guid="3.712584012051524E-306" presentationName="Product Quality">
-              <presentation xmi:id="-nGaswirSOYturOoUWwGdRw" href="uma://-nGaswirSOYturOoUWwGdRw#-nGaswirSOYturOoUWwGdRw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="8.834380241450745E-306"
-                name="test-ideas_list" guid="8.834380241450745E-306" presentationName="Test-Ideas List">
-              <presentation xmi:id="-3i1jvKMUGGmAYPw4dHFbEg" href="uma://-3i1jvKMUGGmAYPw4dHFbEg#-3i1jvKMUGGmAYPw4dHFbEg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{DCDB57BE-4233-4CF8-90CE-70D6808F92B0}"
-                name="define_customer_test" guid="{DCDB57BE-4233-4CF8-90CE-70D6808F92B0}"
-                presentationName="Define Customer Test" guidelines="1.8491691792142673E-308"
-                performedBy="{9EE5F015-C409-4DD9-91AC-1A87DB833E92}" optionalInput="{21946731-4F5C-4862-8B4D-868629952B92}">
-              <presentation xmi:id="-WgE0oiE2yddCOMnfzL25Gw" href="uma://-WgE0oiE2yddCOMnfzL25Gw#-WgE0oiE2yddCOMnfzL25Gw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="1.8491691792142673E-308"
-                name="equivalence_class_analysis" guid="1.8491691792142673E-308" presentationName="Equivalence Class Analysis">
-              <presentation xmi:id="-c7t_eJuo1g5hpWTYTCItig" href="uma://-c7t_eJuo1g5hpWTYTCItig#-c7t_eJuo1g5hpWTYTCItig"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{567EE050-7E62-4B63-8761-4883FF2FFF23}"
-                name="xp_test_analyst" guid="{567EE050-7E62-4B63-8761-4883FF2FFF23}"
-                presentationName="XP Test Analyst" variabilityType="contributes" variabilityBasedOnElement="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{52D6E875-C46B-454B-A39C-CEC21603AF5C}"
-                name="report_acceptance_test_result" guid="{52D6E875-C46B-454B-A39C-CEC21603AF5C}"
-                presentationName="Report Customer Test Result" performedBy="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-                optionalInput="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}">
-              <presentation xmi:id="-p0GGwGNG5O8Dn6O6ZzivIw" href="uma://-p0GGwGNG5O8Dn6O6ZzivIw#-p0GGwGNG5O8Dn6O6ZzivIw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{FB65D00B-8304-4CF7-9969-52CE82F503DC}"
-                name="xp_tester" guid="{FB65D00B-8304-4CF7-9969-52CE82F503DC}" briefDescription="The XP Tester role helps the customer define and write acceptance tests for user stories."
-                presentationName="XP Tester">
-              <presentation xmi:id="-KfsuH9i0hVMlGV7PVIa3FQ" href="uma://-KfsuH9i0hVMlGV7PVIa3FQ#-KfsuH9i0hVMlGV7PVIa3FQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{E614ED93-AE72-4FD1-B459-C508CE1C536F}"
-                name="automate_acceptance_test" guid="{E614ED93-AE72-4FD1-B459-C508CE1C536F}"
-                presentationName="Automate Customer Test" performedBy="{FB65D00B-8304-4CF7-9969-52CE82F503DC}"
-                output="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}">
-              <presentation xmi:id="-fm-gBePbdl_WMsE5NxEreQ" href="uma://-fm-gBePbdl_WMsE5NxEreQ#-fm-gBePbdl_WMsE5NxEreQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{D4E30732-30D3-4C75-8C69-D2F15313F1A9}"
-                name="run_acceptance_test" guid="{D4E30732-30D3-4C75-8C69-D2F15313F1A9}"
-                presentationName="Run Customer Test" performedBy="{FB65D00B-8304-4CF7-9969-52CE82F503DC}"
-                optionalInput="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}">
-              <presentation xmi:id="-6RyabSc-ZUEtoEKb90BCbg" href="uma://-6RyabSc-ZUEtoEKb90BCbg#-6RyabSc-ZUEtoEKb90BCbg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{B4F9BDCC-629E-485B-9EFA-318F8D5A37BC}"
-                name="setup_tester_environment" guid="{B4F9BDCC-629E-485B-9EFA-318F8D5A37BC}"
-                presentationName="Setup Tester Environment" performedBy="{FB65D00B-8304-4CF7-9969-52CE82F503DC}">
-              <presentation xmi:id="-OPKuXnenD910fJyGKA99aw" href="uma://-OPKuXnenD910fJyGKA99aw#-OPKuXnenD910fJyGKA99aw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}"
-                name="xp_customer_test" guid="{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}"
-                briefDescription="Run against the system to verify that a feature has been implemented properly."
-                presentationName="XP Customer Test" variabilityType="extends">
-              <presentation xmi:id="-YYMUwBepQ28JU78LtraO3w" href="uma://-YYMUwBepQ28JU78LtraO3w#-YYMUwBepQ28JU78LtraO3w"/>
-            </contentElements>
-          </childPackages>
-          <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="{45A887AB-A968-48AF-8213-4D470DA9DBCC}"
-              name="xp_management" guid="{45A887AB-A968-48AF-8213-4D470DA9DBCC}" briefDescription=" This component provides guidance for managing XP projects. "
-              reusedPackages="{45A887AB-A968-48AF-8213-4D470DA9DBCC} {90FB58E1-B403-4358-85D0-BD902528D810} {BC57C7CE-BFA8-464F-9925-D27A7968B63C}">
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}"
-                name="xp_coach" guid="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}" briefDescription="The XP Coach is a supporting role which helps a team stay on process and help the team learn."
-                presentationName="XP Coach" variabilityType="extends" conceptsAndPapers="3.133529870649493E-306">
-              <presentation xmi:id="-gAMIwaLmqX7bf6GLCqwB-g" href="uma://-gAMIwaLmqX7bf6GLCqwB-g#-gAMIwaLmqX7bf6GLCqwB-g"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="3.133529870649493E-306"
-                name="xp_sustainable_pace" guid="3.133529870649493E-306" presentationName="Sustainable Pace">
-              <presentation xmi:id="-DoLoZOTPa_LacQ3jUG_lsg" href="uma://-DoLoZOTPa_LacQ3jUG_lsg#-DoLoZOTPa_LacQ3jUG_lsg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{F0D4C205-4A38-42AF-BE87-9A6C0C173E65}"
-                name="adapt_and_improve_process" guid="{F0D4C205-4A38-42AF-BE87-9A6C0C173E65}"
-                presentationName="Adapt and Improve Process" performedBy="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}">
-              <presentation xmi:id="-u-Svthjtn1xLK2IwVUpk5Q" href="uma://-u-Svthjtn1xLK2IwVUpk5Q#-u-Svthjtn1xLK2IwVUpk5Q"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{1FA31F30-1F90-4BD3-9F0D-57DF66FC6727}"
-                name="explain_process" guid="{1FA31F30-1F90-4BD3-9F0D-57DF66FC6727}"
-                presentationName="Explain Process" performedBy="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}">
-              <presentation xmi:id="-I3yOxhkbTu3OCbzQ0sUsyA" href="uma://-I3yOxhkbTu3OCbzQ0sUsyA#-I3yOxhkbTu3OCbzQ0sUsyA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{1C4325AC-17DE-4CD0-8AA0-4B210570579F}"
-                name="improve_team_skills" guid="{1C4325AC-17DE-4CD0-8AA0-4B210570579F}"
-                presentationName="Improve Team Skills" performedBy="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}">
-              <presentation xmi:id="-32JWpciwfc2e7HgQavJDkw" href="uma://-32JWpciwfc2e7HgQavJDkw#-32JWpciwfc2e7HgQavJDkw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{80725BC3-E2BA-4860-8F07-4A34B96FBB2A}"
-                name="keep_process_on_track" guid="{80725BC3-E2BA-4860-8F07-4A34B96FBB2A}"
-                presentationName="Keep Process On Track" performedBy="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}">
-              <presentation xmi:id="-SH3UFVsPViLT3hOalbaxgA" href="uma://-SH3UFVsPViLT3hOalbaxgA#-SH3UFVsPViLT3hOalbaxgA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{1B23700D-02B0-476F-A3DE-6F63A5407151}"
-                name="resolve_conflicts" guid="{1B23700D-02B0-476F-A3DE-6F63A5407151}"
-                presentationName="Resolve Conflicts" performedBy="{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}">
-              <presentation xmi:id="-L85wOCiwe2O8D8CISEGGGg" href="uma://-L85wOCiwe2O8D8CISEGGGg#-L85wOCiwe2O8D8CISEGGGg"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{D8FE277E-4F9A-47EB-855F-C451D601BBAF}"
-                name="xp_tracker" guid="{D8FE277E-4F9A-47EB-855F-C451D601BBAF}" briefDescription="The XP Tracker role measures and communicates the team's progress."
-                presentationName="XP Tracker" variabilityType="extends">
-              <presentation xmi:id="-FIhk4OEzZl2IAVMXurpBLA" href="uma://-FIhk4OEzZl2IAVMXurpBLA#-FIhk4OEzZl2IAVMXurpBLA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{C333BA32-CF6B-4577-9212-302893043EFF}"
-                name="track_story_completion" guid="{C333BA32-CF6B-4577-9212-302893043EFF}"
-                presentationName="Track Release Progress" performedBy="{D8FE277E-4F9A-47EB-855F-C451D601BBAF}"
-                optionalInput="{21946731-4F5C-4862-8B4D-868629952B92}">
-              <presentation xmi:id="-FxF90KOknQ5km30pP0038w" href="uma://-FxF90KOknQ5km30pP0038w#-FxF90KOknQ5km30pP0038w"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{3D22CC4B-ABC4-4CFE-9ACF-C9615E01382C}"
-                name="track_task_completion" guid="{3D22CC4B-ABC4-4CFE-9ACF-C9615E01382C}"
-                presentationName="Track Iteration Progress" performedBy="{D8FE277E-4F9A-47EB-855F-C451D601BBAF}">
-              <presentation xmi:id="-0iRnQW0M9QDTNqWNijBB5A" href="uma://-0iRnQW0M9QDTNqWNijBB5A#-0iRnQW0M9QDTNqWNijBB5A"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}"
-                name="xp_customer_man" guid="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}"
-                presentationName="XP Customer (Manager)" variabilityType="contributes"
-                variabilityBasedOnElement="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-                conceptsAndPapers="5.762953011420275E-306" responsibleFor="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}"/>
-            <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="5.762953011420275E-306"
-                name="small_releases" guid="5.762953011420275E-306" presentationName="Small Releases">
-              <presentation xmi:id="-vcCn_ksJo5Jw27aNZb1Cvw" href="uma://-vcCn_ksJo5Jw27aNZb1Cvw#-vcCn_ksJo5Jw27aNZb1Cvw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{D755C076-8E63-4A24-89AA-A7D64E368B90}"
-                name="define_release_plan" guid="{D755C076-8E63-4A24-89AA-A7D64E368B90}"
-                presentationName="Define Release" guidelines="6.7335956461328426E-307"
-                performedBy="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}" output="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}"
-                optionalInput="{2300FB25-7249-4481-A1BD-978240906832}">
-              <presentation xmi:id="-7gEOFFavlkSqwIoTNrvfJA" href="uma://-7gEOFFavlkSqwIoTNrvfJA#-7gEOFFavlkSqwIoTNrvfJA"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="6.7335956461328426E-307"
-                name="planning_game" guid="6.7335956461328426E-307" presentationName="Planning Game">
-              <presentation xmi:id="-85F1Tegv16godTFTKyPdww" href="uma://-85F1Tegv16godTFTKyPdww#-85F1Tegv16godTFTKyPdww"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{ED94150E-EE14-47BF-97F5-F1EC7130EEEC}"
-                name="report_project_status" guid="{ED94150E-EE14-47BF-97F5-F1EC7130EEEC}"
-                presentationName="Report Project Status" performedBy="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}">
-              <presentation xmi:id="-WOPGmKUuYbvVeVHp0sgEgw" href="uma://-WOPGmKUuYbvVeVHp0sgEgw#-WOPGmKUuYbvVeVHp0sgEgw"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{653F1EF4-2BE5-4CCB-80E7-17CE02B081DC}"
-                name="update_iteration_plan" guid="{653F1EF4-2BE5-4CCB-80E7-17CE02B081DC}"
-                presentationName="Adjust Iteration Scope" guidelines="6.7335956461328426E-307"
-                performedBy="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}" output="{DC18E34B-70C1-403D-84CC-1BF117A7473D}"
-                optionalInput="{DC18E34B-70C1-403D-84CC-1BF117A7473D}">
-              <presentation xmi:id="-cU3MzukpGPAtw0wSS23R-g" href="uma://-cU3MzukpGPAtw0wSS23R-g#-cU3MzukpGPAtw0wSS23R-g"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{18BF87E6-5849-4091-AFE2-FC4F0C3887B1}"
-                name="update_release_plan" guid="{18BF87E6-5849-4091-AFE2-FC4F0C3887B1}"
-                presentationName="Revise Release Plan" guidelines="6.7335956461328426E-307"
-                performedBy="{9FAAB16A-C7FC-470A-BF2C-7F0951919E3B}" output="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}"
-                optionalInput="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}">
-              <presentation xmi:id="-YO16TebjP7U0gkcYg7OY_A" href="uma://-YO16TebjP7U0gkcYg7OY_A#-YO16TebjP7U0gkcYg7OY_A"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}"
-                name="xp_release_plan" guid="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}"
-                briefDescription="A list of prioritized user stories that will be implemented in the coming release(s)."
-                presentationName="XP Release Plan" variabilityType="extends">
-              <presentation xmi:id="-mMZ9KUhiFwBbzSFjq_tO4A" href="uma://-mMZ9KUhiFwBbzSFjq_tO4A#-mMZ9KUhiFwBbzSFjq_tO4A"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{0CB3C507-AFEE-4DA8-982B-9B93C8729910}"
-                name="xp_system_administrator" guid="{0CB3C507-AFEE-4DA8-982B-9B93C8729910}"
-                briefDescription="The XP Programmer (Administrator) is responsible for managing the programmer environment."
-                presentationName="XP Programmer (Administrator)" variabilityType="extends">
-              <presentation xmi:id="-23MZj6vLVbgbkXaptH4riQ" href="uma://-23MZj6vLVbgbkXaptH4riQ#-23MZj6vLVbgbkXaptH4riQ"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{D3AA9FEE-AAD9-4884-BF71-425E122110A7}"
-                name="setup_programmer_environment" guid="{D3AA9FEE-AAD9-4884-BF71-425E122110A7}"
-                presentationName="Setup Programmer Environment" guidelines="3.754748120034442E-307"
-                performedBy="{0CB3C507-AFEE-4DA8-982B-9B93C8729910}">
-              <presentation xmi:id="-1rVEQRCvrcicCdhpuuIZ8w" href="uma://-1rVEQRCvrcicCdhpuuIZ8w#-1rVEQRCvrcicCdhpuuIZ8w"/>
-            </contentElements>
-            <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="3.754748120034442E-307"
-                name="xp_environment" guid="3.754748120034442E-307" presentationName="XP Environment">
-              <presentation xmi:id="-OuWRQbxXBGWox8SgcCr6sQ" href="uma://-OuWRQbxXBGWox8SgcCr6sQ#-OuWRQbxXBGWox8SgcCr6sQ"/>
-            </contentElements>
-          </childPackages>
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-              name="xp_customer" guid="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}" briefDescription="The XP Customer role has the responsibility of defining what is the right product to build, determining the order in which features will be built, and making sure the product actually works."
-              presentationName="XP Customer" conceptsAndPapers="2.7371805612676613E-305"
-              responsibleFor="{DC18E34B-70C1-403D-84CC-1BF117A7473D} {21946731-4F5C-4862-8B4D-868629952B92}">
-            <presentation xmi:id="-92rjXjWhll5LOtPc58YERg" href="uma://-92rjXjWhll5LOtPc58YERg#-92rjXjWhll5LOtPc58YERg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="2.7371805612676613E-305"
-              name="planning_game" guid="2.7371805612676613E-305" presentationName="Planning Game">
-            <presentation xmi:id="-CPHs6R59_druVDY6nRjHEw" href="uma://-CPHs6R59_druVDY6nRjHEw#-CPHs6R59_druVDY6nRjHEw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{849E3635-6FCD-4FAD-A007-CA34B9998622}"
-              name="define_iteration_plan" guid="{849E3635-6FCD-4FAD-A007-CA34B9998622}"
-              presentationName="Define Iteration" guidelines="6.7335956461328426E-307"
-              performedBy="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}" output="{DC18E34B-70C1-403D-84CC-1BF117A7473D}"
-              optionalInput="{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}">
-            <presentation xmi:id="-BWG5zUGb8c25kuLJ3ck8ng" href="uma://-BWG5zUGb8c25kuLJ3ck8ng#-BWG5zUGb8c25kuLJ3ck8ng"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{62CFC55C-3151-46CB-8886-F3DBD552ABC4}"
-              name="write_user_story" guid="{62CFC55C-3151-46CB-8886-F3DBD552ABC4}"
-              presentationName="Write User Story" performedBy="{3C90DD4F-CFDB-4111-922D-3B840B8942DE}"
-              output="{21946731-4F5C-4862-8B4D-868629952B92}" optionalInput="{2300FB25-7249-4481-A1BD-978240906832}">
-            <presentation xmi:id="-cqTu_uwmZrF3sFspx465XQ" href="uma://-cqTu_uwmZrF3sFspx465XQ#-cqTu_uwmZrF3sFspx465XQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{DC18E34B-70C1-403D-84CC-1BF117A7473D}"
-              name="xp_iteration_plan" guid="{DC18E34B-70C1-403D-84CC-1BF117A7473D}"
-              briefDescription="Essentially a list of user stories and engineering tasks that will be worked on in the current iteration."
-              presentationName="XP Iteration Plan" variabilityType="extends">
-            <presentation xmi:id="-45BLJONIjGn7h4z87VXqHQ" href="uma://-45BLJONIjGn7h4z87VXqHQ#-45BLJONIjGn7h4z87VXqHQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}"
-              name="xp_production_code" guid="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}"
-              briefDescription="The executable specification of the system being built."
-              presentationName="Production Code" variabilityType="extends" conceptsAndPapers="9.300699588493279E-306 1.620567348185129E-306">
-            <presentation xmi:id="-f1cDEBpC5wbDTQ9ru9UbLw" href="uma://-f1cDEBpC5wbDTQ9ru9UbLw#-f1cDEBpC5wbDTQ9ru9UbLw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="9.300699588493279E-306"
-              name="collective_ownership" guid="9.300699588493279E-306" presentationName="Collective Ownership">
-            <presentation xmi:id="-YP0i7TC6QNgemddcj1iE7g" href="uma://-YP0i7TC6QNgemddcj1iE7g#-YP0i7TC6QNgemddcj1iE7g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.620567348185129E-306"
-              name="test_driven_development" guid="1.620567348185129E-306" presentationName="Test Driven Development">
-            <presentation xmi:id="-yaD6WKGdrZ0n0yBSpwPr4g" href="uma://-yaD6WKGdrZ0n0yBSpwPr4g#-yaD6WKGdrZ0n0yBSpwPr4g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Role" xmi:id="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}"
-              name="xp_programmer" guid="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}" briefDescription="The XP Programmer is responsible for implementing the code to support the user stories."
-              presentationName="XP Programmer" conceptsAndPapers="1.620567348185129E-306 9.300699588493279E-306 4.085829182735815E-305 6.556259235358794E-306 8.834380241450745E-306 1.2384224477983028E-305 7.290386721197834E-306 6.334658646686929E-306"
-              responsibleFor="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1} {D156652E-7C52-4EBD-8F23-F38169877A57}">
-            <presentation xmi:id="-RoFHDUeLz4UFKDuFirQp3g" href="uma://-RoFHDUeLz4UFKDuFirQp3g#-RoFHDUeLz4UFKDuFirQp3g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="4.085829182735815E-305"
-              name="developer_testing" guid="4.085829182735815E-305" presentationName="Developer Testing">
-            <presentation xmi:id="-aJBLg1aguP1bIWvQbJSd6w" href="uma://-aJBLg1aguP1bIWvQbJSd6w#-aJBLg1aguP1bIWvQbJSd6w"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="6.556259235358794E-306"
-              name="test-first_design" guid="6.556259235358794E-306" presentationName="Test-first Design">
-            <presentation xmi:id="-3AbfvnHrCOIQS63sEjrOew" href="uma://-3AbfvnHrCOIQS63sEjrOew#-3AbfvnHrCOIQS63sEjrOew"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.2384224477983028E-305"
-              name="test-ideas_catalog" guid="1.2384224477983028E-305" presentationName="Test-Ideas Catalog">
-            <presentation xmi:id="-OrjIrRLW6v_XnqLUQ9GYaQ" href="uma://-OrjIrRLW6v_XnqLUQ9GYaQ#-OrjIrRLW6v_XnqLUQ9GYaQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Whitepaper" xmi:id="7.290386721197834E-306"
-              name="xp_guidelines_pair_programming" guid="7.290386721197834E-306"
-              presentationName="XP Guidelines: Pair Programming">
-            <presentation xmi:id="-Ymu8T1hQ_QoxCaNAQhD9AA" href="uma://-Ymu8T1hQ_QoxCaNAQhD9AA#-Ymu8T1hQ_QoxCaNAQhD9AA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Whitepaper" xmi:id="6.334658646686929E-306"
-              name="xp_guidelines_test-first_design_and_refactoring" guid="6.334658646686929E-306"
-              presentationName="XP Guidelines: Test-first Design and Refactoring">
-            <presentation xmi:id="-_AgYWcSlbVBZOVcQfJuBnQ" href="uma://-_AgYWcSlbVBZOVcQfJuBnQ#-_AgYWcSlbVBZOVcQfJuBnQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Task" xmi:id="{8F6CB99A-D2EA-44BB-8CE5-F97220D44088}"
-              name="write_code" guid="{8F6CB99A-D2EA-44BB-8CE5-F97220D44088}" presentationName="Write Code"
-              guidelines="3.9254165491375454E-306 3.85153041801319E-307 8.5657170364036E-306 1.0347051690476123E-305 1.7150344523489172E-305"
-              examples="6.216049252606417E-306" performedBy="{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}"
-              output="{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}" optionalInput="{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED} {DC18E34B-70C1-403D-84CC-1BF117A7473D} {7C34EE96-C3EA-49FD-A53C-7C113B86AE01}">
-            <presentation xmi:id="-kNZQ2Mr_nyfmCboprjMNTg" href="uma://-kNZQ2Mr_nyfmCboprjMNTg#-kNZQ2Mr_nyfmCboprjMNTg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="3.9254165491375454E-306"
-              name="test_driven_development_tdd" guid="3.9254165491375454E-306" presentationName="Test Driven Development (TDD)">
-            <presentation xmi:id="-jc10ie6UDWUJzSDfsQExjw" href="uma://-jc10ie6UDWUJzSDfsQExjw#-jc10ie6UDWUJzSDfsQExjw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="8.5657170364036E-306"
-              name="test_ideas_for_method_calls" guid="8.5657170364036E-306" presentationName="Test Ideas for Method Calls">
-            <presentation xmi:id="-nwZMQTZtIwI5weh9c_HoYA" href="uma://-nwZMQTZtIwI5weh9c_HoYA#-nwZMQTZtIwI5weh9c_HoYA"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="1.0347051690476123E-305"
-              name="test_ideas_for_statechart_and_flow_diagrams" guid="1.0347051690476123E-305"
-              presentationName="Test Ideas for Statechart and Flow Diagrams">
-            <presentation xmi:id="-60dp5lxFJEpUarhchGCnHw" href="uma://-60dp5lxFJEpUarhchGCnHw#-60dp5lxFJEpUarhchGCnHw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="1.7150344523489172E-305"
-              name="test_ideas_for_booleans_and_boundaries" guid="1.7150344523489172E-305"
-              presentationName="Test Ideas for Booleans and Boundaries">
-            <presentation xmi:id="-FX8hDYUKOXsrQulFe9lwtw" href="uma://-FX8hDYUKOXsrQulFe9lwtw#-FX8hDYUKOXsrQulFe9lwtw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{21946731-4F5C-4862-8B4D-868629952B92}"
-              name="xp_user_story" guid="{21946731-4F5C-4862-8B4D-868629952B92}" briefDescription="A brief description of some functionality provided by the system from the point of view of a user of that system."
-              presentationName="User Story" variabilityType="extends">
-            <presentation xmi:id="-rtY57MTVQrEcfTKwD3-Wvw" href="uma://-rtY57MTVQrEcfTKwD3-Wvw#-rtY57MTVQrEcfTKwD3-Wvw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Artifact" xmi:id="{D156652E-7C52-4EBD-8F23-F38169877A57}"
-              name="xp_unit_test" guid="{D156652E-7C52-4EBD-8F23-F38169877A57}" briefDescription="Used to ensure that a specific functionality of a component of the system is working properly."
-              presentationName="XP Unit Test" conceptsAndPapers="1.620567348185129E-306 4.085829182735815E-305 6.556259235358794E-306"
-              guidelines="8.5657170364036E-306 1.0347051690476123E-305 1.7150344523489172E-305 1.8491691792142673E-308"
-              examples="6.216049252606417E-306">
-            <presentation xmi:id="-dwfXb2dWJOQkTuLo-BTFeQ" href="uma://-dwfXb2dWJOQkTuLo-BTFeQ#-dwfXb2dWJOQkTuLo-BTFeQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Practice" xmi:id="_ycm9gGZBEdqvwYzpSSc2Nw"
-              name="sustainable_pace" guid="_ycm9gGZBEdqvwYzpSSc2Nw" presentationName="Sustainable Pace"
-              contentReferences="3.133529870649493E-306">
-            <presentation xmi:id="-AS84xtg2NOXfrqA6eVRzMQ" href="uma://-AS84xtg2NOXfrqA6eVRzMQ#-AS84xtg2NOXfrqA6eVRzMQ"/>
-          </contentElements>
-        </childPackages>
-        <childPackages xsi:type="org.eclipse.epf.uma:ContentPackage" xmi:id="_ms9igWE-EdqnIZeW8YpHcA"
-            name="xp_basic_concepts" guid="_ms9igWE-EdqnIZeW8YpHcA" reusedPackages="{90FB58E1-B403-4358-85D0-BD902528D810} {01E73AC7-B8D8-4B2F-8B29-A28D9813DB6C} _ms9igWE-EdqnIZeW8YpHcA {45A887AB-A968-48AF-8213-4D470DA9DBCC}">
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="9.251272550276345E-306"
-              name="what_is_xp" guid="9.251272550276345E-306" presentationName="What is XP?">
-            <presentation xmi:id="-nO38_JQ9G3FQvNlAT5Agqg" href="uma://-nO38_JQ9G3FQvNlAT5Agqg#-nO38_JQ9G3FQvNlAT5Agqg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.6390805262958034E-306"
-              name="motivation" guid="1.6390805262958034E-306" presentationName="motivation">
-            <presentation xmi:id="-nIpFvBhY9WogqrEQv4NknQ" href="uma://-nIpFvBhY9WogqrEQv4NknQ#-nIpFvBhY9WogqrEQv4NknQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.041091673844025E-305"
-              name="agile_software_development" guid="1.041091673844025E-305" presentationName="Agile Software Development">
-            <presentation xmi:id="-EHSlFv7Gla5oCPGBiaZKow" href="uma://-EHSlFv7Gla5oCPGBiaZKow#-EHSlFv7Gla5oCPGBiaZKow"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="1.076140803519123E-306"
-              name="xp_values" guid="1.076140803519123E-306" presentationName="XP Values">
-            <presentation xmi:id="-pA6XLJKgRiwDTEp_qMlQ9g" href="uma://-pA6XLJKgRiwDTEp_qMlQ9g#-pA6XLJKgRiwDTEp_qMlQ9g"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="2.2937799026801584E-305"
-              name="xp_practices" guid="2.2937799026801584E-305" presentationName="XP Practices">
-            <presentation xmi:id="-24MPC2FhJbx7Fr0F6QEq8A" href="uma://-24MPC2FhJbx7Fr0F6QEq8A#-24MPC2FhJbx7Fr0F6QEq8A"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="3.036332011267074E-306"
-              name="xp_rights" guid="3.036332011267074E-306" presentationName="XP Rights">
-            <presentation xmi:id="-vEvfeoyYAPDr-jfyX2QLww" href="uma://-vEvfeoyYAPDr-jfyX2QLww#-vEvfeoyYAPDr-jfyX2QLww"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="5.2637267673584526E-306"
-              name="extreme_programming" guid="5.2637267673584526E-306" presentationName="Extreme Programming">
-            <presentation xmi:id="-27sE-swoOUGtar9a0f3RPw" href="uma://-27sE-swoOUGtar9a0f3RPw#-27sE-swoOUGtar9a0f3RPw"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Guideline" xmi:id="3.269440809144354E-305"
-              name="open_workspace" guid="3.269440809144354E-305" presentationName="Open Workspace">
-            <presentation xmi:id="-mq7aEjHjqWoRd6aWFK_Dwg" href="uma://-mq7aEjHjqWoRd6aWFK_Dwg#-mq7aEjHjqWoRd6aWFK_Dwg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="6.191633934532389E-306"
-              name="xp_and_agile_process_references" guid="6.191633934532389E-306"
-              presentationName="XP and Agile Process References">
-            <presentation xmi:id="-8UKMv929ysWDBF1IOAAgsg" href="uma://-8UKMv929ysWDBF1IOAAgsg#-8UKMv929ysWDBF1IOAAgsg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="8.608243854485154E-306"
-              name="xp_developer_team" guid="8.608243854485154E-306" presentationName="XP Developer Team">
-            <presentation xmi:id="-_11Y5NHJcC5lkqB4CeSpbg" href="uma://-_11Y5NHJcC5lkqB4CeSpbg#-_11Y5NHJcC5lkqB4CeSpbg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="2.9889538140050517E-306"
-              name="xp_customer_team" guid="2.9889538140050517E-306" presentationName="XP Customer Team">
-            <presentation xmi:id="-mZMamrTcnR6xoZgvw9XU-A" href="uma://-mZMamrTcnR6xoZgvw9XU-A#-mZMamrTcnR6xoZgvw9XU-A"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="1.545655831828372E-305"
-              name="xp_artifacts" guid="1.545655831828372E-305" presentationName="XP Artifacts">
-            <presentation xmi:id="-O3LVBobhzFRt-5bytDkqqQ" href="uma://-O3LVBobhzFRt-5bytDkqqQ#-O3LVBobhzFRt-5bytDkqqQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:Concept" xmi:id="7.89591827591278E-306"
-              name="whole_team" guid="7.89591827591278E-306" presentationName="Whole Team">
-            <presentation xmi:id="-uqrgrFY-74R1FijPLvcXoQ" href="uma://-uqrgrFY-74R1FijPLvcXoQ#-uqrgrFY-74R1FijPLvcXoQ"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="5.613949040902463E-308"
-              name="xp_organization" guid="5.613949040902463E-308" presentationName="XP Organization">
-            <presentation xmi:id="-2nINowSo0VedqZTd4LIZIg" href="uma://-2nINowSo0VedqZTd4LIZIg#-2nINowSo0VedqZTd4LIZIg"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="1.2284921351651456E-304"
-              name="getting_started_with_xp" guid="1.2284921351651456E-304" presentationName="Getting Started with XP">
-            <presentation xmi:id="-PCk5_o83KYiPZaKUzt021A" href="uma://-PCk5_o83KYiPZaKUzt021A#-PCk5_o83KYiPZaKUzt021A"/>
-          </contentElements>
-          <contentElements xsi:type="org.eclipse.epf.uma:SupportingMaterial" xmi:id="_XI5PQHEPEdug-a-RuUM3Hg"
-              name="xp_copyright" guid="_XI5PQHEPEdug-a-RuUM3Hg" presentationName="XP Plug-in Copyright"
-              shapeicon="guidances/supportingmaterials/resources/CRsym_obj.gif" nodeicon="guidances/supportingmaterials/resources/CRsym_obj.gif">
-            <presentation xmi:id="-31JQsY6FjFegmq-JJZdndg" href="uma://-31JQsY6FjFegmq-JJZdndg#-31JQsY6FjFegmq-JJZdndg"/>
-          </contentElements>
-        </childPackages>
-      </childPackages>
-      <childPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mhU6TGE-EdqnIZeW8YpHcA"
-          name="CapabilityPatterns" guid="_mhU6TGE-EdqnIZeW8YpHcA"/>
-    </methodPackages>
-    <methodPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mhU6TWE-EdqnIZeW8YpHcA"
-        name="DeliveryProcesses" guid="_mhU6TWE-EdqnIZeW8YpHcA"/>
-    <methodPackages xsi:type="org.eclipse.epf.uma:ProcessPackage" xmi:id="_mhU6TmE-EdqnIZeW8YpHcA"
-        name="ProcessContributions" guid="_mhU6TmE-EdqnIZeW8YpHcA"/>
-  </org.eclipse.epf.uma:MethodPlugin>
-</xmi:XMI>
diff --git a/XP/xp/resources/.cvsignore b/XP/xp/resources/.cvsignore
deleted file mode 100644
index 085e8ba..0000000
--- a/XP/xp/resources/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Thumbs.db
diff --git a/XP/xp/resources/about.htm b/XP/xp/resources/about.htm
deleted file mode 100644
index a867e55..0000000
--- a/XP/xp/resources/about.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-<html>
-<!--
-    Copyright (c) 2002, 2006 IBM Corporation and Object Mentor.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-    Contributors:
-    IBM Corporation and Object Mentor - initial implementation
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-	<title>About</title>
-<script src="scripts/common.js" type="text/javascript" language="JavaScript"></script>
-	<style type="text/css">
-		body {
-			margin: 8px;
-		}
-	</style>
-</head>
-
-<body>
-<img src="epf.ico" width="16" height="16" alt="about icon" border="0"/><br />
-<br />
-<span class="pop">XP Plug-in for EPF Composer<br />
-Version 0.1<br />
-<br />
-Copyright (c) 2002, 2006 IBM Corporation and Object Mentor. All rights reserved. <br>
-This program and the accompanying materials are made available under the terms 
-of the Eclipse Public License v1.0 which accompanies this distribution, and is 
-available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. 
-<br>
-Contributors: IBM Corporation and Object Mentor - initial implementation</span><br />
-<br />
-	<table summary="" border="0" cellspacing="0" cellpadding="0">
-	  <tr>
-	    <td><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonbody" colspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td colspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td class="buttonbody" colspan="4" rowspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td class="buttonshadow"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td class="buttonbody" colspan="2" rowspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonbody"><a class="button" href="javascript:self.close();"><span class="buttontxt">&nbsp;Close&nbsp;</span></a></td>
-	    <td class="buttonbody" rowspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonshadow"  rowspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td class="buttonbody"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonbody"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonbody"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonshadow"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	  <tr>
-	    <td colspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td class="buttonshadow"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	    <td colspan="2"><img src="./images/shim.gif" alt="" width="1" height="1" /></td>
-	  </tr>
-	</table>
-
-</body>
-</html>
diff --git a/XP/xp/resources/banner.gif b/XP/xp/resources/banner.gif
deleted file mode 100644
index 308266d..0000000
--- a/XP/xp/resources/banner.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/resources/circleOfLife.jpg b/XP/xp/resources/circleOfLife.jpg
deleted file mode 100644
index 3772826..0000000
--- a/XP/xp/resources/circleOfLife.jpg
+++ /dev/null
Binary files differ
diff --git a/XP/xp/resources/process.gif b/XP/xp/resources/process.gif
deleted file mode 100644
index 8f9a085..0000000
--- a/XP/xp/resources/process.gif
+++ /dev/null
Binary files differ
diff --git a/XP/xp/resources/spscreen.htm b/XP/xp/resources/spscreen.htm
deleted file mode 100644
index b233aa4..0000000
--- a/XP/xp/resources/spscreen.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-<!-- RPW META DATA START --
- 
- 
--- RPW META DATA END -->
-
-<html>
-
-<head>
-<link rel="StyleSheet" href="rop.css" type="text/css"/>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-<title>Splash Screen</title>
-</head>
-
-<body>
-
-
-
-<p align="center">&nbsp;</p>
-<h2 align="center">Please wait while the tree browser is being loaded...<br/></h2>
-<!--
-<p align="center">&nbsp;</p>
-<p align="center"><img src="images/splash.gif" alt="Welcome to the Eclipse Process Framework"/></p>
-<br/>
--->
-<br/>
-
-
-</body>
-
-</html>
diff --git a/XP/xp/roles/xp_coach.xmi b/XP/xp/roles/xp_coach.xmi
deleted file mode 100644
index 9a28100..0000000
--- a/XP/xp/roles/xp_coach.xmi
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-gAMIwaLmqX7bf6GLCqwB-g"
-    name="xp_coach,{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}" guid="-gAMIwaLmqX7bf6GLCqwB-g"
-    changeDate="2006-11-09T16:28:38.381-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp_coach__role_definition&quot; name=&quot;XE_xp_coach__role_definition&quot;>&lt;/a>&lt;a id=&quot;Description&quot; name=&quot;Description&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>XP Coach&lt;/a> role helps a team stay on&#xD;
-    process and helps the team to learn. A coach brings an outside perspective to help a team see themselves more clearly.&#xD;
-    The coach will help balance the needs of delivering the project while improving the use of the practices. A coach or&#xD;
-    team of coaches supports the Customer Team, the Developer Team, and the Organization.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The decisions that coaches make should always stem from the XP values (communication, simplicity, feedback, and&#xD;
-    courage) and usually move toward the XP practices. As such, familiarity with the values and practices is a&#xD;
-    prerequisite. The coach must command the respect required to lead the respective teams. The coach must possess people&#xD;
-    skills and be effective in influencing the actions of the teams.&#xD;
-&lt;/p></mainDescription>
-  <skills>&lt;a id=&quot;Skills&quot; name=&quot;Skills&quot;>&lt;/a> 
-&lt;p>
-    The &lt;a class=&quot;PresentationName&quot; href=&quot;./../../xp/roles/xp_coach,{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}.html&quot; guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>XP Coach&lt;/a> uses many different techniques. The coach is a mentor,
-    working side by side with team members on their tasks. The coach is a facilitator, helping achieve more effective team
-    performance. The coach is a conduit, reinforcing communication within the team and across teams.
-&lt;/p></skills>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/roles/xp_customer.xmi b/XP/xp/roles/xp_customer.xmi
deleted file mode 100644
index d94066f..0000000
--- a/XP/xp/roles/xp_customer.xmi
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-92rjXjWhll5LOtPc58YERg"
-    name="xp_customer,{3C90DD4F-CFDB-4111-922D-3B840B8942DE}" guid="-92rjXjWhll5LOtPc58YERg"
-    changeDate="2006-11-13T14:52:45.927-0500" version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp_customer__role_definition&quot; name=&quot;XE_xp_customer__role_definition&quot;>&lt;/a>&lt;a id=&quot;Description&quot; name=&quot;Description&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{3C90DD4F-CFDB-4111-922D-3B840B8942DE}&quot;>XP Customer&lt;/a> role has the&#xD;
-    responsibility of defining what is the right product to build, determining the order in which features will be built&#xD;
-    and making sure the product actually works.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{3C90DD4F-CFDB-4111-922D-3B840B8942DE}&quot;>XP Customer&lt;/a> writes system features in&#xD;
-    the form of user stories that have business value. Using the planning game, he chooses the order in which the stories&#xD;
-    will be done by the development team. He also defines acceptance tests that will be run against the system to prove&#xD;
-    that the system is reliable and does what is required.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/roles/xp_programmer.xmi b/XP/xp/roles/xp_programmer.xmi
deleted file mode 100644
index 12a196f..0000000
--- a/XP/xp/roles/xp_programmer.xmi
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-RoFHDUeLz4UFKDuFirQp3g"
-    name="xp_programmer,{08A6AF28-69B1-42DC-A957-2E6CDCB436C1}" guid="-RoFHDUeLz4UFKDuFirQp3g">
-  <mainDescription>&lt;a id=&quot;XE_xp_programmer__role_definition&quot; name=&quot;XE_xp_programmer__role_definition&quot;>&lt;/a></mainDescription>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/roles/xp_system_administrator.xmi b/XP/xp/roles/xp_system_administrator.xmi
deleted file mode 100644
index 75e45eb..0000000
--- a/XP/xp/roles/xp_system_administrator.xmi
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-23MZj6vLVbgbkXaptH4riQ"
-    name="xp_system_administrator,{0CB3C507-AFEE-4DA8-982B-9B93C8729910}" guid="-23MZj6vLVbgbkXaptH4riQ"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp_programmer_(administrator)__role_definition&quot; name=&quot;XE_xp_programmer_(administrator)__role_definition&quot;>&lt;/a>&lt;a id=&quot;Description&quot; name=&quot;Description&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{0CB3C507-AFEE-4DA8-982B-9B93C8729910}&quot;>XP Programmer (Administrator)&lt;/a> role&#xD;
-    includes most of the traditional software development technical roles, such as designer, implementer, integrator, and&#xD;
-    administrator.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    In the administrator role, the programmer deals with establishing the physical working environment.&#xD;
-&lt;/p></mainDescription>
-  <skills>&lt;a id=&quot;Skills&quot; name=&quot;Skills&quot;>&lt;/a> 
-&lt;p>
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{0CB3C507-AFEE-4DA8-982B-9B93C8729910}&quot;>XP Programmer (Administrator)&lt;/a> role is
-    responsible for establishing the workspace for pair programming, including removing cubicle walls, establishing line of
-    sight with the customer, and standardizing on the development tools.
-&lt;/p></skills>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/roles/xp_tester.xmi b/XP/xp/roles/xp_tester.xmi
deleted file mode 100644
index 84fcd2a..0000000
--- a/XP/xp/roles/xp_tester.xmi
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-KfsuH9i0hVMlGV7PVIa3FQ"
-    name="xp_tester,{FB65D00B-8304-4CF7-9969-52CE82F503DC}" guid="-KfsuH9i0hVMlGV7PVIa3FQ"
-    version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    The primary responsibility of the XP Tester is to help the customer define and implement acceptance tests for user&#xD;
-    stories. The XP Tester is also responsible for running the tests frequently and posting the results for the whole team&#xD;
-    to see. As the number of tests grow, the XP Tester will likely need to create and maintain some kind of tool to make it&#xD;
-    easier to define them, run them, and gather the results quickly.&#xD;
-&lt;/p></mainDescription>
-  <skills>&lt;p>
-    Whereas knowledge of the applications target domain is provided by the customer, the XP Tester needs to support the
-    customer by providing:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        Knowledge of typical software failure conditions and the test techniques that can be employed to uncover those
-        errors.
-    &lt;/li>
-    &lt;li>
-        Knowledge of different techniques to implement and run tests, including understanding of and experience with test
-        automation.
-    &lt;/li>
-&lt;/ul></skills>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/roles/xp_tracker.xmi b/XP/xp/roles/xp_tracker.xmi
deleted file mode 100644
index 8eaed92..0000000
--- a/XP/xp/roles/xp_tracker.xmi
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:RoleDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-FIhk4OEzZl2IAVMXurpBLA"
-    name="xp_tracker,{D8FE277E-4F9A-47EB-855F-C451D601BBAF}" guid="-FIhk4OEzZl2IAVMXurpBLA"
-    version="1.0.0">
-  <mainDescription>&lt;a id=&quot;XE_xp_tracker__role_definition&quot; name=&quot;XE_xp_tracker__role_definition&quot;>&lt;/a>&lt;a id=&quot;Description&quot; name=&quot;Description&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The three basic things the &lt;a class=&quot;PresentationName&quot; guid=&quot;{D8FE277E-4F9A-47EB-855F-C451D601BBAF}&quot;>XP Tracker&lt;/a>&#xD;
-    will track are the release plan (user stories), the iteration plan (tasks) and the acceptance tests. The tracker can&#xD;
-    also keep track of other metrics, which may help in solving problems the team is having. A good &lt;a class=&quot;PresentationName&quot; guid=&quot;{D8FE277E-4F9A-47EB-855F-C451D601BBAF}&quot;>XP Tracker&lt;/a> has the ability to collect the&#xD;
-    information without disturbing the process significantly.&#xD;
-&lt;/p></mainDescription>
-</org.eclipse.epf.uma:RoleDescription>
diff --git a/XP/xp/tasks/adapt_and_improve_process.xmi b/XP/xp/tasks/adapt_and_improve_process.xmi
deleted file mode 100644
index 058484f..0000000
--- a/XP/xp/tasks/adapt_and_improve_process.xmi
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-u-Svthjtn1xLK2IwVUpk5Q"
-    name="adapt_and_improve_process,{F0D4C205-4A38-42AF-BE87-9A6C0C173E65}" guid="-u-Svthjtn1xLK2IwVUpk5Q"
-    version="1.0.0">
-  <sections xmi:id="_oNoEAGE-EdqnIZeW8YpHcA" name=" General " guid="_oNoEAGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    Teams using XP are guided by the &lt;a class=&quot;elementLink&quot;
-    href=&quot;./../../xp/guidances/concepts/xp_values,1.076140803519123E-306.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a>
-    through their use of the &lt;a class=&quot;elementLink&quot;
-    href=&quot;./../../xp/guidances/concepts/xp_practices,2.2937799026801584E-305.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP
-    Practices&lt;/a>. The XP Practices are each best practices, but the practices also leverage the benefits of the other
-    practices to form an efficient, minimal set of practices required to deliver high quality software aligned to customer
-    needs.
-&lt;/p>
-&lt;p>
-    In general, teams will be most effective in their use of XP if each of the practices is used as much as possible on the
-    project. In practice, this can be difficult to achieve for a number of reasons, including:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        Technical obstacles, such as non-OO languages and legacy code
-    &lt;/li>
-    &lt;li>
-        Lack of skills, including basic programming skills, practice skills, domain expertise, teamwork skills
-    &lt;/li>
-    &lt;li>
-        A complex customer environment, where a single source of prioritized stories is difficult to develop
-    &lt;/li>
-    &lt;li>
-        Organizational obstacles, such as distributed teams, large teams, and command/control oriented cultures
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    As the team uses XP, these obstacles affect their ability to effectively use the practices. The &lt;a
-    class=&quot;PresentationName&quot; href=&quot;./../../xp/roles/xp_coach,{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}.html&quot;
-    guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>XP Coach&lt;/a> helps the team address how these challenges will affect
-    their use of the practices. This starts with helping the team maintain the &lt;a class=&quot;elementLinkWithUserText&quot;
-    href=&quot;./../../xp/guidances/concepts/xp_values,1.076140803519123E-306.html#Courage&quot;
-    guid=&quot;1.076140803519123E-306&quot;>Courage&lt;/a> to confront and remove these obstacles, clearing the way for the practices to
-    be used. In cases where the obstacles cannot be removed, the coach and the team use the &lt;a class=&quot;elementLink&quot;
-    href=&quot;./../../xp/guidances/concepts/xp_values,1.076140803519123E-306.html&quot; guid=&quot;1.076140803519123E-306&quot;>XP Values&lt;/a>
-    to guide adaptation of the practices.
-&lt;/p>
-&lt;p>
-    The &lt;a class=&quot;PresentationName&quot; href=&quot;./../../xp/roles/xp_coach,{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}.html&quot;
-    guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>XP Coach&lt;/a> needs to participate in communities that share best
-    practices in software development and XP. These communities will exist within large companies, in local users groups,
-    and in Internet communities.
-&lt;/p>
-&lt;p>
-    &lt;br />
-    &lt;br />
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_adapt_and_improve_process__activity_definition&quot; name=&quot;XE_adapt_and_improve_process__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Improve the productivity of the team.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/automate_acceptance_test.xmi b/XP/xp/tasks/automate_acceptance_test.xmi
deleted file mode 100644
index 4704ec6..0000000
--- a/XP/xp/tasks/automate_acceptance_test.xmi
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-fm-gBePbdl_WMsE5NxEreQ"
-    name="automate_acceptance_test,{E614ED93-AE72-4FD1-B459-C508CE1C536F}" guid="-fm-gBePbdl_WMsE5NxEreQ"
-    version="1.0.0">
-  <sections xmi:id="_oNCOIGE-EdqnIZeW8YpHcA" name=" General " guid="_oNCOIGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    XP teams represent detailed requirements as automated customer tests. Automating the tests insures they are detailed,
-    unambiguous, and executable. Typically, each acceptance criteria is translated into at least one automated test.
-&lt;/p>
-&lt;p>
-    There are lots of ways to do this:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        For a batch program reading inputs and producing outputs: create test input files, capture actual output, and
-        compare it against expected output.
-    &lt;/li>
-    &lt;li>
-        Write functional tests as programs. You can use a unit testing framework as a base or create a little scripting
-        language the programmers can use.
-    &lt;/li>
-    &lt;li>
-        Allow the customer to easily specify tests (spreadsheets, flat text files) and create a small tool to read the
-        input and expected output. The tool runs the input against the system and checks that the actual output matches the
-        expected output.
-    &lt;/li>
-    &lt;li>
-        Build an input recorder to allow customers to define the tests.
-    &lt;/li>
-    &lt;li>
-        Use simple file-based tools to check the results.
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    It is important to build the automation simply and incrementally as you need it. It is too easy to lose control and
-    invest too much time in test automation instead of business value. Don't overdo it.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_automate_customer_test__activity_definition&quot; name=&quot;XE_automate_customer_test__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Transform the acceptance criteria of a user story into executable form.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/breakdown_story.xmi b/XP/xp/tasks/breakdown_story.xmi
deleted file mode 100644
index 482d9bc..0000000
--- a/XP/xp/tasks/breakdown_story.xmi
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-umDp1nFYrMetgnJ-kUMhHw"
-    name="breakdown_story,{90DBD758-58B8-4383-94DD-312D349512BC}" guid="-umDp1nFYrMetgnJ-kUMhHw"
-    version="1.0.0">
-  <sections xmi:id="_oEkOoGE-EdqnIZeW8YpHcA" name=" Understand the User Story " guid="_oEkOoGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    Breaking down user stories occurs at iteration planning. The first step in iteration planning is for the customer to go
-    over the story with the developers to ensure they understand the story. The developers can ask questions until they are
-    satisfied that they understand all aspects of the system. The details of the user stories are defined in the acceptance
-    test criteria.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oEkOoWE-EdqnIZeW8YpHcA" name=" Discuss Possible Implementations "
-      guid="_oEkOoWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Coming up with engineering tasks for a story requires a good understanding of how the story will be implemented. The
-    team uses this time to discuss possible design alternatives or approaches.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oEkOomE-EdqnIZeW8YpHcA" name=" Identify Engineering Tasks " guid="_oEkOomE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    Once an approach has been selected by the team, the team focuses on identifying the steps that allow the team to fully
-    implement it during the following iteration.
-&lt;/p>
-&lt;p>
-    &lt;br />
-    &lt;br />
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_break_down_story__activity_definition&quot; name=&quot;XE_break_down_story__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Split user stories into engineering tasks.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/define_coding_standard.xmi b/XP/xp/tasks/define_coding_standard.xmi
deleted file mode 100644
index 5f72d16..0000000
--- a/XP/xp/tasks/define_coding_standard.xmi
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-qIbMRqe8wqKN2-HLtNUcLw"
-    name="define_coding_standard,{C88D5B0A-1A59-4575-ADDF-8ECBBAB83410}" guid="-qIbMRqe8wqKN2-HLtNUcLw"
-    version="1.0.0">
-  <sections xmi:id="_oCfyEGE-EdqnIZeW8YpHcA" name=" Write Prototypical Classes " guid="_oCfyEGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    When deciding on a coding standard, take the time to write a few classes which use a particular style. Should the curly
-    braces be flush with the indentation of the line above? Do we use tabs or spaces? Are abbreviations permitted? If so,
-    do we have a short list?
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oCfyEWE-EdqnIZeW8YpHcA" name=" Discuss Standard " guid="_oCfyEWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    The coding standard for a project should be as simple as possible. The goal is not to forbid error prone constructs,
-    but rather to make the code as communicative and uniform as possible so it can be understood and worked on readily. If
-    the team cannot reach consensus, use majority rule. Having a standard is more important than the specific details.
-&lt;/p>
-&lt;p>
-    &lt;br />
-    &amp;nbsp;
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_define_coding_standard__activity_definition&quot; name=&quot;XE_define_coding_standard__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To aid clarity by making the style of code as familiar as possible.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/define_customer_test.xmi b/XP/xp/tasks/define_customer_test.xmi
deleted file mode 100644
index 12004d9..0000000
--- a/XP/xp/tasks/define_customer_test.xmi
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-WgE0oiE2yddCOMnfzL25Gw"
-    name="define_customer_test,{DCDB57BE-4233-4CF8-90CE-70D6808F92B0}" guid="-WgE0oiE2yddCOMnfzL25Gw"
-    version="1.0.0">
-  <sections xmi:id="_oGorMGE-EdqnIZeW8YpHcA" name="Understand the Story " guid="_oGorMGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    Since the customer tests are automated, the customer has to be very specific about what the test will do. It is
-    impossible to do this if the customer does not understand the story in intimate detail from a user perspective. Writing
-    the customer tests will force the customer to go into all the details of the story. Stories must be testable.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oGorMWE-EdqnIZeW8YpHcA" name="Define Test Criteria " guid="_oGorMWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Once the story is well understood and selected for the iteration, the automated customer tests are written. If the
-    customer team includes testers, the customer could communicate the test criteria to the tester. This can be verbal or
-    written. The criterion describes the tests for the normal and exceptional behavior of the system.&lt;br />
-     &amp;nbsp;
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_define_customer_test__activity_definition&quot; name=&quot;XE_define_customer_test__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Define the criteria under which the customer will deem a story complete.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/define_iteration_plan.xmi b/XP/xp/tasks/define_iteration_plan.xmi
deleted file mode 100644
index 0485e37..0000000
--- a/XP/xp/tasks/define_iteration_plan.xmi
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-BWG5zUGb8c25kuLJ3ck8ng"
-    name="define_iteration_plan,{849E3635-6FCD-4FAD-A007-CA34B9998622}" guid="-BWG5zUGb8c25kuLJ3ck8ng"
-    version="1.0.0">
-  <sections xmi:id="_oQSWcGE-EdqnIZeW8YpHcA" name="Preconditions " guid="_oQSWcGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;PreCond&quot; name=&quot;PreCond&quot;>&lt;/a> 
-&lt;p>
-    The steps for this activity are part of XP iteration planning. In order for this activity to be successful, the
-    following preconditions should be met:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        &lt;div align=&quot;left&quot;>
-            The customer understands the user stories very well.
-        &lt;/div>
-    &lt;/li>
-    &lt;li>
-        The customer has defined acceptance criteria for the stories.
-    &lt;/li>
-    &lt;li>
-        All team members that will be involved in developing the stories should be present.
-    &lt;/li>
-&lt;/ul></sectionDescription>
-  </sections>
-  <sections xmi:id="_oQSWcWE-EdqnIZeW8YpHcA" name="Customer Presents the User Stories "
-      guid="_oQSWcWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    The customer selects a list of user stories that he would like included in the next iteration. The stories typically
-    come from the release plan but may also include new stories that were not originally planned. The customer explains the
-    stories and the acceptance test criteria to the developers.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oQSWcmE-EdqnIZeW8YpHcA" name="Developers Break Down Stories "
-      guid="_oQSWcmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    The developers discuss how to implement the story and break it down into engineering tasks. Tasks should include
-    everything necessary to get the story to pass the customer's acceptance test.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oQSWc2E-EdqnIZeW8YpHcA" name="Developers Sign Up and Estimate "
-      guid="_oQSWc2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    The developers sign up for all the tasks. The developers put estimates only for the tasks they have personally signed
-    up for.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oQSWdGE-EdqnIZeW8YpHcA" name="Customer Adjusts Iteration Plan "
-      guid="_oQSWdGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step4&quot; name=&quot;Step4&quot;>&lt;/a> 
-&lt;p>
-    If the sum of all the task estimates is greater than the sum of all the tasks done by the team during the last
-    iteration, the customer must remove some work in order to&amp;nbsp;respect the team's iteration velocity.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_define_iteration__activity_definition&quot; name=&quot;XE_define_iteration__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Establish what can be built during the iteration, given the team's constraints.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Allow the team to manage itself at the task level.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/define_release_plan.xmi b/XP/xp/tasks/define_release_plan.xmi
deleted file mode 100644
index 9296cbd..0000000
--- a/XP/xp/tasks/define_release_plan.xmi
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-7gEOFFavlkSqwIoTNrvfJA"
-    name="define_release_plan,{D755C076-8E63-4A24-89AA-A7D64E368B90}" guid="-7gEOFFavlkSqwIoTNrvfJA"
-    version="1.0.0">
-  <sections xmi:id="_oOauMGE-EdqnIZeW8YpHcA" name="Preparation " guid="_oOauMGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    The steps for this activity are part of XP release planning. In order for this activity to be successful, the following
-    preconditions should be met:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        The customer has enough user stories at present to fill at least one release.
-    &lt;/li>
-    &lt;li>
-        The customer understands the user stories very well.
-    &lt;/li>
-    &lt;li>
-        The customer has defined acceptance criteria for the stories.
-    &lt;/li>
-    &lt;li>
-        All team members that will be involved in developing the stories should be present.
-    &lt;/li>
-&lt;/ul></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOauMWE-EdqnIZeW8YpHcA" name="Customer Presents the User Stories "
-      guid="_oOauMWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    The customer describes each story to the team and explains the conditions under which the story is going to be
-    considered complete.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOauMmE-EdqnIZeW8YpHcA" name="Developers Estimate the User Stories "
-      guid="_oOauMmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    The developers discuss each story and come up with an estimate based on their experience. High-level design discussions
-    take place as developers try to understand the story and discuss different ways of implementing it. In some cases, the
-    team will not be able to provide a reasonable estimate:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        They do not understand the story: the team should be asking more questions&amp;nbsp;to the customer.
-    &lt;/li>
-    &lt;li>
-        The story is too big: the developers don't have a good grasp of the scope. It should be broken down into smaller
-        stories.
-    &lt;/li>
-    &lt;li>
-        They don't know how to do it: they will need to do some research first.
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    Be careful to avoid analysis paralysis. The first few times the team estimates stories, it may take as long as an hour
-    to estimate a story. The second story should take less time. Your goal should be to be able to estimate a story in only
-    a few minutes.
-&lt;/p>
-&lt;p>
-    As a rule of thumb, story estimates should not exceed the iteration length based on a pair of people dedicated to the
-    story. When stories exceed the iteration length, the customer splits the story.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOg00GE-EdqnIZeW8YpHcA" name="Customer Prioritizes Stories "
-      guid="_oOg00GE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    Once all the stories have an estimated cost, the customer can prioritize the stories into the release plan.The customer
-    organizes stories into iterations and sequences of iterations into releases. The sum of all story points in each
-    iteration cannot exceed the team's velocity. At the beginning of the project, you will have to guess the team's
-    velocity. Try one third of the ideal programmer time available in an iteration. After a few iterations, revisit the
-    plan and use the team's measured velocity. See more on release planning in the &lt;a class=&quot;elementLinkWithUserText&quot;
-    href=&quot;./../../xp/guidances/guidelines/planning_game,6.7335956461328426E-307.html&quot;
-    guid=&quot;6.7335956461328426E-307&quot;>planning game guideline&lt;/a>.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_define_release__activity_definition&quot; name=&quot;XE_define_release__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To estimate the content and delivery date for a release of the product.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/develop_xp_vision.xmi b/XP/xp/tasks/develop_xp_vision.xmi
deleted file mode 100644
index a2966d5..0000000
--- a/XP/xp/tasks/develop_xp_vision.xmi
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-W67fNE0rT1c2PM-20yXbrw"
-    name="develop_xp_vision,{A8708FFB-BB20-40AF-BEF2-7A8A814FF74D}" guid="-W67fNE0rT1c2PM-20yXbrw"
-    changeDate="2005-12-02T11:56:23.177-0500" version="1.0.0">
-  <sections xmi:id="_oB58MGE-EdqnIZeW8YpHcA" name="Gain Agreement on the Problem Being Solved "
-      guid="_oB58MGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Gain&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    One of the simplest ways to gain agreement on the definition of the problem is to write it down and see if everyone
-    agrees.
-&lt;/p>
-&lt;p>
-    Ask the group: What is the problem?
-&lt;/p>
-&lt;p>
-    It is very common to rush headlong into defining the solution rather than taking time to first understand the problem.
-    Write down the problem and see if you can get everyone to agree on the definition.
-&lt;/p>
-&lt;p>
-    Then ask the group again: What is the problem, really?
-&lt;/p>
-&lt;p>
-    Search for root causes or the &quot;problem behind the problem&quot;. The real problem is often hiding behind what is perceived
-    as a problem. Don't accept the first statement of a problem. Continue to ask &quot;why?&quot; to find out what the problem
-    &quot;really&quot; is. Sometimes the group can be so focused on an envisioned solution that it is hard to get them to formulate
-    the underlying problem. In such cases, it can be beneficial to explore the benefits of the solution and then try to
-    find the problems being solved by those benefits. You can then explore whether or not those problems are &quot;real&quot;
-    problems in the organization.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oB58MWE-EdqnIZeW8YpHcA" name="Identify Stakeholders " guid="_oB58MWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Identify&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;ul>
-    &lt;li>
-        Who are the users of the system?
-    &lt;/li>
-    &lt;li>
-        Who is the economic buyer for the system?
-    &lt;/li>
-    &lt;li>
-        Who else will be affected by the output that the system produces?
-    &lt;/li>
-    &lt;li>
-        Who will evaluate and bless the system when it is delivered and deployed?
-    &lt;/li>
-    &lt;li>
-        Are there any other internal or external users of the system whose needs must be addressed?
-    &lt;/li>
-    &lt;li>
-        Who will maintain the new system?
-    &lt;/li>
-    &lt;li>
-        Is there anyone else?
-    &lt;/li>
-    &lt;li>
-        Okay, is there anyone else?
-    &lt;/li>
-&lt;/ul></sectionDescription>
-  </sections>
-  <sections xmi:id="_oB58MmE-EdqnIZeW8YpHcA" name="Define the Primary Features of the System "
-      guid="_oB58MmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Define&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    What primary features of the system allow the stakeholders to solve their problems? This should be a list of very
-    high-level features.&lt;br />
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oB58M2E-EdqnIZeW8YpHcA" name="Communicate the Vision " guid="_oB58M2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Com&quot; name=&quot;Step4&quot;>&lt;/a> 
-&lt;p>
-    Once agreed upon by the stakeholders, the vision is communicated clearly to all project team members. When the project
-    starts, XP teams often write up the vision on one of the whiteboards in the team's open workspace so it can easily be
-    seen by all team members. After a short time, the team usually internalizes the vision and no longer needs the
-    reminder.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_define_vision__activity_definition&quot; name=&quot;XE_define_vision__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The Vision defines the stakeholder's view of the product being developed specified in terms of the stakeholder's&#xD;
-        key needs and features.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/estimate_task.xmi b/XP/xp/tasks/estimate_task.xmi
deleted file mode 100644
index f653305..0000000
--- a/XP/xp/tasks/estimate_task.xmi
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-9EbmL3qGJ_TemB83cJublQ"
-    name="estimate_task,{EC483990-8129-4AE3-893C-0F7406C128DA}" guid="-9EbmL3qGJ_TemB83cJublQ"
-    version="1.0.0">
-  <sections xmi:id="_oCfyEmE-EdqnIZeW8YpHcA" name="Understand the Task " guid="_oCfyEmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    Task breakdown of a user story is done at iteration planning by the whole team. Since all team members are present,
-    they should have a fairly good understanding of the tasks. If not, the team is there to help them.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oCfyE2E-EdqnIZeW8YpHcA" name="Give an Estimate Based on Experience "
-      guid="_oCfyE2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    The person giving the estimate can use his personal experience to give an estimate based on a similar task he has done
-    before. If the experience is not there, other team members can help by providing their input based on their own
-    experience. Very often, pairs will form for specific tasks at this stage. The most important aspect to keep in mind is
-    that the person responsible for the task is the one giving the estimate.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_estimate_task__activity_definition&quot; name=&quot;XE_estimate_task__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Provide a fine-grain estimate that will be used in iteration planning.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/estimate_user_story.xmi b/XP/xp/tasks/estimate_user_story.xmi
deleted file mode 100644
index cbe939b..0000000
--- a/XP/xp/tasks/estimate_user_story.xmi
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-Z9xFd9JTnJuNN5S27p06UQ"
-    name="estimate_user_story,{23A924D3-5989-40DD-86A9-9D8FCFB8AE52}" guid="-Z9xFd9JTnJuNN5S27p06UQ"
-    version="1.0.0">
-  <sections xmi:id="_oEqVQGE-EdqnIZeW8YpHcA" name=" Understand the User Story " guid="_oEqVQGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    To provide an estimate that is fairly accurate, the developers need to have a good grasp of the story. During release
-    planning, the customer describes each user story and presents acceptance test criteria. The developers can ask
-    questions until they are satisfied that they understand the most important aspects of what the customer is asking for.
-    Avoid analysis paralysis; there are many stories.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oEqVQWE-EdqnIZeW8YpHcA" name=" Discuss Possible Implementations "
-      guid="_oEqVQWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Sometimes the team can just estimate the story from their gut. Other times the story may not quite fit prior
-    experiences, and the team may have to explore potential design alternatives. Do not settle on a specific design. If
-    competing ideas take about the same amount of time, pick an estimate and move on to the next story. Avoid analysis
-    paralysis; there are many stories.
-&lt;/p>
-&lt;p>
-    When there is deep uncertainty, the team can request the time to do some research (spike) in order to give a more
-    realistic estimate.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oEqVQmE-EdqnIZeW8YpHcA" name=" Give an Estimate Based on Experience "
-      guid="_oEqVQmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    If the team has done similar work before, they simply extrapolate from previous work. For work the team is unfamiliar
-    with, a spike can provide just enough information to know what is possible and how long the effort is likely to last.
-    An experienced XP team can estimate most stories in a few minutes or less. Avoid analysis paralysis; there are many
-    stories.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oEqVQ2E-EdqnIZeW8YpHcA" name=" Ask the Customer to Split the Story "
-      guid="_oEqVQ2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Ask&quot; name=&quot;Ask&quot;>&lt;/a> 
-&lt;p>
-    Story estimates should not exceed the iteration duration for a pair of programmers. If the estimate is too big, have
-    the customer split the story. People are better at estimating smaller pieces of work. Long estimates tend to go over
-    budget. It would not be uncommon to take a four-week story and break it down only to discover it is four two-week
-    stories.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_estimate_user_story__activity_definition&quot; name=&quot;XE_estimate_user_story__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Provide a high-level estimate that will be used in release planning.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/explain_process.xmi b/XP/xp/tasks/explain_process.xmi
deleted file mode 100644
index d1ea45e..0000000
--- a/XP/xp/tasks/explain_process.xmi
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-I3yOxhkbTu3OCbzQ0sUsyA"
-    name="explain_process,{1FA31F30-1F90-4BD3-9F0D-57DF66FC6727}" guid="-I3yOxhkbTu3OCbzQ0sUsyA"
-    version="1.0.0">
-  <sections xmi:id="_oNuxsGE-EdqnIZeW8YpHcA" name=" General " guid="_oNuxsGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    As a team begins to use the &lt;a class=&quot;elementLink&quot;
-    href=&quot;./../../xp/guidances/concepts/xp_practices,2.2937799026801584E-305.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP
-    Practices&lt;/a>, the coach must prepare the team to use the practices effectively.
-&lt;/p>
-&lt;p>
-    This includes the following:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        Teach the team about XP and ensure that the team has a common understanding of the practices.
-    &lt;/li>
-    &lt;li>
-        Facilitate the team's decision as to how aggressively the transition to the new practices will be.
-    &lt;/li>
-    &lt;li>
-        Facilitate a team activity to identify what obstacles they will face in using the practices effectively. Ensure
-        that the team has a plan to overcome those obstacles.
-    &lt;/li>
-    &lt;li>
-        Facilitate a team activity to identify what constraints will require adaptation of the practices. Ensure that these
-        adaptations are understood by the &lt;a class=&quot;elementLink&quot;
-        href=&quot;./../../xp/guidances/concepts/whole_team,7.89591827591278E-306.html&quot; guid=&quot;7.89591827591278E-306&quot;>Whole
-        Team&lt;/a>.
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    Because there are many roles in the team, a coach needs to have a good understanding of the all different activities in
-    the process. In some cases, there might be more than one coach on a team to address needs. There might be a coach for
-    the developer team and one for the customer team, for example.
-&lt;/p>
-&lt;p>
-    Use external expertise as necessary to ensure the team starts with a strong base of knowledge on which to succeed.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_explain_process__activity_definition&quot; name=&quot;XE_explain_process__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Make sure the team has a common understanding of the fundamentals.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/implement_spike.xmi b/XP/xp/tasks/implement_spike.xmi
deleted file mode 100644
index 946071b..0000000
--- a/XP/xp/tasks/implement_spike.xmi
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-DbsgXRUjLhsnnpioGI2b3g"
-    name="implement_spike,{85BE1C0E-F389-4246-BB22-9A52988018B7}" guid="-DbsgXRUjLhsnnpioGI2b3g"
-    version="1.0.0">
-  <sections xmi:id="_oCl4sGE-EdqnIZeW8YpHcA" name=" General " guid="_oCl4sGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    A spike is an experiment. It helps the team find some bit of information it is missing in order to go forward. As such,
-    spikes are an important tool to minimize project risks.
-&lt;/p>
-&lt;p>
-    Spikes are very often called for during the planning process when the team is unsure about how long particular stories
-    will take. In this case, the spike consists of trying out different ways of implementing the story. The team will do
-    the bare minimum to gain an understanding of how to do the story so that they can provide a reasonable estimate. Very
-    often, the code generated by spikes is literally thrown away. The value of the spike is in the information that was
-    missing, namely a good estimate in this case.
-&lt;/p>
-&lt;p>
-    &lt;br />
-     &amp;nbsp;
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_implement_spike__activity_definition&quot; name=&quot;XE_implement_spike__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Research a missing piece of information.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/improve_team_skills.xmi b/XP/xp/tasks/improve_team_skills.xmi
deleted file mode 100644
index a61c7aa..0000000
--- a/XP/xp/tasks/improve_team_skills.xmi
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-32JWpciwfc2e7HgQavJDkw"
-    name="improve_team_skills,{1C4325AC-17DE-4CD0-8AA0-4B210570579F}" guid="-32JWpciwfc2e7HgQavJDkw"
-    version="1.0.0">
-  <sections xmi:id="_oNuxsWE-EdqnIZeW8YpHcA" name="General " guid="_oNuxsWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    Teams are made up of individuals with an imperfect balance of technical expertise, domain or customer awareness, and
-    people skills. The team must continually identify and improve those skill areas that are lacking. The XP Coach helps
-    ensure that this happens.
-&lt;/p>
-&lt;p>
-    The coach must always be aware of what difficulties the team is having in succeeding on their project. Some of these
-    will be evident, often communicated directly by the team. Some will be subtle with little awareness on the team that
-    there is a problem. To maintain this awareness, the coach must balance time spent in the trenches with the team,
-    observing specific use of the practices, with time spent reflecting on the team's capabilities, unencumbered by the
-    direct pressures of the project.
-&lt;/p>
-&lt;p>
-    With an awareness of where the team needs improvement, the coach must help the team integrate improvement activities
-    into their work. Improvement activities need to be prioritized just as User Stories do. Different options will exist to
-    address skill improvement needs. The coach should be familiar with a wide variety of activities, courses, and games to
-    help people further their skills in a given practice. The coach acts as a conduit that connects the team with the
-    expertise required to improve a skill whether that other resource is in the organization or is an external resource.
-&lt;/p>
-&lt;p>
-    One of the most effective tools to help the team identify areas for improvement is the Retrospective, a form of project
-    review. Techniques for this are described in Norm Kerth's book, &lt;i>Project Retrospectives&lt;/i> [&lt;a
-    class=&quot;elementLinkWithUserText&quot;
-    href=&quot;./../../xp/guidances/supportingmaterials/xp_and_agile_process_references,6.191633934532389E-306.html#KER01&quot;
-    guid=&quot;6.191633934532389E-306&quot;>KER01&lt;/a>]. Many teams have adapted the tools from the book to perform abbreviated
-    retrospectives after each iteration in addition to the more comprehensive session held at the completion of a full
-    project.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_improve_team_skills__activity_definition&quot; name=&quot;XE_improve_team_skills__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Help the team members identify skills that need improvement and implement activities to improve those skills.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/integrate_system.xmi b/XP/xp/tasks/integrate_system.xmi
deleted file mode 100644
index 9ed5302..0000000
--- a/XP/xp/tasks/integrate_system.xmi
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="--tP2hgRfEkZPGYvy1y0GZQ"
-    name="integrate_system,{70FEC254-8555-4844-AD82-68367E25F082}" guid="--tP2hgRfEkZPGYvy1y0GZQ"
-    version="1.0.0">
-  <sections xmi:id="_oE9QMGE-EdqnIZeW8YpHcA" name=" Run All Unit Tests for the System "
-      guid="_oE9QMGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    While you and your pair partner are working on a task, you run unit tests to make sure you are not introducing side
-    effect defects. As a system evolves, it may become impractical to run all the unit tests for the system for every
-    change made. In this case, you may choose a subset of the unit tests to run after every code change. When a task is
-    completed or you feel that you have a piece you can integrate or you are uncertain for any reason, run all of the unit
-    tests for the system.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oE9QMWE-EdqnIZeW8YpHcA" name=" Check in Code " guid="_oE9QMWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    If all of the unit test in the system passed, check in your code and produce a system build.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_integrate_and_build__activity_definition&quot; name=&quot;XE_integrate_and_build__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To produce a runnable executable of the application under development that can be used to evaluate progress and&#xD;
-        provide feedback&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/keep_process_on_track.xmi b/XP/xp/tasks/keep_process_on_track.xmi
deleted file mode 100644
index 310d5c6..0000000
--- a/XP/xp/tasks/keep_process_on_track.xmi
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-SH3UFVsPViLT3hOalbaxgA"
-    name="keep_process_on_track,{80725BC3-E2BA-4860-8F07-4A34B96FBB2A}" guid="-SH3UFVsPViLT3hOalbaxgA"
-    version="1.0.0">
-  <sections xmi:id="_oN04UGE-EdqnIZeW8YpHcA" name="General " guid="_oN04UGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    The &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/whole_team,7.89591827591278E-306.html&quot;
-    guid=&quot;7.89591827591278E-306&quot;>Whole Team&lt;/a> needs to be very focused on the goals of the project. The development
-    practices enable the project goals to be achieved. The challenge of focusing on the project goals and focusing the
-    disciplined and effective use of the practices is a constant challenge for the team.
-&lt;/p>
-&lt;p>
-    The &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/roles/xp_tracker,{D8FE277E-4F9A-47EB-855F-C451D601BBAF}.html&quot;
-    guid=&quot;{D8FE277E-4F9A-47EB-855F-C451D601BBAF}&quot;>XP Tracker&lt;/a> collects data and reports it to the team. This data
-    provides guidance as to whether the project is on a trajectory to meet the project goals. The data also monitors the
-    team's use of the practices.
-&lt;/p>
-&lt;p>
-    The &lt;a class=&quot;PresentationName&quot; href=&quot;./../../xp/roles/xp_coach,{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}.html&quot;
-    guid=&quot;{9C440605-FF0E-4D37-A774-BBF8B5F47AB6}&quot;>XP Coach&lt;/a> ensures that the team is collecting and using the data to
-    ensure that the project and process goals are achieved.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_keep_process_on_track__activity_definition&quot; name=&quot;XE_keep_process_on_track__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ensure the process is being used effectively towards the project goals.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/refactor_code.xmi b/XP/xp/tasks/refactor_code.xmi
deleted file mode 100644
index 34dec40..0000000
--- a/XP/xp/tasks/refactor_code.xmi
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-IoT5LZUu3vnNFp-pwPUMHA"
-    name="refactor_code,{3DD335BB-45F6-49C7-B17A-90652C73A485}" guid="-IoT5LZUu3vnNFp-pwPUMHA"
-    version="1.0.0">
-  <sections xmi:id="_oCr_UGE-EdqnIZeW8YpHcA" name="Identify Poor Design " guid="_oCr_UGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    While developing, requirements change and previous design decisions can be invalidated. A new feature is added, you get
-    it to work, but the structure and clarity of the code can degrade. You could leave it, and the design will slowly rot,
-    or you could improve the design on the spot. Refactoring is about improving the design.
-&lt;/p>
-&lt;p>
-    A simple design has these four characteristics, listed in priority order:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        The system runs all the tests.
-    &lt;/li>
-    &lt;li>
-        It contains no duplicate code.
-    &lt;/li>
-    &lt;li>
-        The code states the programmers' intent very clearly.
-    &lt;/li>
-    &lt;li>
-        It contains the fewest possible number of classes and methods.
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    A good resource for gaining refactoring knowledge is Martin Fowler's book: &lt;i>Refactoring - Improving the Design of
-    Existing Code&lt;/i> [&lt;a class=&quot;elementLinkWithUserText&quot;
-    href=&quot;./../../xp/guidances/supportingmaterials/xp_and_agile_process_references,6.191633934532389E-306.html#FOW99&quot;
-    guid=&quot;6.191633934532389E-306&quot;>FOW99&lt;/a>]. Martin discusses the idea of bad code smells, how to detect them, what harm
-    they will do to your software, and how to fix them.
-&lt;/p>
-&lt;p>
-    During development, you should look at the code refactoring with an open mind and find its weaknesses. Clarify the
-    code; fix what needs to be fixed. As you discover these smells, you should work to eliminate them before proceeding to
-    the next test case. Save some time before you check-in your code to step back and look it over. Identify duplicate code
-    sections and places where the design intent is not clear.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oCr_UWE-EdqnIZeW8YpHcA" name="Refactor " guid="_oCr_UWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Refactoring involves making changes to your code which improve its structure without modifying its behavior. Martin
-    Fowler's Refactoring book lists over sixty refactorings to handle particular code situations. The goal of each of them
-    is to reduce duplication in the code base and increase clarity. Leave your code clean, simple, and free from
-    duplication.
-&lt;/p>
-&lt;p>
-    As the structure of your code base evolves, you choose names which aid your understanding of the functionality
-    specified by the code. This system of names becomes the vocabulary for your team's discussion of design.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_refactor_code__activity_definition&quot; name=&quot;XE_refactor_code__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To keep the design of the system clear and ready for change.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/report_acceptance_test_result.xmi b/XP/xp/tasks/report_acceptance_test_result.xmi
deleted file mode 100644
index 1c37e29..0000000
--- a/XP/xp/tasks/report_acceptance_test_result.xmi
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-p0GGwGNG5O8Dn6O6ZzivIw"
-    name="report_acceptance_test_result,{52D6E875-C46B-454B-A39C-CEC21603AF5C}" guid="-p0GGwGNG5O8Dn6O6ZzivIw"
-    version="1.0.0">
-  <sections xmi:id="_oH6dkGE-EdqnIZeW8YpHcA" name=" General " guid="_oH6dkGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    This activity communicates to the whole team the progress they have made. As this is a major factor in motivation, XP
-    teams very often use big, visible charts to show their progress. These charts are very often placed in the open
-    workspace and visible to anyone who enters the team area.
-&lt;/p>
-&lt;p>
-    A suitable chart would track the number of customer tests defined and running by iteration. The vertical axis is the
-    number of tests; the horizontal axis is the iteration number.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_report_customer_test_result__activity_definition&quot; name=&quot;XE_report_customer_test_result__activity_definition&quot;>&lt;/a>&#xD;
-&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Provide the team with a clear understanding of progress.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/report_project_status.xmi b/XP/xp/tasks/report_project_status.xmi
deleted file mode 100644
index 2e3649e..0000000
--- a/XP/xp/tasks/report_project_status.xmi
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-WOPGmKUuYbvVeVHp0sgEgw"
-    name="report_project_status,{ED94150E-EE14-47BF-97F5-F1EC7130EEEC}" guid="-WOPGmKUuYbvVeVHp0sgEgw"
-    version="1.0.0">
-  <sections xmi:id="_oOzvwGE-EdqnIZeW8YpHcA" name="Gather the Information " guid="_oOzvwGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    The most important information about the status of the project is the updated release plan. The release plan defines
-    the current view of the release content and availability. Metrics, such as the team's velocity, can also be provided.
-    Typically, metrics are tracked for the purpose of helping the team improve some aspects of development they are having
-    problems with. These metrics can be presented as part of project status.
-&lt;/p>
-&lt;p>
-    The velocity metric can be abused. Keep in mind that there is no valid comparison of velocities between teams. The most
-    important thing about a team's velocity is the stability of the velocity. This allows the team to predict what it can
-    accomplish.
-&lt;/p>
-&lt;p>
-    Other meaningful metrics:
-&lt;/p>
-&lt;ul>
-    &lt;li>
-        Defined stories over time, overlaid with completed stories
-    &lt;/li>
-    &lt;li>
-        Defined customer tests overlaid with running customer tests
-    &lt;/li>
-    &lt;li>
-        Number of unit tests tracked over time
-    &lt;/li>
-    &lt;li>
-        Unit test coverage
-    &lt;/li>
-&lt;/ul>
-&lt;p>
-    The team's significant metrics are recorded on flip chart paper and hung in the team's open workspace.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOzvwWE-EdqnIZeW8YpHcA" name=" Communicate the Status " guid="_oOzvwWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Since outside stakeholders do not participate in the daily activities of the team, it is important that the status of
-    the project should be communicated to them as often as possible. It lowers significantly the risk of disconnect between
-    the development team and the stakeholders. It also provides the team with data they can use to improve their
-    development process. Stakeholders should come to the open workspace and view the project status that is recorded on the
-    walls of the open workspace. They can experience the progress being made by the team first hand.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_report_project_status__activity_definition&quot; name=&quot;XE_report_project_status__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Communicate to stakeholders the status of the project.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/resolve_conflicts.xmi b/XP/xp/tasks/resolve_conflicts.xmi
deleted file mode 100644
index b6ebd90..0000000
--- a/XP/xp/tasks/resolve_conflicts.xmi
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-L85wOCiwe2O8D8CISEGGGg"
-    name="resolve_conflicts,{1B23700D-02B0-476F-A3DE-6F63A5407151}" guid="-L85wOCiwe2O8D8CISEGGGg"
-    changeDate="2006-11-09T17:20:06.801-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    Software projects require the coordinated efforts of many people. The &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/concepts/xp_practices.html&quot; guid=&quot;2.2937799026801584E-305&quot;>XP Practices&lt;/a> leverage the ability of teams to collaborate and communicate about decisions and activities on the&#xD;
-    project. Because team members are working together in an &lt;a class=&quot;elementLink&quot; href=&quot;./../../xp/guidances/guidelines/open_workspace.html&quot; guid=&quot;3.269440809144354E-305&quot;>Open Workspace&lt;/a>, interpersonal conflicts are visible, not hidden by the separation of the cubicles. One byproduct of&#xD;
-    increased collaboration, communication, and feedback will be increased conflict. Unmanaged, this conflict may increase&#xD;
-    the risk to the project. XP, as a process, does not try to solve all of the problems that occur on a software project,&#xD;
-    it just enables the people to solve them.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The XP Coach must make sure these conflicts are managed. The coach must help the team develop an environment of&#xD;
-    openness, where conflicts can be discussed and resolved. Conflicts left unresolved, like defects left undetected, are&#xD;
-    usually more disruptive and ultimately costly to fix. At times, the coach will take ownership to resolve a conflict on&#xD;
-    the team or across teams, but over time, the coach must ensure that the team is capable of resolving most conflicts on&#xD;
-    their own.&#xD;
-&lt;/p></mainDescription>
-  <purpose>&lt;a id=&quot;XE_resolve_conflicts__activity_definition&quot; name=&quot;XE_resolve_conflicts__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Prevent disagreements from reducing the team's productivity.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/run_acceptance_test.xmi b/XP/xp/tasks/run_acceptance_test.xmi
deleted file mode 100644
index e1fef49..0000000
--- a/XP/xp/tasks/run_acceptance_test.xmi
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-6RyabSc-ZUEtoEKb90BCbg"
-    name="run_acceptance_test,{D4E30732-30D3-4C75-8C69-D2F15313F1A9}" guid="-6RyabSc-ZUEtoEKb90BCbg"
-    version="1.0.0">
-  <sections xmi:id="_oNI70GE-EdqnIZeW8YpHcA" name=" General " guid="_oNI70GE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;p>
-    This task consists of running all the customer or acceptance tests to ensure that all previously completed user stories
-    are still working. A lot of XP teams run those tests on a daily basis as part of their automated daily build. Other
-    teams run those tests every time a new story is added to the pool of completed stories to ensure that a new story has
-    not caused previous ones to fail.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_run_customer_test__activity_definition&quot; name=&quot;XE_run_customer_test__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Execute the automated acceptance test and gather results.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/setup_programmer_environment.xmi b/XP/xp/tasks/setup_programmer_environment.xmi
deleted file mode 100644
index 7135623..0000000
--- a/XP/xp/tasks/setup_programmer_environment.xmi
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-1rVEQRCvrcicCdhpuuIZ8w"
-    name="setup_programmer_environment,{D3AA9FEE-AAD9-4884-BF71-425E122110A7}" guid="-1rVEQRCvrcicCdhpuuIZ8w"
-    version="1.0.0">
-  <sections xmi:id="_oPGqsGE-EdqnIZeW8YpHcA" name="Remove Cubicle Walls and Other Impediments "
-      guid="_oPGqsGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    In XP, we attempt to maximize communication within the team. Programmers should be able to ask quick questions&amp;nbsp;to
-    other developers and overhear conversations which raise their understanding of the system. When team members are
-    segregated into offices or cubicles, there is more of a chance that islands of knowledge will grow in isolation. This
-    leads to redundant work and often work that is less integrated than if it had been done in an open space subject to the
-    contributions of overhearing team members.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oPNYYGE-EdqnIZeW8YpHcA" name="Place Computers in Positions Comfortable for Pairing "
-      guid="_oPNYYGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Standard office furniture is not designed for pair programming. In particular, desks with leg wells seem to make
-    pairing impossible. Ideally, computers should be placed on tables which have enough room for two people to sit side by
-    side and trade turns working at the keyboard. Comfort should be your guide. If you are not comfortable, you will get
-    fatigued easily and you certainly won't be doing the work you are capable of.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oPNYYWE-EdqnIZeW8YpHcA" name="Standardize on Tools and Development Setup "
-      guid="_oPNYYWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    In XP, we find that work goes better when everyone is able to help everyone else. One simple thing that can get in the
-    way is computer setup. If you use an editor with one set of key bindings and another team member uses another, it will
-    be difficult for either of you to go to each other's computers and feel comfortable enough to drive. While this seems
-    like a minor point, it makes a sizable difference on how effectively a team can collaborate. In many XP teams, machines
-    are unassigned. You simply go to a free machine in the morning and check out the code that you need to start working
-    on.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oPNYYmE-EdqnIZeW8YpHcA" name="Establish Clear Line of Sight to Customer "
-      guid="_oPNYYmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step4&quot; name=&quot;Step4&quot;>&lt;/a> 
-&lt;p>
-    To work effectively with XP, you must be able to ask questions&amp;nbsp;to your customer. If you are not able to ask
-    questions and get timely answers, you are either bottlenecked on a task or tempted to guess and hope that you don't
-    have to roll back your work later. When setting up your environment, establish a clear line of sight to the customer.
-    The customer should be working in the same room as the team. If this is not possible, the customer should be no more
-    than a phone call away.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_setup_programmer_environment__activity_definition&quot; name=&quot;XE_setup_programmer_environment__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To make it easy to work collaboratively and raise the communication level of the team&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/setup_tester_environment.xmi b/XP/xp/tasks/setup_tester_environment.xmi
deleted file mode 100644
index bef10d2..0000000
--- a/XP/xp/tasks/setup_tester_environment.xmi
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-OPKuXnenD910fJyGKA99aw"
-    name="setup_tester_environment,{B4F9BDCC-629E-485B-9EFA-318F8D5A37BC}" guid="-OPKuXnenD910fJyGKA99aw"
-    version="1.0.0">
-  <sections xmi:id="_oNI70WE-EdqnIZeW8YpHcA" name=" General " guid="_oNI70WE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    Testers will need to setup some kind of hardware/software environment in order to run the customer acceptance tests.
-    The environment might require the installation of specific software test tools or the OS might require specific
-    environment settings. Try to replicate as much as possible a typical end-user environment when running the tests. Tests
-    may require setting up multiple environments (when different operating systems are used, for example).
-&lt;/p>
-&lt;p>
-    Test environments are not only for testers; it is critical that they are made available to the programmers. Running the
-    acceptance tests is their only way to know whether or not they are through with a story and whether they have broken
-    previous stories or not.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_setup_tester_environment__activity_definition&quot; name=&quot;XE_setup_tester_environment__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Create a stable environment for running the customer tests.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/track_story_completion.xmi b/XP/xp/tasks/track_story_completion.xmi
deleted file mode 100644
index 42c6cea..0000000
--- a/XP/xp/tasks/track_story_completion.xmi
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-FxF90KOknQ5km30pP0038w"
-    name="track_story_completion,{C333BA32-CF6B-4577-9212-302893043EFF}" guid="-FxF90KOknQ5km30pP0038w"
-    version="1.0.0">
-  <sections xmi:id="_oOHzQGE-EdqnIZeW8YpHcA" name=" General " guid="_oOHzQGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    Progress in XP is measured in user stories that are passing acceptance tests. A user story is deemed completed when and
-    only when it passes all its acceptance tests. Because customer tests are all automated, this task is actually very
-    simple since it only consists of running the automated acceptance test suite and comparing the results against the
-    plan. If 50% (weighted according to cost) of the stories pass acceptance tests, you are 50% done. Hopefully, less than
-    50% or less of the release has elapsed. If not, it is an indication that the release plan should be revisited.
-&lt;/p>
-&lt;p>
-    On a regular basis, the tracker presents the progress the team is making in the release. This information can be
-    presented in the form of a big, visible chart hanging in the team's open workspace. Progress is often presented as the
-    number of stories done vs. planned for the release.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_track_release_progress__activity_definition&quot; name=&quot;XE_track_release_progress__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Track the progress of the release.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/track_task_completion.xmi b/XP/xp/tasks/track_task_completion.xmi
deleted file mode 100644
index 0f86edc..0000000
--- a/XP/xp/tasks/track_task_completion.xmi
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-0iRnQW0M9QDTNqWNijBB5A"
-    name="track_task_completion,{3D22CC4B-ABC4-4CFE-9ACF-C9615E01382C}" guid="-0iRnQW0M9QDTNqWNijBB5A"
-    version="1.0.0">
-  <sections xmi:id="_oON54GE-EdqnIZeW8YpHcA" name=" General " guid="_oON54GE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Prep&quot; name=&quot;Prep&quot;>&lt;/a> 
-&lt;p>
-    Ideally tracking stories is much better than tracking tasks even at the iteration level since the stories can be proved
-    to work through the acceptance tests and tasks can't. However, when there are few stories in the iteration, some teams
-    also use tasks to help them gain a sense of progress.
-&lt;/p>
-&lt;p>
-    The tracker simply tracks how many tasks have been done during the iteration and how many are left. This information is
-    readily available during the stand-up meetings. Half way through the iteration, the team should have done about half
-    the tasks (in terms of the task cost estimates). If not, it is a sign that the iteration plan needs some tweaking. If
-    the team is not going as fast as planned, the tweaking may consist of removing one of the stories from the iteration.
-    If they are going faster than planned, then the team can ask the customer to bring a new story into the iteration. This
-    is how the team iteration velocity will fluctuate over time.
-&lt;/p>
-&lt;p>
-    On a regular basis, the tracker presents the progress the team is making in the iteration. This information can be
-    presented in the form of a big, visible chart hanging in the team's open workspace. Progress is often presented as the
-    number of tasks or stories done vs. planned for the iteration.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_track_iteration_progress__activity_definition&quot; name=&quot;XE_track_iteration_progress__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Track the progress during the iteration.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/update_iteration_plan.xmi b/XP/xp/tasks/update_iteration_plan.xmi
deleted file mode 100644
index 8f266a4..0000000
--- a/XP/xp/tasks/update_iteration_plan.xmi
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-cU3MzukpGPAtw0wSS23R-g"
-    name="update_iteration_plan,{653F1EF4-2BE5-4CCB-80E7-17CE02B081DC}" guid="-cU3MzukpGPAtw0wSS23R-g"
-    version="1.0.0">
-  <sections xmi:id="_oOzvwmE-EdqnIZeW8YpHcA" name="Gather the Information " guid="_oOzvwmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    The team is responsible for keeping track of its project. Tasks that are completed are marked on the iteration plan. If
-    anyone on the team realizes that the team is behind schedule, at any time, the customer is informed as soon as
-    possible. The customer can then decide how to change the plan. The tracker may be the first to notice that the
-    iteration is in jeopardy. An XP team is considered behind schedule if half the work is not finished halfway through the
-    iteration. Ideally, this could be measured by observing that half the customer tests pass halfway through the
-    iteration.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOzvw2E-EdqnIZeW8YpHcA" name="Update the Plan " guid="_oOzvw2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    When it is likely that not all the stories in the release will be finished, the customer must reduce scope. Extending
-    the iteration is not an option. The customer either removes whole stories or splits stories and removes scope.
-&lt;/p>
-&lt;p>
-    When the team has excess capacity in the iteration, the customer is informed. The customer adds additional stories to
-    fill the iteration . Customers like it when this happens.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oOzvxGE-EdqnIZeW8YpHcA" name="Communicate the Plan " guid="_oOzvxGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    The whole team should be made aware of any changes in the iteration plan so they can focus on the right tasks.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_adjust_iteration_scope__activity_definition&quot; name=&quot;XE_adjust_iteration_scope__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To allow the customer to react to the team underestimating or over estimating the amount of work that can be&#xD;
-        accomplished in the current iteration.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/update_release_plan.xmi b/XP/xp/tasks/update_release_plan.xmi
deleted file mode 100644
index 81a5e47..0000000
--- a/XP/xp/tasks/update_release_plan.xmi
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-YO16TebjP7U0gkcYg7OY_A"
-    name="update_release_plan,{18BF87E6-5849-4091-AFE2-FC4F0C3887B1}" guid="-YO16TebjP7U0gkcYg7OY_A"
-    version="1.0.0">
-  <sections xmi:id="_oO6dcGE-EdqnIZeW8YpHcA" name="Gather the Information " guid="_oO6dcGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    The most recent count of completed story points in an iteration is the team's velocity. The number of story points
-    completed in an iteration will change over time. Consequently, the team's velocity also changes. If the team's velocity
-    increases, more work can be done in each iteration. If the team's velocity decreases, less work can be done in each
-    iteration.
-&lt;/p>
-&lt;p>
-    As the team progresses through the project, the team's understanding of the problem is improved. Customers will add new
-    stories and remove others. Programmers may need to change story estimates. Consequently, the release plan should be
-    revisited periodically (every few iterations or as needed).
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oO6dcWE-EdqnIZeW8YpHcA" name="Update the Plan " guid="_oO6dcWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Using the most recent velocity, the latest story estimates, and the customer's most recent view of priority, a new
-    release plan is established.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oO6dcmE-EdqnIZeW8YpHcA" name="Communicate the Plan " guid="_oO6dcmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    Once the plan is updated, it is critical that the whole team be aware of it. This is usually really easy as the whole
-    team was involved in the revision of the release plan. The plan will show the team the progress they are making
-    (morale), and they will have a clear understanding of the new target they are shooting for (team cohesion).The plan
-    must be realistic and alive.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_revise_release_plan__activity_definition&quot; name=&quot;XE_revise_release_plan__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        Ensure the release plan reflects our improved understanding of the coming releases.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/write_code.xmi b/XP/xp/tasks/write_code.xmi
deleted file mode 100644
index 6e81f80..0000000
--- a/XP/xp/tasks/write_code.xmi
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-kNZQ2Mr_nyfmCboprjMNTg"
-    name="write_code,{8F6CB99A-D2EA-44BB-8CE5-F97220D44088}" guid="-kNZQ2Mr_nyfmCboprjMNTg"
-    version="1.0.0">
-  <sections xmi:id="_oUbPkGE-EdqnIZeW8YpHcA" name=" Get a Pair Programming Partner "
-      guid="_oUbPkGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    Pair Programming is an Extreme Programming best practice. The basic rule regarding pair programming in XP is that all
-    production code is developed in pairs. One programmer has the responsibility to complete a task. That programmer asks
-    other programmers to pair with him to complete the task. The pairings are short term, usually less than half a day.
-    Find a partner who has experience or skill you need to complete your task. Your task may include modifying a database
-    table. Ask the person on the team most knowledgeable to help you effectively use the database API. Later, you might
-    need to display the data in a GUI window, but you have not seen that part of the GUI. Get someone who knows about it to
-    help.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oUbPkWE-EdqnIZeW8YpHcA" name=" Write Failing Test Case " guid="_oUbPkWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    When looking at an Engineering Task, you should consider how to add the capability to the system. Does the system
-    require new classes? Are there classes that would be useful? Regardless of how these decisions come out, the addition
-    of functionality requires the creation of a test case. You write the test case to demonstrate that a portion of the
-    functionality you need isn't in the system. This test case should fail.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oUbPkmE-EdqnIZeW8YpHcA" name=" Write Code to Make Tests Pass "
-      guid="_oUbPkmE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step3&quot; name=&quot;Step3&quot;>&lt;/a> 
-&lt;p>
-    When you have a failing test case, you then write only the code that is necessary to satisfy the test case. Test cases
-    should have a very narrow focus. A failing test case may trigger the creation of a new class or method named in the
-    test case, or it may simply require you to add more code to existing classes and methods.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oUbPk2E-EdqnIZeW8YpHcA" name=" Refactor Immediately " guid="_oUbPk2E-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step4&quot; name=&quot;Step4&quot;>&lt;/a> 
-&lt;p>
-    After the test case passes, go back and make the code as clean as possible. Have you added code to a method and caused
-    the method to have more than one primary job? If so, extract a method. Has a class grown too large? Consider extracting
-    a class. Have you noticed duplication? Refactor to remove it.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oUbPlGE-EdqnIZeW8YpHcA" name=" Repeat Until Engineering Task is Done "
-      guid="_oUbPlGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step5&quot; name=&quot;Step5&quot;>&lt;/a> 
-&lt;p>
-    The preceding three steps should be done in sequence over and over until you and your pair partner are done with the
-    engineering task. It is important to refactor as you go because refactoring, even on a micro-scale, makes additional
-    work easier.
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_write_code__activity_definition&quot; name=&quot;XE_write_code__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To specify the design of the system in a way which is precise enough to allow computers to generate efficient&#xD;
-        processes automatically and clear enough for people to understand during ongoing work and maintenance.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/tasks/write_user_story.xmi b/XP/xp/tasks/write_user_story.xmi
deleted file mode 100644
index 7ed8224..0000000
--- a/XP/xp/tasks/write_user_story.xmi
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-cqTu_uwmZrF3sFspx465XQ"
-    name="write_user_story,{62CFC55C-3151-46CB-8886-F3DBD552ABC4}" guid="-cqTu_uwmZrF3sFspx465XQ"
-    version="1.0.0">
-  <sections xmi:id="_oQZEIGE-EdqnIZeW8YpHcA" name=" Define System Behavior " guid="_oQZEIGE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step1&quot; name=&quot;Step1&quot;>&lt;/a> 
-&lt;p>
-    A user story is a brief description of a feature of the system. Stories are small, taking only a week or two to
-    develop. The best stories provide direct business value. When stories are too big, they must be split. Consequently, it
-    may take multiple stories to provide business value. In this case, the individual stories need to demonstrate to the
-    customer that the team is making progress toward the desired business value.
-&lt;/p>
-&lt;p>
-    There is no need for a lot of detail in the description. The details will be flushed out when the acceptance tests for
-    this story are defined. Typically, XP user stories are written on small index cards, one story per card.
-&lt;/p></sectionDescription>
-  </sections>
-  <sections xmi:id="_oQZEIWE-EdqnIZeW8YpHcA" name=" Define Customer Test " guid="_oQZEIWE-EdqnIZeW8YpHcA">
-    <sectionDescription>&lt;a id=&quot;Step2&quot; name=&quot;Step2&quot;>&lt;/a> 
-&lt;p>
-    Each user story will have a set of conditions or acceptance criteria to fulfill before it is considered done.
-    Basically, an acceptance criterion defines an interaction scenario between the user and the system. There is usually
-    more than one possible scenario or acceptance test criterion for a typical story. The acceptance test criteria are
-    converted into &lt;a class=&quot;elementLinkWithUserText&quot;
-    href=&quot;./../../xp/tasks/automate_acceptance_test,{E614ED93-AE72-4FD1-B459-C508CE1C536F}.html&quot;
-    guid=&quot;{E614ED93-AE72-4FD1-B459-C508CE1C536F}&quot;>automated customer tests&lt;/a> when the story is being implemented.
-&lt;/p>
-&lt;p>
-    For simplicity, the test criteria are often written natural language. However, this makes them prone to
-    misinterpretation. To address this issue, some teams provide simple tools that allow the customer to write the
-    acceptance tests criteria in a form that can be executed directly by application-specific acceptance test framework.
-    Ultimately, it is the responsibility of the customer to provide the customer tests
-&lt;/p></sectionDescription>
-  </sections>
-  <purpose>&lt;a id=&quot;XE_write_user_story__activity_definition&quot; name=&quot;XE_write_user_story__activity_definition&quot;>&lt;/a> &#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        To specify a specific behavior of the system from a user perspective.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></purpose>
-</org.eclipse.epf.uma:TaskDescription>
diff --git a/XP/xp/workproducts/xp_build.xmi b/XP/xp/workproducts/xp_build.xmi
deleted file mode 100644
index 6168cb3..0000000
--- a/XP/xp/workproducts/xp_build.xmi
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-rphHqeONv59sqZq_6FzE6Q"
-    name="xp_build,{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}" guid="-rphHqeONv59sqZq_6FzE6Q"
-    changeDate="2006-11-08T19:52:31.958-0500" version="1.0.0">
-  <purpose>&lt;a id=&quot;XE_xp_build__artifact_definition&quot; name=&quot;XE_xp_build__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_build__purpose_of&quot; name=&quot;XE_xp_build__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The purpose of the &lt;a class=&quot;PresentationName&quot; href=&quot;./../../xp/workproducts/xp_build.html&quot; guid=&quot;{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}&quot;>XP Build&lt;/a> is to show demonstrable progress in a running system. Each&#xD;
-    &lt;a class=&quot;PresentationName&quot; href=&quot;./../../xp/workproducts/xp_build.html&quot; guid=&quot;{FE89AB1C-E0FE-4E7F-92B4-3FA2A0ED6222}&quot;>XP Build&lt;/a> incrementally shows new functionality while insuring that&#xD;
-    previous functionality has not been broken.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_coding_standard.xmi b/XP/xp/workproducts/xp_coding_standard.xmi
deleted file mode 100644
index e353614..0000000
--- a/XP/xp/workproducts/xp_coding_standard.xmi
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-NznKylxa2Y_MG8lACUV9Bw"
-    name="xp_coding_standard,{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}" guid="-NznKylxa2Y_MG8lACUV9Bw"
-    changeDate="2006-11-09T19:10:06.935-0500" version="1.0.0">
-  <purpose>&lt;a id=&quot;XE_coding_standard__artifact_definition&quot; name=&quot;XE_coding_standard__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_coding_standard__purpose_of&quot; name=&quot;XE_coding_standard__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The purpose of the &lt;a class=&quot;PresentationName&quot; guid=&quot;{1D7E042C-B29E-4169-8DF3-37DE0A5F64ED}&quot;>Coding Standard&lt;/a> is to&#xD;
-    facilitate communication among programmers working on the same code base. The coding standard takes on added importance&#xD;
-    in XP because of the pair programming and collective code ownership practices. The objective is to have all parts of&#xD;
-    the code appear to have been written by the same programmer.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_customer_test.xmi b/XP/xp/workproducts/xp_customer_test.xmi
deleted file mode 100644
index ae6913a..0000000
--- a/XP/xp/workproducts/xp_customer_test.xmi
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-YYMUwBepQ28JU78LtraO3w"
-    name="xp_customer_test,{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}" guid="-YYMUwBepQ28JU78LtraO3w"
-    changeDate="2006-11-10T12:27:13.845-0500" version="1.0.0">
-  <keyConsiderations>As more and more customer tests are added to the system, there will be a need to organize them in some way. Typically, the&#xD;
-testers and programmers will build and maintain some kind of customer test framework. As is the case for the production&#xD;
-code, it is important to let the framework evolve with the needs of the application. It is very easy to go overboard when&#xD;
-building a test framework.</keyConsiderations>
-  <purpose>&lt;a id=&quot;XE_xp_customer_test__artifact_definition&quot; name=&quot;XE_xp_customer_test__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_customer_test__purpose_of&quot; name=&quot;XE_xp_customer_test__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{DF0EDBC7-4AAD-438D-89AA-64ECFE2416F5}&quot;>XP Customer Test&lt;/a> demonstrates the&#xD;
-    presence of the system features as defined by the customer. They are the unambiguous and detailed requirements of the&#xD;
-    system.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_iteration_plan.xmi b/XP/xp/workproducts/xp_iteration_plan.xmi
deleted file mode 100644
index fd91b7e..0000000
--- a/XP/xp/workproducts/xp_iteration_plan.xmi
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-45BLJONIjGn7h4z87VXqHQ"
-    name="xp_iteration_plan,{DC18E34B-70C1-403D-84CC-1BF117A7473D}" guid="-45BLJONIjGn7h4z87VXqHQ"
-    changeDate="2006-11-13T16:17:43.002-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{DC18E34B-70C1-403D-84CC-1BF117A7473D}&quot;>XP Iteration Plan&lt;/a> contains a list of&#xD;
-    stories selected to be implemented in the iteration. Each story is broken down into one or more engineering tasks.&#xD;
-    These tasks are sufficiently small that an individual can grasp its scope and provide a reasonable estimate. Tasks&#xD;
-    usually range from less than a day to one or two days for a single individual.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{DC18E34B-70C1-403D-84CC-1BF117A7473D}&quot;>XP Iteration Plan&lt;/a> is recorded on flip&#xD;
-    chart paper and hung on the walls of the team's open workspace. Each story for the iteration is written on a piece of&#xD;
-    flip chart paper and hung on the open workspace wall. The team brainstorms the tasks needed to complete a story. They&#xD;
-    discuss the story with the customer as needed. The team will sometimes do a quick design session to help them figure&#xD;
-    out the tasks for a given story. This is repeated for each story in the iteration. Once all stories have been broken&#xD;
-    down, individuals sign up for tasks, recording their initials and estimate next to the task.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    What makes a good &lt;a class=&quot;PresentationName&quot; guid=&quot;{DC18E34B-70C1-403D-84CC-1BF117A7473D}&quot;>XP Iteration Plan&lt;/a>:&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The stories have been broken down into tasks.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        The tasks have been signed up for and given estimates.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Stories are removed from the plan if there is too much to do.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Stories are added to the plan if there is not enough to do.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-  <purpose>&lt;a id=&quot;XE_xp_iteration_plan__artifact_definition&quot; name=&quot;XE_xp_iteration_plan__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_iteration_plan__purpose_of&quot; name=&quot;XE_xp_iteration_plan__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{DC18E34B-70C1-403D-84CC-1BF117A7473D}&quot;>XP Iteration Plan&lt;/a> steers the efforts&#xD;
-    of the team during the iteration.&lt;br />&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_metaphor.xmi b/XP/xp/workproducts/xp_metaphor.xmi
deleted file mode 100644
index ace5607..0000000
--- a/XP/xp/workproducts/xp_metaphor.xmi
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-sQUFozEqR3Gpa5PnCjFh9Q"
-    name="xp_metaphor,{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}" guid="-sQUFozEqR3Gpa5PnCjFh9Q"
-    changeDate="2006-11-08T19:23:13.847-0500" version="1.0.0">
-  <purpose>&lt;a id=&quot;XE_metaphor_(system_of_names)__artifact_definition&quot; name=&quot;XE_metaphor_(system_of_names)__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_metaphor_(system_of_names)__purpose_of&quot; name=&quot;XE_metaphor_(system_of_names)__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{7C34EE96-C3EA-49FD-A53C-7C113B86AE01}&quot;>Metaphor (System of Names)&lt;/a> or System&#xD;
-    of Names allows the team to talk about the structure of the software in a convenient and memorable way.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_production_code.xmi b/XP/xp/workproducts/xp_production_code.xmi
deleted file mode 100644
index 149b327..0000000
--- a/XP/xp/workproducts/xp_production_code.xmi
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-f1cDEBpC5wbDTQ9ru9UbLw"
-    name="xp_production_code,{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}" guid="-f1cDEBpC5wbDTQ9ru9UbLw"
-    changeDate="2006-11-13T16:21:51.018-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    This definition of &lt;a class=&quot;PresentationName&quot; guid=&quot;{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}&quot;>Production Code&lt;/a>&#xD;
-    encompasses hand-coded software as well as executable models. The &lt;a class=&quot;PresentationName&quot; guid=&quot;{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}&quot;>Production Code&lt;/a> must be kept clean and simple, as it is the main&#xD;
-    vehicle for communicating design intent to the programming team. The code has comprehensive customer and unit tests.&#xD;
-    The XP practices of simple design, pair programming, refactoring, collective code ownership, test driven development,&#xD;
-    and coding standard support the creation of the code.&#xD;
-&lt;/p></mainDescription>
-  <purpose>&lt;a id=&quot;XE_production_code__artifact_definition&quot; name=&quot;XE_production_code__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_production_code__purpose_of&quot; name=&quot;XE_production_code__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    In XP, we consider &lt;a class=&quot;PresentationName&quot; guid=&quot;{3EDA30A8-932C-4EC2-B9AB-A840304C5BC1}&quot;>Production Code&lt;/a> to be&#xD;
-    the most important artifact. It is the one design artifact that cannot be replaced because it is the only complete and&#xD;
-    unambiguous expression of design intent. Source code is a specification. It, along with a compiler or interpreter,&#xD;
-    encompasses all of the semantics necessary to produce a running process on a computer.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_release_plan.xmi b/XP/xp/workproducts/xp_release_plan.xmi
deleted file mode 100644
index 94488ab..0000000
--- a/XP/xp/workproducts/xp_release_plan.xmi
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-mMZ9KUhiFwBbzSFjq_tO4A"
-    name="xp_release_plan,{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}" guid="-mMZ9KUhiFwBbzSFjq_tO4A"
-    changeDate="2005-12-02T10:44:11.027-0500" version="1.0.0">
-  <purpose>&lt;a id=&quot;XE_xp_release_plan__artifact_definition&quot; name=&quot;XE_xp_release_plan__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_release_plan__purpose_of&quot; name=&quot;XE_xp_release_plan__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{CA77FBD2-04DD-4010-B2AA-03E1E7C66B0B}&quot;>XP Release Plan&lt;/a> is the longer term&#xD;
-    project view. It organizes estimated stories into iterations and groups iterations into releases. The releases defined&#xD;
-    by the customer contain enough value to deliver the software to the end users of the product. The bias in ordering&#xD;
-    stories and defining releases is to deliver the most business value possible by the release date.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_unit_test.xmi b/XP/xp/workproducts/xp_unit_test.xmi
deleted file mode 100644
index 0eaaf9c..0000000
--- a/XP/xp/workproducts/xp_unit_test.xmi
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-dwfXb2dWJOQkTuLo-BTFeQ"
-    name="xp_unit_test,{D156652E-7C52-4EBD-8F23-F38169877A57}" guid="-dwfXb2dWJOQkTuLo-BTFeQ"
-    changeDate="2006-11-13T16:57:02.728-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    &lt;a class=&quot;PresentationName&quot; guid=&quot;{D156652E-7C52-4EBD-8F23-F38169877A57}&quot;>XP Unit Test&lt;/a>s are usually implemented at&#xD;
-    the class level (in OO languages) and test the public interface. For every class in the system, a test class exists.&#xD;
-    Popular test frameworks are available usually for free (such as JUnit, CppUnit, CppUnitLite, NUnit). These are simple&#xD;
-    tools that help the developer to organize and run unit tests. These tests drive the programmer development and tell the&#xD;
-    programmer that the code works as the programmer expects.&#xD;
-&lt;/p></mainDescription>
-  <purpose>&lt;a id=&quot;XE_xp_unit_test__artifact_definition&quot; name=&quot;XE_xp_unit_test__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_unit_test__purpose_of&quot; name=&quot;XE_xp_unit_test__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    An &lt;a class=&quot;PresentationName&quot; guid=&quot;{D156652E-7C52-4EBD-8F23-F38169877A57}&quot;>XP Unit Test&lt;/a> is written by developers&#xD;
-    to ensure that all system components work as expected. &lt;a class=&quot;PresentationName&quot; guid=&quot;{D156652E-7C52-4EBD-8F23-F38169877A57}&quot;>XP Unit Test&lt;/a> give the developers the confidence to modify the system&#xD;
-    and feel confident that everything still works.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_user_story.xmi b/XP/xp/workproducts/xp_user_story.xmi
deleted file mode 100644
index 6fd5859..0000000
--- a/XP/xp/workproducts/xp_user_story.xmi
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-rtY57MTVQrEcfTKwD3-Wvw"
-    name="xp_user_story,{21946731-4F5C-4862-8B4D-868629952B92}" guid="-rtY57MTVQrEcfTKwD3-Wvw"
-    changeDate="2006-11-13T17:28:55.298-0500" version="1.0.0">
-  <mainDescription>&lt;p>&#xD;
-    A &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;>User Story&lt;/a> is only a token of past and&#xD;
-    future conversation between the customer and the programmers. XP's on-site customer practice minimizes the need to&#xD;
-    document extensively each story as the programmers can simply walk over and ask their questions to the customer as&#xD;
-    needed. &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;>User Story&lt;/a> details are captured&#xD;
-    in automated acceptance tests that are then used to validate the implementation of the story.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    It may not be necessary to write a description for all stories as the name of some of the stories might already offer&#xD;
-    enough information.&#xD;
-&lt;/p>&#xD;
-&lt;p>&#xD;
-    What makes a good &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;>User Story&lt;/a>?&#xD;
-&lt;/p>&#xD;
-&lt;ul>&#xD;
-    &lt;li>&#xD;
-        The customer should care about it. The story should have business value in the customer's eyes so it can be&#xD;
-        prioritized. Sometimes a story needs to be broken down into smaller pieces to fit into an iteration. If by itself&#xD;
-        the story does not provide business value, it should at least provide demonstrable progress toward a feature with&#xD;
-        business value.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Stories vertically slice through the product's architecture. They are not usually focused on a specific subsystem.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        Test cases can be written to verify that the programmers have implemented it correctly.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It can be reasonably estimated by the developers. Stories that can't be estimated are rewritten.&#xD;
-    &lt;/li>&#xD;
-    &lt;li>&#xD;
-        It can be completed within one iteration. A story that does not fit in an iteration is broken down into two or more&#xD;
-        smaller stories.&#xD;
-    &lt;/li>&#xD;
-&lt;/ul></mainDescription>
-  <purpose>&lt;a id=&quot;XE_user_story__artifact_definition&quot; name=&quot;XE_user_story__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_user_story__purpose_of&quot; name=&quot;XE_user_story__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    A &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;>User Story&lt;/a> represents a small piece of&#xD;
-    functionality of the system being built. It is not a complete specification of a feature. It is a promise to discuss a&#xD;
-    feature or a reminder of the discussion that has already taken place.&#xD;
-&lt;/p></purpose>
-  <representationOptions>&lt;p>
-    Here are some sample stories for a typical on-line store application:
-&lt;/p>
-&lt;p>
-    --------------------------------------------------------------------------------&lt;br />
-     If the customer has entered a valid Tax Exemption ID, do not charge sales tax.
-&lt;/p>
-&lt;p>
-    --------------------------------------------------------------------------------&lt;br />
-     If the Customer ID is on the Preferred Customer list, do not charge for shipping, except for Next Day service.
-&lt;/p>
-&lt;p>
-    --------------------------------------------------------------------------------&lt;br />
-     On the System Status Page, show the number of orders in the past 24 hours, the total revenue, and list the top ten
-    items in order of quantity ordered.
-&lt;/p>
-&lt;p>
-    --------------------------------------------------------------------------------&lt;br />
-     If the delivery address of a purchase is in any of the states in the attached table, calculate, display, and charge
-    sales tax using the corresponding percentage.
-&lt;/p></representationOptions>
-</org.eclipse.epf.uma:ArtifactDescription>
diff --git a/XP/xp/workproducts/xp_vision.xmi b/XP/xp/workproducts/xp_vision.xmi
deleted file mode 100644
index 1786ba5..0000000
--- a/XP/xp/workproducts/xp_vision.xmi
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.epf.uma:ArtifactDescription xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.4/uma.ecore"
-    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.2.0" xmi:id="-ZUxMgSWqLlaO5p1r1-ug6Q"
-    name="xp_vision,{2300FB25-7249-4481-A1BD-978240906832}" guid="-ZUxMgSWqLlaO5p1r1-ug6Q"
-    changeDate="2006-11-10T11:46:22.508-0500" version="1.0.0">
-  <purpose>&lt;a id=&quot;XE_xp_vision__artifact_definition&quot; name=&quot;XE_xp_vision__artifact_definition&quot;>&lt;/a>&lt;a id=&quot;Purpose&quot; name=&quot;Purpose&quot;>&lt;/a>&lt;a id=&quot;XE_xp_vision__purpose_of&quot; name=&quot;XE_xp_vision__purpose_of&quot;>&lt;/a> &#xD;
-&lt;p>&#xD;
-    The &lt;a class=&quot;PresentationName&quot; guid=&quot;{2300FB25-7249-4481-A1BD-978240906832}&quot;>XP Vision&lt;/a> consists of very high-level&#xD;
-    requirements. It communicates to the team a common understanding of the project and is a gauge against which all future&#xD;
-    decisions should be validated. It will guide the team during the development cycle.&#xD;
-&lt;/p></purpose>
-</org.eclipse.epf.uma:ArtifactDescription>
