Non-functional requirement (NFR)

A non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.

They are contrasted with functional requirements that define specific behavior or functions

Snippet from Wikipedia: Non-functional requirement

In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. They are contrasted with functional requirements that define specific behavior or functions. The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture, because they are usually architecturally significant requirements.

Examples of Non-functional requirments (NFRs):

  • Accessibility
  • Adaptability
  • Auditability and control
  • Availability
  • Backup
  • Capacity
  • Certification
  • Compliance
  • Cost
  • Data integrity
  • Data retention
  • Dependency
  • Deployment
  • Development environment
  • Disaster recovery
  • Documentation
  • Durability
  • Effectiveness
  • Efficiency
  • Emotional factors
  • Environmental
  • Environmental protection
  • Escrow
  • Exploitability
  • Extensibility
  • Failure management
  • Fault tolerance
  • Integrability
  • Internationalization
  • Interoperability
  • Legal
  • Licensing
  • Life-cycle cost
  • Localization
  • Maintainability
  • Manageability
  • Management
  • Modifiability
  • Network topology
  • Open source
  • Operability
  • Patent-infringement
  • Performance
  • Platform compatibility
  • Portability
  • Privacy
  • Quality
  • Readability
  • Recoverability
  • Regulatory
  • Reliability
  • Reporting
  • Resilience
  • Resource constraints
  • Response time
  • Reusability
  • Robustness
  • Safety
  • Scalability
  • Security
  • Serviceability
  • Software
  • Stability
  • Supportability
  • Testability
  • Throughput
  • Transparency
  • Usability
  • Volume