What is a feature?

A feature is an end-user visible characteristic of a system.

(Pohl2005 p.92)

In Reference [4], we defined features as follows: “a logical unit of behavior that is specified by a set of functional and quality requirements”. The point of view taken there, and in this article, is that a feature is a construct used to group related requirements (“there should at least be an order of magnitude difference between the number of features and the number of requirements for a product family member” [4]). In other words, features are an abstraction from requirements. In our view, constructing a feature set is the first step of interpreting and ordering the requirements. In the process of constructing a feature set, the first design decisions about the future system are already taken. It is important to realize that there is an n-to-m relation between features and requirements. This means that a particular requirement (e.g. a performance requirement) may apply to several features and that a particular feature typically meets more than one requirement


To the index!