What the system must be, not only do.
WHAT FUNCTIONAL REQUIREMENTS DESCRIBE
What the system does.
WHAT QUALITY ATTRIBUTES DESCRIBE
How well it must do it.
WHAT THEY INCLUDE
Performance Availability Security Scalability Maintainability Usability Accessibility Observability
WHY THEY MATTER
They drive architecture more than functional requirements do.
WHAT THAT MEANS
Two systems doing the same thing may need entirely different designs because of these.
WHAT TO ESTABLISH
Specific figures, not adjectives.
WHY
"Fast" is not a requirement. "Responds within a stated time at a stated load" is.
WHAT TO ASK ABOUT EACH
How would we know whether it is met?
WHAT TO PRIORITISE
They conflict. Security constrains usability; availability costs money.
WHAT TO DECIDE
Which matter most for this system.
WHAT TO AVOID
Requiring the highest level of everything.
WHY
It is unaffordable, and it delivers nothing.