Identifying non-functional requirements
Non-functional requirements specify the quality attributes of the underlying system. They are not easy to capture and not always obvious. Many of the non-functional requirements come to light only during the testing phase and especially during regression/load/stress testing. The objective of these requirements is to enable the sustained availability, reliability, and performance of the software. They help you ensure a good user experience and ease of system usage.
Take a look at the following diagram:
Figure 6.2 – Process flow – opportunity product alignment example (non-functional)
It gets easier to identify non-functional requirements if you draw out a flow chart and analyze it from start to end. At each step, we must analyze the non-functional aspects of every step in the flow for performance (the response time during peak usage), reliability (whether it’s reliable on mobile devices), availability...