In Synergistically Employing User Stories and Use Cases in the Practice and Teaching of Systems Analysis and Design, forthcoming in Communications of the Association for Information Systems, Culverhouse’s Dr. Gary Spurrier, along with collaborator Dr. Heikki Topi (Bentley University) investigate the complicated relationship between user stories and use cases in software development requirements analysis. While both techniques define scope as a series of required software features, there are significant differences between the two, and these differences can be confusing to practitioners, and even to information systems instructors teaching Systems Analysis and Design (SA&D).
User stories are short—typically a single line per story—and are typically utilized in Agile development processes, whereas use cases are typically longer, more detailed, and associated with plan-driven development methods. Interestingly, a user story can actually be considered to be brief use case, which accentuates the confusion that exists between the two techniques.
To clarify the relationship and offer a way forward, the researchers outline a short history of both user stories and use cases, highlighting their shared origins. They then seek to find commonalities between the two and argue that in certain situations it makes sense to use the techniques together, employing use cases to elaborate on user stories. The researchers then point out that no detailed, systematic approach to elaborating user stories with use cases has been described in the literature. They then fill that gap by providing a prescriptive, detailed approach to employing user stories and use cases together. Finally, the researchers supply an educational case demonstrating the elaboration approach.
The value of this work is in helping IT software development practitioners strike the optimal balance in software requirements detail: utilizing only user stories in situations in which an Agile approach is appropriate, while adding valuable detail via use cases in situations in which a more plan-driven approach is needed. That’s why it is important to be clear on the strengths and weaknesses of both use cases and user stories, to understand when to use each, and to know how to leverage both together when necessary.