Prioritizing Quality Requirements Based on Software Architecture Evaluation Feedback
Quality attributes such as performance, reliability, and maintainability, are crucial for the success of any software system. The software architecture largely influences the quality properties a software system will exhibit. However, while quality requirements are defined in many companies mainly upfront, they are not systematically incorporated during development and thus are often dismissed later. In particular, interdependencies and trade-offs among quality requirements often remain unclear. Major difficulties complicate quality requirements prioritization tasks: first, quality attributes are often pervasive, so that their effect and costs are difficult to estimate in advance. Second, for many types of quality requirements, a value on a continuous scale, such as a response time of 5 seconds, needs to be defined.