About the terminology:
- A requirementrequirement expresses a need or a constraint that the system has to fulfil, in principle independently of the solution that will be chosen. Example Examples: "The system shall allow only valid contract types to be entered", "The system shall facilitate the analysis of contractual trends".
- A featurefeature is about something that the system offers: it's parta part of the solution, regardlessexpressed independently of the underlying user needs it adresses. ExampleExamples: "AConfigurable drop-down list provides a choice between possibleof contract types", "A trend report provides an overview of the monthly evolution of contracts by type" . May be thisHopefully a feature addresses one or several requirementsneeds, maybe nonebut maybe not.
- An objectiveobjective, is something that business actors are expected to achieve. It's "why" people are doing things and have requirements. An objective of a clerk in a law firm, could for example be to prepare contracts. If the software shall help in this objective, it will have to fulfill a requirement, and it can provide some features to facilitate the tasks needed to fulfill the objective.
This is the theory. But in In practice, it'srequirements are often difficult to distinguish the requirement from theexpressed as a desired feature. It's often easier for a user to think of a feature rather than to abstract the requirementunderlying needs:
- It has the advantage of a clearfacilitating the understanding of the expectations, and the quick agreement on the target solution.
- It has the drawback that potential alternative solutions (otherare ignored, in particular those features that wouldcould better address the same underlying requirement (in our examples an interactive "trend analyser" with graphical trends and drill-down could better address the analysis needs than a simple "trend report") are ignored (I'm thinking now for the reason of all thesebtw I'm still wondering why there are so many calendar picker that forcepickers around there: it's a nice feature to ensure a valid date, but it forces me to use the mouse to scroll 50 years backwards, when I could just have entered the birth year in four keystrokes ;-))