Be sure to consider the following types (or classifications) when defining non-functional requirements:
Availability: Degree to which the solution is operable and accessible when required for use, often expressed in terms of percent of time the solution is available
Capacity: Current and anticipated future storage needs
Compatibility: Degree to which the system operates effectively with other components in its environment (e.g., other systems or other hardware components)
Compliance: Regulatory, financial, or legal constraints to which the system is required to conform. This also includes any Service Level Agreements (constraints of the organization being served by the system that are formally agreed to by both the provider and the user)
Interoperability: Extent to which the system is able to couple or facilitate the interface with other systems
Localization: Requirements dealing with local languages, laws, currencies, cultures, spellings, and other characteristics of users, which requires special consideration (also referred to as Environmental)
Maintainability: Ease with which the system can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment
Performance: Degree to which a solution or component performs its designated functions with minimum consumption of resources. Can be defined based on the context or period, such as high-peak, mid-peak or off-peak usage
Portability: Ability and ease of the system to fit in different circumstances, configurations and environments (i.e., Adaptability, Flexibility)
Reliability: Ability of a system to perform its required functions under stated conditions for a specified period of time, such as mean time to failure
Reusability: Extent to which a portion of the system and/or end products can be converted for use in another system
Scalability: Degree to which the system is able to grow or evolve to handle increased amounts of work to support business growth
Security: Measures to ensure that that the system is accessible and usable only in authorized ways by authorized users, in order to protect content or components from accidental or malicious access, use, modification, destruction, or disclosure.
This also includes considerations for Data Integrity”
Supportability: Timely and helpful assistance with usage and operation
Usability: Ease with which a user can learn, remember and use the system. This also includes the appeal of it’s general usage and appearance.
The Non-Functional Requirements Recommendations document provides a list of non-functional requirements generated by the Standards & Architecture boards (along with priorities and sources) to be used or considered.