blob: e5afb80c4eeaeb084f9f61d466b709c8a60134a5 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ArtifactDescription 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="-rtY57MTVQrEcfTKwD3-Wvw" name="xp_user_story,{21946731-4F5C-4862-8B4D-868629952B92}" guid="-rtY57MTVQrEcfTKwD3-Wvw" changeDate="2006-11-13T14:28:55.298-0800" version="1.0.0">
<mainDescription>&lt;p&gt;
A &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;&gt;User Story&lt;/a&gt; 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. &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;&gt;User Story&lt;/a&gt; details are captured
in automated acceptance tests that are then used to validate the implementation of the story.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
What makes a good &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;&gt;User Story&lt;/a&gt;?
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
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.
&lt;/li&gt;
&lt;li&gt;
Stories vertically slice through the product's architecture. They are not usually focused on a specific subsystem.
&lt;/li&gt;
&lt;li&gt;
Test cases can be written to verify that the programmers have implemented it correctly.
&lt;/li&gt;
&lt;li&gt;
It can be reasonably estimated by the developers. Stories that can't be estimated are rewritten.
&lt;/li&gt;
&lt;li&gt;
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.
&lt;/li&gt;
&lt;/ul&gt;</mainDescription>
<purpose>&lt;a id=&quot;XE_user_story__artifact_definition&quot; name=&quot;XE_user_story__artifact_definition&quot;&gt;&lt;/a&gt;&lt;a id=&quot;Purpose&quot;
name=&quot;Purpose&quot;&gt;&lt;/a&gt;&lt;a id=&quot;XE_user_story__purpose_of&quot; name=&quot;XE_user_story__purpose_of&quot;&gt;&lt;/a&gt;
&lt;p&gt;
A &lt;a class=&quot;PresentationName&quot; guid=&quot;{21946731-4F5C-4862-8B4D-868629952B92}&quot;&gt;User Story&lt;/a&gt; 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.
&lt;/p&gt;</purpose>
<representationOptions>&lt;p&gt;
Here are some sample stories for a typical on-line store application:
&lt;/p&gt;
&lt;p&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
If the customer has entered a valid Tax Exemption ID, do not charge sales tax.
&lt;/p&gt;
&lt;p&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
If the Customer ID is on the Preferred Customer list, do not charge for shipping, except for Next Day service.
&lt;/p&gt;
&lt;p&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
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.
&lt;/p&gt;
&lt;p&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
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.
&lt;/p&gt;</representationOptions>
</org.eclipse.epf.uma:ArtifactDescription>