<?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="-pA6XLJKgRiwDTEp_qMlQ9g" name="xp_values,1.076140803519123E-306" guid="-pA6XLJKgRiwDTEp_qMlQ9g" changeDate="2005-12-06T02:48:47.737-0800">
  <mainDescription>&lt;a id=&quot;XE_xp__core_values&quot; name=&quot;XE_xp__core_values&quot;&gt;&lt;/a&gt; 
&lt;h2&gt;
    &lt;a id=&quot;Communication&quot; name=&quot;Communication&quot;&gt;Communication&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
    XP emphasizes face-to-face communication over other types of communication, such as documents. XP values documents but
    values personal communication even more. In order to facilitate communication, XP teams:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        Use a common system metaphor or vocabulary.
    &lt;/li&gt;
    &lt;li&gt;
        Work closely with one another in an open workspace.
    &lt;/li&gt;
    &lt;li&gt;
        Continuously integrate the code.
    &lt;/li&gt;
    &lt;li&gt;
        Work closely with the business people, preferably having them in the same room.
    &lt;/li&gt;
    &lt;li&gt;
        Program in pairs.
    &lt;/li&gt;
    &lt;li&gt;
        Collectively own the code.
    &lt;/li&gt;
    &lt;li&gt;
        Frequently plan and report status to the customer.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
    &lt;a id=&quot;Simplicity&quot; name=&quot;Simplicity&quot;&gt;Simplicity&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
    XP presumes that it is better to do the simple thing today and pay a little more tomorrow if more is really needed than
    to do a more complicated thing today that may never be used. This is a fundamental philosophy that permeates everything
    in an XP project. If something isn't needed today, we don't do it today.
&lt;/p&gt;
&lt;p&gt;
    For example:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        We will write no document unless there is an immediate and significant need.
    &lt;/li&gt;
    &lt;li&gt;
        We will adopt no tool unless there is a tangible and verifiable benefit.
    &lt;/li&gt;
    &lt;li&gt;
        We will avoid writing infrastructure until it is needed by existing code.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    In order to maintain the simplicity of their software and their team structure, XP teams:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        Ask themselves: What is the simplest thing that can possibly work?
    &lt;/li&gt;
    &lt;li&gt;
        Continuously simplify and improve the design through refactoring.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    Some time ago, Kent Beck offered the following rules for simple design. In priority order, the code must:
&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
        Run all the tests.
    &lt;/li&gt;
    &lt;li&gt;
        Contain no duplicate code.
    &lt;/li&gt;
    &lt;li&gt;
        Express all the ideas the author wants to express.
    &lt;/li&gt;
    &lt;li&gt;
        Minimize classes and methods.
    &lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
    &lt;a id=&quot;Feedback&quot; name=&quot;Feedback&quot;&gt;Feedback&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
    Feedback works at different scales in XP.
&lt;/p&gt;
&lt;p&gt;
    At the highest level, the customer can see the progress of the team through the working software delivered every two
    weeks. This continuous feedback allows the customer to steer the project to success. We get concrete feedback on the
    state of the system in the form of executable pieces of functionality that pass repeatable, automated acceptance tests.
    These tests prevent the system from backsliding. No new release of the system can fail acceptance tests that used to
    work.
&lt;/p&gt;
&lt;p&gt;
    At the programming level, programmers write unit tests for all the logic in the system to get immediate and concrete
    feedback telling them if the code they just wrote is doing what they expected.
&lt;/p&gt;
&lt;p&gt;
    XP teams:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        Develop in small releases.
    &lt;/li&gt;
    &lt;li&gt;
        Develop in smaller iterations.
    &lt;/li&gt;
    &lt;li&gt;
        Break features and requirements into stories that fit in an iteration.
    &lt;/li&gt;
    &lt;li&gt;
        Break stories into even smaller tasks.
    &lt;/li&gt;
    &lt;li&gt;
        Write small unit tests to ensure that tasks work properly.
    &lt;/li&gt;
    &lt;li&gt;
        Write acceptance tests to ensure that stories work properly.
    &lt;/li&gt;
    &lt;li&gt;
        Track progress and communicate it to the customer frequently.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
    &lt;a id=&quot;Courage&quot; name=&quot;Courage&quot;&gt;Courage&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
    Perhaps a better name for this value is trust. In order to function, the members of an XP team have to have the courage
    to trust each other, trust their customer, trust their practices, and trust themselves.
&lt;/p&gt;
&lt;p&gt;
    XP team members trust that they can:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        Stop when they are tired.
    &lt;/li&gt;
    &lt;li&gt;
        Let every business decision be made by the customer.
    &lt;/li&gt;
    &lt;li&gt;
        Ask customers to reduce the scope of a release.
    &lt;/li&gt;
    &lt;li&gt;
        Ask their peers or customers for help.
    &lt;/li&gt;
    &lt;li&gt;
        Design and implement only what is needed for today and add tomorrow what will be needed tomorrow.
    &lt;/li&gt;
    &lt;li&gt;
        Make changes that improve the functions or structure of the code.
    &lt;/li&gt;
    &lt;li&gt;
        Fix the design and retrofit existing code when the design is shown to be inadequate.
    &lt;/li&gt;
    &lt;li&gt;
        Throw away code.
    &lt;/li&gt;
    &lt;li&gt;
        Change code they did not write.
    &lt;/li&gt;
    &lt;li&gt;
        Change the process when it is not working.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&lt;/p&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>
