<?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>
