{'fraction_non_alphanumeric': 0.021314387211367674, 'fraction_numerical': 0.0, 'mean_word_length': 5.155737704918033, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The Power of Stories

This paper explores the differences between Use Cases and Stories in Extreme Programming (XP) in incremental software development. The objective of this comparison is to dispel misconceptions about the definition of Use Cases and XP Stories. Better understanding of those differences will lead to their more effective use in the context of incremental development. In classic software development processes, software requirements are specified “upfront” as documents feeding into a linear “waterfall” of development activity. Both Use Cases and XP Stories provide a means to separate out independent functional requirements, which is an essential step to developing software incrementally. It appears that Use Cases and XP Stories have a common purpose, to describe functional requirements. For this reason, it may appear that the chief difference between these methods of requirements capture is the level of detail (or precision) in their respective textual descriptions. On this basis of comparison, an XP Story written on an index card might be considered to be a “light-weight" or “cut-down” description of a Use Case scenario, with fewer words and less formal constraints. However, the purpose of the XP Story is not to document requirements but to enable incremental software development to proceed in an environment where requirements change is expected. This paper asserts that the key differentiating factor between Use Cases and XP Stories is the way that their scope is determined and not the level of detail in their description. In XP, Stories are by defin ition time -bounded (in estimated development time) to enable their complete implementation in a single iteration. In contrast, the scope of a Use Case depends on applying an abstract definition, concerning system interaction with external actors, to the development domain. The definition that is used to identify Use Cases is independent of any time considerations, such as estimated development time or development iteration planning. This paper suggests that it is the “time-boxed” aspect of XP Stories that makes the activity of writing them, in the context of the Planning Game, such a powerful driver in the planning of software development iterations.