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