Features vs Requirements - Requirements Management Basics
By Michael Shrivathsan on Jul 13, 2009 in Requirements Management Basics, Tutorial
One of the questions that seems to frequently come up in my discussions these days is:
What’s the difference between a Requirement and a Feature?
Let me try and explain this difference in this short blog post.
What is a Requirement?
One of my favorite books on requirements, “Software Requirements,” by Karl Wiegers defines a requirement as follows:
A statement of a customer need or objective, or of a condition or capability that a product must possess to satisfy such a need or objective.
Another of my favorite books on requirements, “Mastering the Requirements Process,” by Suzanne & James Robertson defines a requirement as follows:
A requirement is something the product must do or a quality it must have.
Great definitions, both. Taking these into account, I’d define it as follows:
A requirement is a capability that a product must possess or something a product must do in order to ultimately satisfy a customer need.
A requirement tends to be more granular, and is usually written with the implementation in mind. Those who consume requirements tend to be engineers or technical audience.
What is a Feature, Then?
Again, culling from the books linked above, I’d define a feature as follows:
A feature is a set of related requirements that allows the user to satisfy a business objective or need.
A feature tends to be a “higher-level” objective than a requirement - and is usually more focused on business needs rather than implementation.
Usually a feature is something you’ll print on a detailed datasheet of your product/service - i.e. intended to be shared with your customers and prospective customers.
An Example
Do you find the definitions above a little hazy? Here’s an example to help give you a more tangible feel. Let’s say you’re designing an online bookstore to compete with Amazon. [P.S. I wish you good luck, you’re gonna need it!
]
For such a project, here’s an example of a feature:
- 1-Click Ordering
Here are some examples of requirements related to this feature:
- User shall be able to activate 1-click ordering within his account
- User shall be able to deactivate 1-click ordering within his account
- User shall be able to order books with just 1 click
- …
- User shall be able to “Undo” his 1-click order for a period of 30 minutes from the time he placed such an order
I hope you find this brief blog post helpful to understand the distinction between a requirement and a feature.
Please chime in with your thoughts or perhaps an even better definition - click here to let your thoughts known…

1. Steve Johnson | Jul 30, 2009 | Reply
The IEEE definition of requirement is “A requirement BOUNDS a problem for which a solution will be pursued.”
A requirement is the problem to be solved; a feature is the specification of how the problem will be solved.
More on this in my article “On Reqs and Specs” at http://www.pragmaticmarketing.com/publications/topics/02/0204sj
2. accompa | Jul 30, 2009 | Reply
Hey Steve - Thanks for adding to this topic, appreciate it very much.
- Raj
3. hec | Sep 10, 2009 | Reply
Hey Steve
funny definition “requirement=problem” (to be solved), that’s an awful and self-confused explanation, as a requirement is not a problem. You dont need to be a sw developer to know that. dont they know about dictionaries beore attempting to define!!/ and the scientific basic principle of using foundations (basic and agreed concepts) before building new concepts and extending theory, shame on IEEE. they should have at least 1 single competent scientific engineer to asses them before increasing confusion with absurd meanings.
On the other hand the definitions used by Micheal are simply spot on, he does seem to know the meaning of the word “requirement” indeed; and bring it the context of production systems whatever the product/service is!!! “capability that a product must possess” “statement of a customer need”. SPOT ON