blob: 6e210bb0b6659462e443f974862ff78ca514e425 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.3/uma.ecore" epf:version="1.0.0" xmi:id="-27sE-swoOUGtar9a0f3RPw" name="extreme_programming,5.2637267673584526E-306" guid="-27sE-swoOUGtar9a0f3RPw" changeDate="2006-12-01T15:11:05.063-0800" version="1.0.0">
<mainDescription>&lt;a id=&quot;XE_xp__conceptual_process_roadmap&quot; name=&quot;XE_xp__conceptual_process_roadmap&quot;&gt;&lt;/a&gt;&lt;a id=&quot;XE_roadmap__for_xp_practices&quot;
name=&quot;XE_roadmap__for_xp_practices&quot;&gt;&lt;/a&gt;
&lt;h3&gt;
Topics
&lt;/h3&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;table width=&quot;70%&quot; border=&quot;1&quot;&gt;
&lt;tbody valign=&quot;top&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;315&quot; height=&quot;178&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&quot;#Introduction&quot;&gt;Introduction&lt;/a&gt;
&lt;/li&gt;
&lt;li style=&quot;LIST-STYLE-TYPE: none&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&quot;#About&quot;&gt;About XP&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;#Characteristics&quot;&gt;Characteristics of an XP Project&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;#Phases&quot;&gt;Phases and Iterations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;#GettingStarted&quot;&gt;How to Get Started&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td width=&quot;315&quot; height=&quot;178&quot;&gt;
&lt;b&gt;Additional Guidance:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;
Guidelines
&lt;/li&gt;
&lt;li style=&quot;LIST-STYLE-TYPE: none&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/guidelines/refactoring,8.137126904637637E-306.html&quot;
guid=&quot;8.137126904637637E-306&quot;&gt;Refactoring&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/guidelines/test_driven_development_tdd,3.9254165491375454E-306.html&quot;
guid=&quot;3.9254165491375454E-306&quot;&gt;Test First Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/guidelines/pair_programming,3.85153041801319E-307.html&quot;
guid=&quot;3.85153041801319E-307&quot;&gt;Pair Programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/guidelines/planning_game,6.7335956461328426E-307.html&quot;
guid=&quot;6.7335956461328426E-307&quot;&gt;Planning Game&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Additional Concepts:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html&quot;
guid=&quot;1.041091673844025E-305&quot;&gt;Agile Software Development&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
&lt;a id=&quot;Introduction&quot; name=&quot;Introduction&quot;&gt;Introduction&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;
This roadmap provides information for getting started and applying the practices of eXtreme Programming (XP) to a
software development project.
&lt;/p&gt;
&lt;h3&gt;
&lt;a id=&quot;About&quot; name=&quot;About&quot;&gt;About XP&lt;/a&gt;&amp;nbsp;
&lt;/h3&gt;
&lt;p&gt;
Extreme Programming is an instance of an &lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html&quot;
guid=&quot;1.041091673844025E-305&quot;&gt;Agile Software Development&lt;/a&gt; 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 &lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/concepts/xp_values,1.076140803519123E-306.html&quot; guid=&quot;1.076140803519123E-306&quot;&gt;values&lt;/a&gt;
of simplicity, communication, feedback, and courage and is consistent with the values of agile software development.
&lt;/p&gt;
&lt;p&gt;
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 &lt;a
class=&quot;elementLink&quot; href=&quot;./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html&quot;
guid=&quot;1.041091673844025E-305&quot;&gt;Agile Software Development&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;
&lt;a id=&quot;Characteristics&quot; name=&quot;Characteristics&quot;&gt;Characteristics of an XP Project&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
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:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A small to medium-sized team (fewer than 20 people on the complete team)
&lt;/li&gt;
&lt;li&gt;
Co-located, preferably in a single area with a large common space
&lt;/li&gt;
&lt;li&gt;
A committed, full-time, on-site customer or customer representative
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;a id=&quot;Phases&quot; name=&quot;Phases&quot;&gt;Phases and Iterations&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
An XP project is one that is based on rapid feedback through short iterations and frequent releases.&amp;nbsp;Unified
Process&amp;nbsp;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 the Unified Process, is somewhat different. Decisions
described in the Unified Process phases that define milestones occur, but they are not called specifically as defining
phases.
&lt;/p&gt;
&lt;h3&gt;
&lt;a id=&quot;GettingStarted&quot; name=&quot;GettingStarted&quot;&gt;How to Get Started&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;table cellspacing=&quot;2&quot; cellpadding=&quot;1&quot; width=&quot;91%&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th width=&quot;10%&quot;&gt;
Step
&lt;/th&gt;
&lt;th align=&quot;left&quot; width=&quot;47%&quot;&gt;
Do this ...
&lt;/th&gt;
&lt;th align=&quot;left&quot; width=&quot;43%&quot;&gt;
in order to...
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;middle&quot; width=&quot;10%&quot;&gt;
1
&lt;/td&gt;
&lt;td width=&quot;47%&quot;&gt;
Familiarize yourself with the&amp;nbsp;&lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/concepts/motivation,1.6390805262958034E-306.html&quot;
guid=&quot;1.6390805262958034E-306&quot;&gt;motivation&lt;/a&gt; for using XP, the &lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/concepts/what_is_xp,9.251272550276345E-306.html&quot;
guid=&quot;9.251272550276345E-306&quot;&gt;short description&lt;/a&gt; of XP, and 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;&gt;XP Practices&lt;/a&gt;
&lt;/td&gt;
&lt;td width=&quot;43%&quot;&gt;
understand the fundamental principles of XP and how the practices support each other.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;middle&quot; width=&quot;10%&quot;&gt;
2
&lt;/td&gt;
&lt;td width=&quot;47%&quot;&gt;
Read the key concepts of &lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/concepts/agile_software_development,1.041091673844025E-305.html&quot;
guid=&quot;1.041091673844025E-305&quot;&gt;Agile Software Development&lt;/a&gt;
&lt;/td&gt;
&lt;td width=&quot;43%&quot;&gt;
understand the collaborative and social aspects of XP.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;middle&quot; width=&quot;10%&quot;&gt;
3
&lt;/td&gt;
&lt;td width=&quot;47%&quot;&gt;
Determine if XP is appropriate for your project by reviewing &lt;a href=&quot;#Characteristics&quot;&gt;The Characteristics
of an XP Project&lt;/a&gt;
&lt;/td&gt;
&lt;td width=&quot;43%&quot;&gt;
decide if XP may be appropriate for your project.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;middle&quot; width=&quot;10%&quot;&gt;
4
&lt;/td&gt;
&lt;td width=&quot;47%&quot;&gt;
Read about the &lt;a class=&quot;elementLinkWithUserText&quot;
href=&quot;./../../../xp/guidances/guidelines/xp_environment,3.754748120034442E-307.html&quot;
guid=&quot;3.754748120034442E-307&quot;&gt;XP Environment&lt;/a&gt;.
&lt;/td&gt;
&lt;td width=&quot;43%&quot;&gt;
prepare the physical and tool environment for your team.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;middle&quot; width=&quot;10%&quot;&gt;
5
&lt;/td&gt;
&lt;td width=&quot;47%&quot;&gt;
Read the &lt;a class=&quot;elementLink&quot;
href=&quot;./../../../xp/guidances/supportingmaterials/getting_started_with_xp,1.2284921351651456E-304.html&quot;
guid=&quot;1.2284921351651456E-304&quot;&gt;Getting Started with XP&lt;/a&gt; guidelines.
&lt;/td&gt;
&lt;td width=&quot;43%&quot;&gt;
get suggestions on how to start an XP project.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>