<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\xp\workproducts\xp_user_story.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line.  They are used as markers for the import process. -->
<body>
Element Name: xp_user_story.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,{21946731-4F5C-4862-8B4D-868629952B92} CRC: 2105306272 -->User Story<!-- END:presentationName,{21946731-4F5C-4862-8B4D-868629952B92} -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: briefDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:briefDescription,{21946731-4F5C-4862-8B4D-868629952B92} CRC: 3184384656 -->A brief description of some functionality provided by the system from the point of view of a user of that system.<!-- END:briefDescription,{21946731-4F5C-4862-8B4D-868629952B92} -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: mainDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:mainDescription,-rtY57MTVQrEcfTKwD3-Wvw CRC: 2369020949 --><p>
    A <a class="PresentationName" guid="{21946731-4F5C-4862-8B4D-868629952B92}">User Story</a> is only a token of past and
    future conversation between the customer and the programmers. XP's on-site customer practice minimizes the need to
    document extensively each story as the programmers can simply walk over and ask their questions to the customer as
    needed. <a class="PresentationName" guid="{21946731-4F5C-4862-8B4D-868629952B92}">User Story</a> details are captured
    in automated acceptance tests that are then used to validate the implementation of the story.
</p>
<p>
    It may not be necessary to write a description for all stories as the name of some of the stories might already offer
    enough information.
</p>
<p>
    What makes a good <a class="PresentationName" guid="{21946731-4F5C-4862-8B4D-868629952B92}">User Story</a>?
</p>
<ul>
    <li>
        The customer should care about it. The story should have business value in the customer's eyes so it can be
        prioritized. Sometimes a story needs to be broken down into smaller pieces to fit into an iteration. If by itself
        the story does not provide business value, it should at least provide demonstrable progress toward a feature with
        business value.
    </li>
    <li>
        Stories vertically slice through the product's architecture. They are not usually focused on a specific subsystem.
    </li>
    <li>
        Test cases can be written to verify that the programmers have implemented it correctly.
    </li>
    <li>
        It can be reasonably estimated by the developers. Stories that can't be estimated are rewritten.
    </li>
    <li>
        It can be completed within one iteration. A story that does not fit in an iteration is broken down into two or more
        smaller stories.
    </li>
</ul><!-- END:mainDescription,-rtY57MTVQrEcfTKwD3-Wvw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: purpose<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:purpose,-rtY57MTVQrEcfTKwD3-Wvw CRC: 1599400112 --><a id="XE_user_story__artifact_definition" name="XE_user_story__artifact_definition"></a><a id="Purpose"
name="Purpose"></a><a id="XE_user_story__purpose_of" name="XE_user_story__purpose_of"></a> 
<p>
    A <a class="PresentationName" guid="{21946731-4F5C-4862-8B4D-868629952B92}">User Story</a> represents a small piece of
    functionality of the system being built. It is not a complete specification of a feature. It is a promise to discuss a
    feature or a reminder of the discussion that has already taken place.
</p><!-- END:purpose,-rtY57MTVQrEcfTKwD3-Wvw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: representationOptions<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:representationOptions,-rtY57MTVQrEcfTKwD3-Wvw CRC: 1359127705 --><p>
    Here are some sample stories for a typical on-line store application:
</p>
<p>
    --------------------------------------------------------------------------------<br />
     If the customer has entered a valid Tax Exemption ID, do not charge sales tax.
</p>
<p>
    --------------------------------------------------------------------------------<br />
     If the Customer ID is on the Preferred Customer list, do not charge for shipping, except for Next Day service.
</p>
<p>
    --------------------------------------------------------------------------------<br />
     On the System Status Page, show the number of orders in the past 24 hours, the total revenue, and list the top ten
    items in order of quantity ordered.
</p>
<p>
    --------------------------------------------------------------------------------<br />
     If the delivery address of a purchase is in any of the states in the attached table, calculate, display, and charge
    sales tax using the corresponding percentage.
</p><!-- END:representationOptions,-rtY57MTVQrEcfTKwD3-Wvw -->
</body>
</html>
