Q
Problem solve Get help with specific problems with your technologies, process and projects.

Use cases don't need to include all system functionality details

Use cases are a valuable way to discover functional requirements, but expert Karl Wiegers says you shouldn't rely on them to include enough details about system functionality.

One analyst on my project team thinks we should put every bit of system functionality into a use case. Is that a good idea?
Not in most cases. I've seen many organizations get in trouble when they relied solely on use cases as being "The Requirements." Many analysts have told me that they handed their use cases to their developers, who got the general idea about the system, but the use cases were missing a lot of necessary functionality details the developers had to track down.

I regard use cases primarily as a tool for structuring conversations with users to understand the goals (or tasks) users are trying to achieve with the help of the software system. Use cases also help users envision how they might interact with the system to achieve those goals. From this information, the analyst can derive the necessary functionality that developers must implement to let the users achieve those goals or perform those tasks.

Even a well-written use case does not contain all the functionality developers need to know about, such as how to handle unsatisfied use case preconditions or how to enforce pertinent business rules. Often the analyst already knows about some functionality the system must contain, such as the need to provide login access or other security mechanisms. I see no value in packaging such requirements into a use case.

The ultimate deliverable from requirements development is a software requirement specification that contains the detailed functional requirements, nonfunctional requirements, and other supporting information. Use cases are a valuable way for the analyst to discover functional requirements. But I've never met anyone who found that use cases provided enough details about system functionality for developers to build the software.
This was last published in February 2007

Dig Deeper on Gathering Software Requirements Use Cases

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchMicroservices

TheServerSide.com

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

DevOpsAgenda

Close