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