I’ve been accused of being a shell designer—you start with a machine and enclose it. But in many cases, the shell is essential. A locomotive without a shell would be nonfunctional.
Nonfunctional Requirements (NFRs, or system qualities) describe system attributes such as security, reliability, maintainability, scalability, and usability (often referred to as the “ilities”). They can also be constraints or restrictions on the design of the system (in which they may be referred to as design constraints). These requirements are just as critical as the functional Epics, Capabilities, Features, and ...