Well - we are trying to describe words and provide some definitions and the problem is that most of these terms do not appear in the Webster Dictionary thus we all tend to have slightly different points of view as to what these things are. Here are some thoughts...
First of all we have Requirements and BABOK® Guide, Version 2.0, states:
“A requirement is:
1. A condition or capability needed by a stakeholder to solve a problem or achieve an objective.
2. A condition or capability that must be met or possessed by a solution or solution component to satisfy a contract, standard, specification, or other formally imposed documents.
3. A documented representation of a condition or capability as in (1) or (2).”
As you can see, the definition is broad (on purpose) as there are many ways to categorize requirements depending on what you are trying to communicate. So what we do is add various adjectives to the word "requirements" to refer to something more specific.
One thing we want to describe is the source of the requirements such as:
- Business Requirements - these come from the line of business and are the needs of the business including what problems do we need to solve or what opportunities do we want to seize. Ideally, the documented business requirements would be solution agnostic (but we all know that is not always the case).
- Legal Requirements - these are requirements that come from laws which govern a specific business' operations and with which the business must comply unless they want to risk fines and even criminal charges.
- Regulatory Requirements - these are requirements what come from bodies which regulate a specific industry and which issue rules and guidance on how companies in a specific domain must conduct itself. While not as strong as legal requirements, non-compliance with these types of rule can lead to fines and all civil lawsuits.
- etc.
At different times we try to categorize requirements by attributes or characteristics such as in Functional Requirements vs. Non-Functional Requirements.
- Functional Requirements - requirements which call for action aka the people/process/system is called to "do" something (ex: respond to customer complaints, generate monthly statements, notify government of non-compliance, etc.)
- Non-Functional Requirements - requirements which specify "properties" or characteristics that the end solution must have (ex: financial data must be secure, system must be redundant, font size must be 12 points of greater, etc.). Note that there are also many categories of non-functional requirements such as:
- Security Requirements
- Performance Requirements
- Scalability Requirements
- etc.
The fact that a requirement is labeled one way it does not exclude it from also being referred by a different name. For example: a "business requirement" can also be a "functional requirement", a "regulatory requirement" can also be a "non-functional" requirement.
And now a quick word on functional specifications. Functional specifications tend to specify how the functional requirements are implemented by the solution. The functional specification document would address functional requirements regardless of the source (business requirements vs. legal requirements, etc.). Similarly, a supplemental specification document would address the non-functional requirements regardless of the source.
Hope this helps!
- Adrian