September 2nd, 2014 by inflectra
With this question we ask not only whether there are differences between Use Cases, User Stories (or Scenarios) and requirements but also, if they are different can be used together as part of the same methodology, whether it be traditional or some form of Agile development. Let’s start with Use Cases and User Stories which seem to cause the greatest confusion, no doubt in part because of their similarity in names.
The difference can be boiled down to the problem and solution domains. A well formed User Story deals with only the problem domain; it addresses the need of the user by describing in plain language what the user wants to do. It says nothing at all about the way he will do it. A good Use Case will also talk about what the user wants to do but it will go further by addressing how he will do it as well as all the parameters of the operation and any boundary conditions or interactions with other systems, i.e. the solution domain. Crucially, a Use Case includes the need but not in the same easy to read language of the User Story. The language of the Use Case is more formal with the objective of being comprehensive, which the User Story is not. Which brings us to the applicability of each narrative.
A User Story can be written by a stakeholder or business analyst with little instruction. To write a Use Case requires more appreciation of the Use Case concept, but perhaps more importantly, far more knowledge of the proposed solution. This is because, as we said, a Use Case must be all-inclusive and it must be implementable, which a User Story is not.
Because of the open-endedness of User Stories they work well within Agile methods where the development team will work together with the stakeholders to explore options and refine first the need, or problem described by the User Story and then the solution. A Use Case is self-sufficient and ideally requires no stakeholder discussion. Consequently, Use Cases work well in traditional software development projects in which developers are far more isolated.
Let’s take a simple example to illustrate a User Story and how it differs from a Use Case. It is admittedly not a software example, but it nevertheless illustrates the differences.
The User Story might be: The user wants some chilled water and get is directly from the refrigerator.
The entire development team must work with the stakeholders (users, product owners, business directors, etc.) to ask a series of questions which are not answered by the User Story.
Some questions that might be asked:
Once the answers to these and other questions are understood, tasks can be devised to provide an appropriate solution. A Use Case should already contain answers to all these questions!
So, there are differences and similarities between User Stories and Use Cases, but can they be used together in Agile projects? The answer is yes, provided the User Stories come first and form the basis for the Use Cases which must be developed by the development team as a whole and not solely by the product owner.
What about requirements? Well, User Stories and Use Cases are just two of the many ways that requirements can be expressed, “shall” statements being another. So, all three do the job of specifying a need, just in different ways. Therefore, the myth that User Stories, Use Cases and requirements are totally different is indeed merely a myth. There are some (important) differences, but they all define a problem or a need, just to different degrees and in different ways.
You may also be interested in:
Ask an Inflectra expert:
And if you have any questions, please email or call us at +1 (202) 558-6885
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Exploratory testing capture tool that automatically records your testing activity
Let us deal with the IT pain so you don't have to. Or use on-premise if you prefer.
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum, XP, Kanban and Lean, Waterfall, hybrid, or Scaled Agile Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Our suite of Accelerators speed up your deployment and adoption of our products, increasing your return on investment and reducing the cost of ownership.
We collaborate with a wide range of organizations to bring our customers a range of services (including load testing, training, and consulting), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things, and our leadership team that are committed to building a great company.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We partner with educational institutions and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service. Check out some of our recent awards.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.