Exploring quality attributes
When building an application or a system, you are always confronted with both functional requirements (FRs) and non-functional requirements (NFRs). FRs are emitted by business users and business analysts, and they describe the features that must be developed or made available. NFRs are most of the time expected, but not directly expressed by the business. Indeed, every user wants to have a performant, reliable, and always available application. Similarly, every user assumes that the application/system is safe and respects their privacy, but all of this comes at a price, and the extent to which you want to respond to these NFRs will impact the cost and time dimensions. The systems you integrate with, the hosting platform you choose to host the asset, and many other factors could make it hard to achieve the NFRs.