Are you overwhelmed by the complexity of quality attributes and how to make sense of them in your software development projects? You’re not alone.
Quality attributes can be challenging to understand and manage, but they are crucial to delivering high-quality software. That’s where the Quality Attributes Organizing Framework comes in.
By categorizing quality attributes into distinct groups, this framework can help you understand and prioritize which attributes are most important for your project and guide your decision-making process. In this article, we will explore the Quality Attributes Organizing Framework and how it can help you to effectively manage quality attributes in your software development projects.
Categories for Organizing Quality Attributes
I find it helpful to organize quality attributes (security, performance, etc.) by the following categories:
- Runtime system qualities
- Non-runtime system qualities
- Business qualities
- Architecture qualities
- Domain specific qualities.
Quality Attribute Examples
This table shows an example of some quality attributes organized by the Quality Attribute Frame:
- Runtime System Qualities: Functionality, Performance, Security, Availability, Usability, Interoperability
- Non-Runtime System Quality: Modifiability, Portability, Reusability, Integratability, Testability
- Business Qualities: Cost and Schedule, Marketability, Appropriateness for Organization
- Architecture Qualities: Conceptual Integrity, Correctness
- Domain Specific Quality: Sensitivity, Calibrability