| <?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\tasks\estimate_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: estimate_user_story.xmi<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: presentationName<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:presentationName,{23A924D3-5989-40DD-86A9-9D8FCFB8AE52} CRC: 81155209 -->Estimate User Story<!-- END:presentationName,{23A924D3-5989-40DD-86A9-9D8FCFB8AE52} --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: purpose<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:purpose,-Z9xFd9JTnJuNN5S27p06UQ CRC: 1055660372 --><a id="XE_estimate_user_story__activity_definition" name="XE_estimate_user_story__activity_definition"></a> |
| <ul> |
| <li> |
| Provide a high-level estimate that will be used in release planning. |
| </li> |
| </ul><!-- END:purpose,-Z9xFd9JTnJuNN5S27p06UQ --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: name<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:name,_oEqVQGE-EdqnIZeW8YpHcA CRC: 1251240587 --> Understand the User Story <!-- END:name,_oEqVQGE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: sectionDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:sectionDescription,_oEqVQGE-EdqnIZeW8YpHcA CRC: 1827737621 --><a id="Step1" name="Step1"></a> |
| <p> |
| To provide an estimate that is fairly accurate, the developers need to have a good grasp of the story. During release |
| planning, the customer describes each user story and presents acceptance test criteria. The developers can ask |
| questions until they are satisfied that they understand the most important aspects of what the customer is asking for. |
| Avoid analysis paralysis; there are many stories. |
| </p><!-- END:sectionDescription,_oEqVQGE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: name<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:name,_oEqVQWE-EdqnIZeW8YpHcA CRC: 2107401795 --> Discuss Possible Implementations <!-- END:name,_oEqVQWE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: sectionDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:sectionDescription,_oEqVQWE-EdqnIZeW8YpHcA CRC: 713643052 --><a id="Step2" name="Step2"></a> |
| <p> |
| Sometimes the team can just estimate the story from their gut. Other times the story may not quite fit prior |
| experiences, and the team may have to explore potential design alternatives. Do not settle on a specific design. If |
| competing ideas take about the same amount of time, pick an estimate and move on to the next story. Avoid analysis |
| paralysis; there are many stories. |
| </p> |
| <p> |
| When there is deep uncertainty, the team can request the time to do some research (spike) in order to give a more |
| realistic estimate. |
| </p><!-- END:sectionDescription,_oEqVQWE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: name<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:name,_oEqVQmE-EdqnIZeW8YpHcA CRC: 875500262 --> Give an Estimate Based on Experience <!-- END:name,_oEqVQmE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: sectionDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:sectionDescription,_oEqVQmE-EdqnIZeW8YpHcA CRC: 210003628 --><a id="Step3" name="Step3"></a> |
| <p> |
| If the team has done similar work before, they simply extrapolate from previous work. For work the team is unfamiliar |
| with, a spike can provide just enough information to know what is possible and how long the effort is likely to last. |
| An experienced XP team can estimate most stories in a few minutes or less. Avoid analysis paralysis; there are many |
| stories. |
| </p><!-- END:sectionDescription,_oEqVQmE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: name<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:name,_oEqVQ2E-EdqnIZeW8YpHcA CRC: 2082778146 --> Ask the Customer to Split the Story <!-- END:name,_oEqVQ2E-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: sectionDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:sectionDescription,_oEqVQ2E-EdqnIZeW8YpHcA CRC: 1190789255 --><a id="Ask" name="Ask"></a> |
| <p> |
| Story estimates should not exceed the iteration duration for a pair of programmers. If the estimate is too big, have |
| the customer split the story. People are better at estimating smaller pieces of work. Long estimates tend to go over |
| budget. It would not be uncommon to take a four-week story and break it down only to discover it is four two-week |
| stories. |
| </p><!-- END:sectionDescription,_oEqVQ2E-EdqnIZeW8YpHcA --> |
| </body> |
| </html> |