A Comparison of Use Cases and User Stories

A Comparison of Use Cases and User Stories

Pankaj Kamthan (Concordia University, Canada)
DOI: 10.4018/978-1-4666-5888-2.ch684
OnDemand PDF Download:
No Current Special Offers

Chapter Preview



In the 1990s, a number of limitations of rigidity in approaches for development of certain types of software systems were realized. The drive to cope with these limitations led to the inception of agility.

The Agile Manifesto constitutes the basis for a number of agile methodologies, including Agile Experience Design (AXD), Crystal Clear, Extreme Programming (XP), OpenUP, Scrum, and User-Centered Agile Process (UCAP). In certain cases, such as the Discipline Agile Delivery (DAD) process framework (Ambler & Lines, 2012), elements of multiple agile methodologies have been included.

In general, in software engineering, significant emphasis is placed on requirements engineering in the light of its impact on later phases of software development (Wiegers, 2003). In particular, in agile requirements engineering, the attention is on the problem so as to devise a desirable and viable solution, namely the software system, which can satisfy the stakeholders.

The agile methodology underlying an agile project determines the type of agile requirement to be adopted. For example, in Crystal Clear and OpenUP, an agile requirement can take the form of a use case (Jacobson et al., 1992) and in AXD, XP, Scrum, and UCAP, an agile requirement can take the form of a user story (Cohn, 2004).

Key Terms in this Chapter

Process: A set of interrelated or interacting activities that transforms inputs into outputs for some purpose.

Use Case: A sequence of actions performed by a system, which yields an observable result of value to an actor of the system.

Agile Methodology: A software development methodology based on the Agile Manifesto.

User Story: A high-level requirement statement that contains minimally sufficient information to produce a reasonable estimate of the effort to implement it.

User: An individual who interacts with the software system usually, but not always, with a specific goal.

Software Engineering: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

Artifact: A document or a model produced during software development.

Requirement: A statement which translates or expresses a need and its associated constraints and conditions.

Complete Chapter List

Search this Book: