Here are the notes I took when reading this InfoQ article, here are the notes I kept :
Example of some NFRs and their consequences in Software Architecture :
- the choice of a given database technology for efficiency
- the choice of a layered architecture for maintainability
In many projects, the software architect was the main source of the NFRs. Some clients never mentioned NFRs.
NFR elicitation is an iterative process that expands along the system life cycle.
In some cases, Functional Requirements comes in UML with no NFR.
Most of the times, NFRs are more tacit or even hidden than documented, mainly because of money.
Validating system behavior against elicited NFRs is difficult.
NFRs drove four types of decisions for the Software Architecture.
- Architectural patterns.
- Implementation strategies.
- Transversal decisions, such as using OSS.
- Technological platforms.