Chapter 14: Working with Multiple Quality Attributes

Loading audio…

ⓘ This audio and summary are simplified educational interpretations and are not a substitute for the original text.

If there is an issue with this chapter, please let us know → Contact Us

The text introduces several new categories of concerns, including qualities intrinsic to the architecture itself, such as conceptual integrity (consistency and uniformity in design choices) and buildability (the efficiency and cost required to convert the architecture into a working product). Another critical attribute detailed is development distributability, which mandates designing software subsystems with low coupling to minimize team coordination challenges when development is carried out by globally distributed teams. Furthermore, the chapter highlights system quality attributes—like weight, size, or power output in physical devices—explaining that software architectural decisions often have profound impacts on these constraints, requiring collaboration with system engineers. While ISO/IEC FCD 25010 and other standard QA lists can function as helpful checklists for requirements gathering, the text strongly cautions that these lists are often incomplete, controversial regarding taxonomy and categorization, and fail to capture domain-specific needs like "Iowability". Ultimately, the chapter teaches a three-step method for dealing with novel QAs: first, capture specific scenarios from stakeholders and generalize them to precisely define the attribute; second, model the quality attribute conceptually by identifying the key parameters it is sensitive to and the architectural characteristics that influence those parameters, potentially using established structures like a queuing model; and third, assemble design approaches by enumerating mechanisms and tactics that specifically target the identified parameters, thereby making the design problem manageable.