Exploring design quality attributes
Business functionalities of the product take the front seat in terms of importance for the development team. We often focus on meeting the functional requirements of the client and later, after releasing the product, we notice some quality deficiency such as the product is difficult to maintain or to scale. Also, we may end up with performance issues or security breaches. In this section, we will explore the design quality attributes that should be addressed during the software architecture phase.
Maintainability is one of the key software quality attributes. It refers to the ability of the architecture to support future changes in the product behavior such as introducing a feature with new business requirements or modifying an existing one.
Repair philosophy also affects the measurement of this attribute, which refers to the time needed to restore the system after a failure. The more our code is coupled and the components...