blob: 7d8a2b9338ecfeb34776a73e3330678f9d27eb33 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.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>