In other news, here’s a question I often get:
Hey Michael, What is the difference between:
- Features
- Use Cases, and
- Requirements?
Here’s my answer. Disclaimer: This is not a universally accepted answer, and you may find other answers on the internet that directly contradict mine. But that’s totally fine, as you and I know they’re all wrong and I’m correct – Yes?!
Onto the answer…
Feature vs. Use Case vs. Requirement
You see, it all starts with user needs. After all, the goal of building (or enhancing) a product is to meet the needs of our users.
- The other goal is to impress our boss’ Portugese water dog – but that is the subject of another post, on my secret blog! 😉
Features:
Once we understand user needs, we translate them into features – one or more features meet one or more user needs.
Features are descriptions of high-level product functionality. Usually a feature is something you’ll print on a detailed datasheet of your product – i.e. to share with your customers and prospective customers.
Use Cases:
We then derive one or more use cases from each feature. A use case defines how a user achieves a goal using our product.
Here’s how use cases are related to requirements:
- Use cases are a way to document a specific type of requirement – called “Functional Requirements”. There are many benefits to using use cases to document functional requirements.
Requirements:
After defining use cases, we define other types of requirements – such as non-functional requirements, UI requirements, etc.
Typical Workflow
In a typical project – we start by understanding user needs. Then we translate needs into features. We then create functional requirements – i.e. use cases – to describe how users will achieve a need using our product. Then we define other types of requirements: non-functional requirements, UI requirements, etc.
For those of you who like pictures, here you go!
Finally, we send all of these to the engineering team – who use them to build an awesome product!
FYI: More than 100 companies (Fortune 500s to growing startups) use Accompa Requirements Management Software to create and manage features, use cases, and requirements right over the web. To find out whether Accompa can help your team too, check out the product tour or request free trial.